我想创建一个命名列表,其中每个名称都有多个值。如果每个名称都有一个值,我只能找到如何执行此操作。我现在使用的解决方案是
df <- data.frame(col1=c('a','a','b','b'), col2=c(1,2,3,4))
l <- list()
for(letter in unique(df$col1)){
l[[letter]] <- df[df$col1==letter,]$col2
}
> l
$a
[1] 1 2
$b
[1] 3 4
Run Code Online (Sandbox Code Playgroud)
但有什么更好的方法可以做到这一点?
我们可以使用split返回 a named listof vectors
split(df$col2, df$col1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1352 次 |
| 最近记录: |