将两列按R中的区域分组

时间:2019-06-11 09:46:21

标签: r division

我正在尝试按月份将两列除以按其区域分组的数量。

我的数据集如下:

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"

但是它不正确。谁能告诉我我要去哪里错了?

1 个答案:

答案 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