我有一个数据框,例如
id <- c(1,1,1,2,2,3,3,3,3)
element <- c(25122,356,4454,5432,342340,12443,12354,123536,234134)
df <- data.frame(id = as.factor(id), element)
我想创建一个id
组的列表及其对应的element
,例如:
dflist <- list(c(25122,356,4454), c(5432,342340), c(12443,12354,123536,234134))
答案 0 :(得分:4)
我们可以使用split
unname(split(df$element, df$id))
或unstack
unname(unstack(df, element ~id))
答案 1 :(得分:1)
以下是tapply的解决方案:
library(magrittr)
df %$% tapply(element,id,list)
(元素以id命名,如果是问题则添加%>% unname
)