[英]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.