列表我怎麼能轉換data.frame轉換一個data.frame到列表
df <- data.frame(id=c("af1", "af2"), start=c(100, 115), end=c(114,121))
要
LoL <- list(list(id="af1", start=100, end=114), list(id="af2", start=115, end=121))
我已經試過像
not.LoL <- as.list(as.data.frame(t(df)))
東西列出清單
而且我真的不確定在這之後我最終會得到什麼,但它並不完全正確。我的要求是,我可以第一start
通過命令來訪問,說,
> LoL[[1]]$start
[1] 100
的not.LoL
,我現在有給我下面的錯誤:
> not.LoL[[1]]$start
Error in not.LoL[[1]]$start : $ operator is invalid for atomic vectors
說明和/或解決方案,將極大地讚賞。
編輯:我應該明確指出,這裏的「id」實際上是非唯一的 - 在一個ID下可以有多個元素。所以我可以用不依賴唯一ID的解決方案來解決split
。
可能重複[重塑矩陣到列表中](http://stackoverflow.com/questions/9195112/reshape-matrix-into-a-list-of-lists) – agstudy
@agstudy:不是重複的:那個是關於粗糙的數組和'tapply',而這裏的這個看起來是矩形的,因此可以使用'lapply'來解決(如下所示)(http://stackoverflow.com/a/14730102/1468366)。 – MvG
@MvG No。看到第一個解決方案,他提出了2個解決方案,其中一個採用'lapply',這顯然與此處提出的解決方案相同。第二個答案使用dlply就像我的這裏。 – agstudy