我有一个Dataset,我想计算每个分数组(1-10)中KPI、CPM和CPC列以及计数次数列的平均值。
如何根据结果创建新表?
新表如下所示:
score avg_KPI avg_CPC avg_CPM count_times
10
9
8
7
6
5
4
3
2
1
我尝试使用 For 方法,但它不起作用,
for (i in 1:10) {
aa <- subset(dataset1,score== i )
macroAvgs<-colMeans(aa[,2:4])
df <- rbind(score="i",KPI=macroAvgs[1],CPC=macroAvgs[2],CPM=macroAvgs[3],times=count(aa[5])
}
假设您的数据位于名为 df 的 data.frame 中,您只想要这个吗?
library(data.table)
setDT(df)[ ,.(lapply(.SD, mean), .N), by = score, .SDcols = c("KPI", "CPM", "CPC")]
或者你想要这个吗?
library(dplyr)
group_by(df, score) %>%
summarise(Mean_KPI = mean(KPI),
Mean_CPC = mean(CPC),
Mean_CPM = mean(CPM),
Sum_times = sum(times))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)