如何在R中计算多列中的值

如何在R中计算多列中的值,r,count,R,Count,我有一个包含许多列的数据框。第一列是ID,第二列是年龄组(30岁以下、30-40岁、40-50岁等),其余列是Q1、Q2、Q3…Q50,带有整数值和NA。我需要按年龄组计算每列的非NA值 我试过了,代码最后一行的“n”不起作用,但如果我用“mean”替换“n”,效果会很好。 library(dplyr)df2%group\u by(age\u grp)%%>%summary\u if(is.integer,n,na.rm=TRUE) 谢谢。library(dplyr)df_2%group_by(

我有一个包含许多列的数据框。第一列是ID,第二列是年龄组(30岁以下、30-40岁、40-50岁等),其余列是Q1、Q2、Q3…Q50,带有整数值和NA。我需要按年龄组计算每列的非NA值

我试过了,代码最后一行的“n”不起作用,但如果我用“mean”替换“n”,效果会很好。
library(dplyr)df2%group\u by(age\u grp)%%>%summary\u if(is.integer,n,na.rm=TRUE)


谢谢。

library(dplyr)df_2%group_by(age\u grp)%%>%summary_each(funs(sum(!is.na)()
尝试
count
而不是
n
。顺便说一句,如果数据集整洁,你会发现使用tidyverse更容易。这里,这意味着一个tible有四列:ID、Agegroup、Question(值为1到50)最后,如果已被弃用,则对您进行总结。您应该在dplyr v1.0.0.0中跨使用。这是否回答了您的问题?非常感谢。我尝试了“计数”相反,但它不适用于summary_if。您能告诉我如何使用cross和count吗?再次感谢!在dplyr中的group_by之后,我也尝试了这个方法:summary_each(funs(sum(!is.na(.)),但它不起作用。也尝试了这个方法,但它也不起作用:summary(cross(where(is.integer)),list(n=~count(.),na.rm=TRUE))