R 分类进行数值处理

来源:转载

主要Mark一下R程序中,分类进行数值计算的情况。

 

1.aggregate函数

有数据框case,列名分别a,b,c,d,e,f

(1)根据一列对另一列求和:根据a,对d求和

sum1 <- aggregate(case[, 4], list(case[,1]), sum, na.rm=T)  

或者

sum1 <- aggregate(case$d, list(case$a), sum, na.rm=T)  

na.rm=T,消除缺失值NA带来的影响,若na.rm=F,存在缺失NA的时候,无法求和。同理对均值,将函数中的sum换成mean。

(2)根据多列对一列求和:根据a、b,对d求和

sum2 <- aggregate(case$d, case[,c("a", "b")], sum)

(3)根据一列对多列求和:根据a,对d、e求和

sum3 <- aggregate(case[,c(4,5)], list(case$a), sum)

2. dplyr包的group_by函数

根据一列对多列求和:根据a对d、e求和

data <- group_by(case, a)sum3 <- summarise(data, d1 = sum(d, na.rm = TRUE), e1 = sum(e, na.rm = TRUE))

 

 

第一次写,免得我每次用到的时候都去翻以前的程序,神烦。

嘛,总之先这样。

分享给朋友:
您可能感兴趣的文章:
随机阅读: