![](/img/trans.png)
[英]set multiple columns in R `data.table` with a named list and `:=`
[英]R function for converting data.table to named list of named vectors
例如,我正在寻找 R function ,它会在合理的时间内转换 data.table (实际上有许多 1000 条目):
id num1 name
id1 1 a
id1 5 f
id1 8 y
id1 5 z
id2 2 w
id2 5 k
id2 6 l
到“num1”列的“name”列向量的“id”列的命名列表。
Output(列表)看起来像这样:
$id1
a f y z
1 5 8 5
$id2
w k l
2 5 6
预先感谢您的帮助。
您可以split
并使用setNames
来获取命名向量
lapply(split(df, df[[1]]), function(x) setNames(x$num1, x$name))
#$id1
#a f y z
#1 5 8 5
#$id2
#w k l
#2 5 6
就像@StudidWolf 建议的那样,我们也可以by
这里使用。
by(df,df$id,function(x) setNames(x$num1,x$name))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.