全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2840 5
2019-11-21
各位老师好,我想分组求一下a和b列的和及非空值的个数,为什么出现的结果是错误的呢,请问是哪里出问题了呢,谢谢大家
复制代码
360截图16530716344463.png
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-11-22 22:32:54
df %>% group_by(c,d) %>% summarise_all(sum, na.rm = T)
df %>% group_by(c,d) %>% summarise_all(function(x) sum(!is.na(x)))
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-11-25 14:39:47
cheetahfly 发表于 2019-11-22 22:32
df %>% group_by(c,d) %>% summarise_all(sum, na.rm = T)
df %>% group_by(c,d) %>% summarise_all(funct ...
谢谢老师,但是能把代码合到一起吗?我试了下没成功
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-11-26 08:04:28
df %>%
  group_by(c,d) %>%
  summarise_all(sum, na.rm = T)  %>%
  left_join(df %>%
                 group_by(c,d) %>%
                 summarise_all(function(x) sum(!is.na(x))),
               by = c("c", "d"))
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-11-26 22:01:32
再提供一种方法,参考下

library(tidyverse)
library(rlist)

df %>%
  group_by(c,d) %>%
  nest() %>%
  mutate(dt = list.apply(data,
    function(x) {
      data.frame(
      a_non= sum(!is.na(x$a)),
      a_sum = sum(x$a, na.rm = T),
      b_non= sum(!is.na(x$b)),
      b_sum = sum(x$b, na.rm = T)
    )}
  ))%>%
  select(c,d,dt)%>%
  unnest(cols = c(dt))

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-11-27 08:12:58
嗯嗯,棒极了,谢谢两位老师,我也找到了一种:with(df,aggregate(df[,c('a','b')], by=list(Vc=c,Vd=d),
                  FUN=function(x){c(sum=sum(x,na.rm=T),N=sum(!is.na(x)))}))

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群