簡體   English   中英

R function 用於將 data.table 轉換為命名向量的命名列表

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM