【发布时间】:2018-03-30 22:02:53
【问题描述】:
假设我们有一个 DF,其受尊重的 UserID 有重复但命名不同,当然也可以是重复的。
DF <- data.frame(ID=c(101,101,101,101,101,102,102,102,102),
Name=c("Ed","Ed","Hank","Hank","Hank","Sandy","Sandy","Jessica","Jessica"),
Class=c("Junior","Junior","Junior","Junior", "Junior","High","High","Mid","Mid"),
Scoring=c(11,15,18,18,12,20,22,25,26), Other_Scores=c(15,9,34,23,43,23,34,23,23))
目的是分别聚合和计算用户 ID 及其名称的均值和标准差。所需的输出示例:
UserID Name Class Scoring_mean Scoring_std
101 Ed Junior 12.5 3
101 Hank Junior 24.67 11.62
102 Sandy High 24.75 6.29
102 Jessica High 24.25 1.5
因此我的问题是:
- 有哪些选项可以根据 UserID 聚合名称,而不会丢失信息(Hank 被强制转换为 Ed 等,如 summarise() 或 mutate() )
在我看来,R 必须检查哪个 Name 对应于 UserID,以及是否匹配;聚合并计算均值和标准差,但我无法使用 dplyr 在 R 中使用它。
同时我找不到与这个问题有些相关的任何其他帖子,例如:
【问题讨论】:
-
群组
paste(UserID, Name)?