R 从每个名称具有多个值的两列中创建命名列表

R 从每个名称具有多个值的两列中创建命名列表,r,list,R,List,我想创建一个命名列表,其中每个名称都有多个值。只有当每个名称都有一个值时,我才能找到如何执行此操作。我现在使用的解决方案是 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

我想创建一个命名列表,其中每个名称都有多个值。只有当每个名称都有一个值时,我才能找到如何执行此操作。我现在使用的解决方案是

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

df我们可以使用
split
返回
向量的
列表

split(df$col2, df$col1)