列出具有来自另一个数据帧的所有出现的向量

时间:2018-06-14 05:27:48

标签: r vector

我正在尝试做类似的事情: 我有这个数据框

Name   Distance  
James  2
James  1
Maria  5
Thomas 2
Thomas 1
James  4

如果有帮助,我也有包含所有名称的数据框。

检索3个独立的数据帧,如下所示:

   James  2 1 4
   Thomas 2 1
   Maria  5

请注意,我不想总结它,只是获取值,而列表中的名称要长得多,所以逐个进行操作并不是最佳的。

1 个答案:

答案 0 :(得分:1)

我的建议是不将结果存储在data.frame中,而是存储在列表中,因为结果会有不同的维度。您可以使用

获取所需的列表
my_list = split(df$Distance,df$Name)

返回:

$`James`
[1] 2 1 4

$Maria
[1] 5

$Thomas
[1] 2 1

然后,例如,您可以将单个人的结果作为

my_list[['James']]
> 2 1 4

或者用

获得每个人的总和
lapply(my_list,sum)

返回:

$`James`
[1] 7

$Maria
[1] 5

$Thomas
[1] 3

希望这有帮助!