R-如何通过自定义计算使用group by
假设我有以下示例数据:R-如何通过自定义计算使用group by,r,loops,group-by,square-root,R,Loops,Group By,Square Root,假设我有以下示例数据: ID Group Score 1 A 1 2 A 3 3 A 2 4 B 5 5 B 1 6 C 1 7 C 2 8 C 4 9 D 1 10 D 3 我想通过自定义计算使用group by:每组内每个分数平方和的平方根。 ID是唯一的。(每行都是唯一的) 有100多个小组 计算基于可变“分数” 每组中的行数不同 例如,在最终输出中,只有两列: Group AdjustedScore A 3.74 **Square root of (1
ID Group Score
1 A 1
2 A 3
3 A 2
4 B 5
5 B 1
6 C 1
7 C 2
8 C 4
9 D 1
10 D 3
我想通过自定义计算使用group by:每组内每个分数平方和的平方根。
- ID是唯一的。(每行都是唯一的)
- 有100多个小组
- 计算基于可变“分数”
- 每组中的行数不同
Group AdjustedScore
A 3.74 **Square root of (1+9+4)
B 5.09 **Square root of (25+1)
C 4.58 **Square root of (1+4+16)
......
......
如何在R中实现这一点?我不擅长R,谢谢您的帮助。您可以使用:
library(dplyr)
df %>% group_by(Group) %>% summarise(Score = sqrt(sum(Score^2)))
# Group Score
# <chr> <dbl>
#1 A 3.74
#2 B 5.10
#3 C 4.58
#4 D 3.16
或使用数据。表:
aggregate(Score~Group, df, function(x) sqrt(sum(x^2)))
library(data.table)
setDT(df)[, sqrt(sum(Score^2)), Group]