我正在尝试做类似的事情: 我有这个数据框
Name Distance
James 2
James 1
Maria 5
Thomas 2
Thomas 1
James 4
如果有帮助,我也有包含所有名称的数据框。
检索3个独立的数据帧,如下所示:
James 2 1 4
Thomas 2 1
Maria 5
请注意,我不想总结它,只是获取值,而列表中的名称要长得多,所以逐个进行操作并不是最佳的。
答案 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
希望这有帮助!