聚合后获取单独列的唯一值

时间:2018-02-07 00:58:09

标签: r

我正在使用aggregate来获取由其他三个值确定的值的平均值。我还想了解有多少值符合这三个标准。

例如,我有df:

df <- data.frame(id = c(1,1,1,2,2,2,3,3,3,3),
             col1=sample(1:10, 10, replace = TRUE),
             col2 = c(1,2,1,2,1,1,2,2,2,1), 
             col3 = c("a","b","c", "b","a","a","b","a","c","a"),
             col4 = c("yes","no","no", "no","yes","yes","yes","no","no","yes"))

我运行aggregate以获得每个独特事件的均值,例如:

df_agg <- aggregate(col1~col2+col3+col4, df, FUN = mean)

我想知道的是,除了col2 =1, col3=a, col4=yes行的平均值之外,还有3个符合条件的唯一id值。基本上是样本大小或n个数字,但是是唯一值。我尝试了df_agg <- aggregate(id~col2+col3+col4, df, FUN = length),但这给了我id行的总数,我只想要独特的行。 像这样的东西,我的样本数据中有一行的例子,它具有多于1个唯一ID。

具有多个唯一ID的行的示例输出: col2 col3 col4 mean count |---------|--------|---------|--------|--------| | 1 | a | yes | 5 | 3 | |---------|--------|---------|--------|--------|

0 个答案:

没有答案