我正在尝试按月份将两列除以按其区域分组的数量。
我的数据集如下:
month Amount Region
10 2 APAC
20 5 EMEA
10 3 APAC
10 4 NA
4 3 NA
我尝试了下面的代码,但是它给了我错误的答案
a <- t(aggregate(data$month/data$Amount, by=list(region=data$Region), FUN=sum))
我得到以下结果:
[,1] [,2] [,3]
region "APAC" "EMEA" "NA"
x "8.333333" "4.000000" "3.833333"
所需的输出是:
[,1] [,2] [,3]
region "APAC" "EMEA" "NA"
x "4 "4" 3"
但是它不正确。谁能告诉我我要去哪里错了?
答案 0 :(得分:0)
我们可以先在<a...>W3Schools<img...></a>
中添加NA
级别,然后在Region
之前加上aggregate
并取Region
,最后将各列分开。
sum
与df$Region <- addNA(df$Region)
df1 <- aggregate(.~Region, df, sum)
df1$output <- df1$month/df1$Amount
df1
# Region month Amount output
#1 APAC 20 5 4
#2 EMEA 20 5 4
#3 <NA> 14 7 2
相同的操作可以
dplyr