R 列出另一个数据帧中所有发生的向量
我正在尝试做一些类似的事情: 我有这个数据框R 列出另一个数据帧中所有发生的向量,r,vector,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 请注意,我不想求和,只需获取值,列表中的名称要长得多,因此逐个进行不是最佳选择。我的建议是不要将结果存储在data.frame中,而是存储
Name Distance
James 2
James 1
Maria 5
Thomas 2
Thomas 1
James 4
如果有帮助的话,我还有一个包含所有名字的数据框
并检索3个单独的数据帧,如下所示:
James 2 1 4
Thomas 2 1
Maria 5
请注意,我不想求和,只需获取值,列表中的名称要长得多,因此逐个进行不是最佳选择。我的建议是不要将结果存储在
data.frame
中,而是存储在列表中,因为结果将具有不同的维度。您可以通过以下方式获得所需列表:
my_list = split(df$Distance,df$Name)
返回:
$`James`
[1] 2 1 4
$Maria
[1] 5
$Thomas
[1] 2 1
$`James`
[1] 7
$Maria
[1] 5
$Thomas
[1] 3
然后,例如,您可以将单个人员的结果作为
my_list[['James']]
> 2 1 4
或者得到每个人的总数
lapply(my_list,sum)
返回:
$`James`
[1] 2 1 4
$Maria
[1] 5
$Thomas
[1] 2 1
$`James`
[1] 7
$Maria
[1] 5
$Thomas
[1] 3
希望这有帮助 您指的是将数据帧从长格式转换为宽格式吗?“并检索3个单独的数据帧”,因此输出应为三个单独的
data.frame
s,每行一行?我很困惑,因为您的预期输出看起来像一个单独的data.frame
split(df$Distance,df$Name)
不返回data.frame,但在这里似乎有意义。这有帮助吗?或者像这样的聚合(Distance~Name,df,paste0,collapse=“”)?我想要不同的数据。帧,因为它们将具有不同的维度@毛里塔尼亚说,这几乎是我想要的,但结果都在一个地方,我需要进一步治疗他们