R 基本频率值,按组划分
我试图得到一个变量除以另一个变量的lengthx值R 基本频率值,按组划分,r,aggregate,R,Aggregate,我试图得到一个变量除以另一个变量的lengthx值 aggregate(ssfia$Correlation_Abs,ssfia$Disorder,length,na.rm=TRUE) 但是,我收到一条错误消息: >Error in FUN(X[[1L]], ...) : 2 arguments passed to 'length' which requires 1 似乎lengthx不能像mean或sd那样在那里使用。是否有一个函数可以计算嵌套在聚合中的行数 提前谢谢 下面是什么
aggregate(ssfia$Correlation_Abs,ssfia$Disorder,length,na.rm=TRUE)
但是,我收到一条错误消息:
>Error in FUN(X[[1L]], ...) :
2 arguments passed to 'length' which requires 1
似乎lengthx不能像mean或sd那样在那里使用。是否有一个函数可以计算嵌套在聚合中的行数
提前谢谢 下面是什么 将第一个向量拆分为第二个向量确定的子类:
cls <- split(ssfia$Correlation_Abs, ssfia$Disorder)
长度上没有na.rm参数。太棒了,成功了!如果您不介意解释一下,为什么sum在这个上下文中返回一个频率计数,而在任何其他上下文中返回一个实际的sum?也就是说,我尝试将sum放在先前的原始聚合函数中,它返回一个sum。!is.nadat返回一个逻辑向量。sum接受一个数字向量。因此,逻辑向量应转换为数字向量。规则是:TRUE==1和FALSE==0。所以求和!is.nadat只计算向量中有多少真元素,例如,我们有真+真+假+真==3,如1+1+0+1==3。
sapply(cls, function(dat) sum(!is.na(dat)))