我有嵌套的列表數據需要在所需的輸出表示,或者矩陣像對象或只是直接導出這些嵌套列表爲csv文件。我嘗試了幾種通用的方法來完成這項任務,但是導出嵌套列表的方式並不順利,所以我正在尋找將嵌套列表轉換爲矩陣或像表格一樣的解決方案,以便以期望的方式保存數據。也許我可以在data.table中保存嵌套列表數據,但對此不太確定。誰能告訴我如何輕鬆做這種操作?如何爲嵌套列表數據實現乾淨,結構良好的數據表示?任何想法 ?非常感謝如何將嵌套列表轉換爲矩陣狀或表格狀對象?
迷你例如:
自定義函數的輸出:
AcceptedList <- list(
A_accepted = data.frame(pos.start=c(1,6,16), pos.stop=c(4,12,23), pos.ID=c("A1","A2","A3"), pos.score=c(11,8,13)),
B_accepted = data.frame(pos.start=c(7,19,31), pos.stop=c(13,28,43), pos.ID=c("B3","B6","B7"), pos.score=c(12,5,7)),
C_accepted = data.frame(pos.start=c(5,21,36), pos.stop=c(11,29,42), pos.ID=c("C2","C4","C9"), pos.score=c(7,13,9))
)
RejectedList <- list(
A_rejected = data.frame(pos.start=c(6,25,40), pos.stop=c(12,33,49), pos.ID=c("A2","A5","A8"), pos.score=c(8,4,7)),
B_rejected = data.frame(pos.start=c(15,19,47), pos.stop=c(18,28,55), pos.ID=c("B4","B6","B9"), pos.score=c(10,5,14)),
C_rejected = data.frame(pos.start=c(13,21,36,53), pos.stop=c(19,29,42,67), pos.ID=c("C3","C4","C9","C12"), pos.score=c(4,13,9,17))
)
讓我實現這個功能,以進一步控制輸出的一個步驟:
func <- function(mlist, threshold) {
res <- lapply(mlist, function(x) {
splt <- split(x, ifelse(x$pos.score >= threshold, "up", "down"))
})
return(res)
}
#example
.res_accepted <- func(AcceptedList, 9)
.res_rejected <- func(RejectedList, 9)
我有困難時期如何將嵌套列表.res_accepted, .res_rejected
作爲矩陣狀對象。理想情況下,將嵌套列表導出爲csv文件非常值得期待,但我未能以期望的方式導出它們。我怎樣才能做到這一點?
最終,以期望命名爲CSV文件所需列表如下:
A_accepted_up.csv
A_accepted_down.csv
A_rejected_up.csv
A_rejected_down.csv
B_accepted_up.csv
B_accepted_down.csv
B_rejected_up.csv
B_rejected_down.csv
C_accepted_up.csv
C_accepted_down.csv
C_rejected_up.csv
C_rejected_down.csv
的一點是,通過我的自定義函數返回嵌套列表,所以我打算直接出口或將它們扔在像矩陣對象也是如此。任何想法這種操縱?謝謝:)
非常感謝。這正是我想要做的。非常感謝:) – Jerry
我想通了的作用。再次感謝您的貢獻:) – Jerry