我有一个Spark Dataframe,下面的结构存在于R: -
Var1----- Var 2----- Var 3 ------- Var 4----- Group
98.64---- 32.35---- 11906.91-- 08.65----- A
94.83---- 29.36---- 17287.57-- 06.01----- B
99.94---- 35.36---- 30411.85-- 08.82----- C
99.45---- 34.58---- 18267.26-- 10.09----- C
99.93---- 36.64---- 23560.04-- 07.34----- A
99.66---- 48.81---- 42076.44-- 08.44----- B
99.96---- 27.38---- 18474.01-- 11.39----- A
97.49---- 25.28---- 14615.50-- 06.60----- B
98.98---- 32.50---- 10282.90-- 07.71----- C
99.57---- 31.54---- 12725.56-- 06.17----- C
99.91---- 26.46---- 10990.13-- 06.17----- C
这是我的代表性数据集,记录数量非常巨大。同样,列数也超过200个。
有人可以帮助我使用以下结果集。对于R中的本地数据帧,使用DPLYR执行此操作非常简单。但是在Spark Dataframe上工作似乎
Group Average_Var1 Average_Var2 Average_Var3 Average_Var4
A ----- 99.51 ------------ 32.13 ---------- 17980.34 ----- 9.13
B ----- 97.32 ------------ 34.42 ---------- 24659.83 ----- 6.89
C ----- 99.57 ------------ 32.10 ---------- 16535.54 ----- 7.78
答案 0 :(得分:1)
使用sparklyr
试试这个:
df%>% group_by(Group)%>% summarize_all(.funs = mean)
答案 1 :(得分:0)
> aggregate(df[, 1:4], list(df$Group), mean)
Group.1 Var1 Var.2 Var.3 Var.4
1 A 99.51612 32.13070 17980.34 9.130542
2 B 97.32882 34.48923 24659.84 6.874534
3 C 99.57542 32.10916 16535.54 7.787882
答案 2 :(得分:0)
基本函数by
可与colMeans
一起使用,如下所示:
by(df[, 1:4], df[,"Group"], colMeans)
输出:
df[, "Group"]: A
Var1 Var2 Var3 Var4
99.516118 32.130696 17980.341453 9.130542
-----------------------------------------------------------
df[, "Group"]: B
Var1 Var2 Var3 Var4
97.328825 34.489235 24659.840630 6.874534
-----------------------------------------------------------
df[, "Group"]: C
Var1 Var2 Var3 Var4
99.575422 32.109159 16535.543470 7.787882