如何转换 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
。