我正在寻找从R。
中的数据框创建列表我的数据框看起来像这样:
Name Age
1 John 30
2 Dan 40
3 Charlie 20
...(few thousand rows)...
我正在尝试生成一个列表,列表中的键是数据框中的名称,每个键/名称都指向list(age=30)
最后,我正在寻找像
这样的东西 > str(list(John=list(age=30),Dan=list(age=40),Charlie=list(age=20),...))
List of 3
$ John :List of 1
..$ age: num 30
$ Dan :List of 1
..$ age: num 40
$ Charlie:List of 1
..$ age: num 20
...
答案 0 :(得分:3)
您可以合并split
,lapply
和as.list
:
lapply(split(df, df$Name), function(x)as.list(x[-1]))
#$Charlie
#$Charlie$Age
#[1] 20
#$Dan
#$Dan$Age
#[1] 40
#$John
#$John$Age
#[1] 30
答案 1 :(得分:1)
z <- lapply(df$Age,function(x)list(age=as.numeric(x)))
names(z) <- df$Name
str(z)
# List of 3
# $ John :List of 1
# ..$ age: num 30
# $ Dan :List of 1
# ..$ age: num 40
# $ Charlie:List of 1
# ..$ age: num 20