c语言分组求和函数,R语言 实现data.frame 分组计数、求和等
df為1個(gè)data.frame對(duì)象,有stratum和psu兩列,這里統(tǒng)計(jì)stratum列計(jì)數(shù)
方法1:
cnt = table(df$stratum)
方法2:
cnt = tapply(df$psu, INDEX=df$stratum, FUN=length)
在方法2的基礎(chǔ)上,只要改變FUN函數(shù)就可以實(shí)現(xiàn)分組求和、求均值等功能,如下
分組求均值:
tapply(df$psu, INDEX=df$stratum, FUN=mean)
#(等價(jià)于python中的df.groupby('stratum').psu.mean)
補(bǔ)充:R語言 | 自定義函數(shù)對(duì)數(shù)據(jù)集(data.frame)的列進(jìn)行條件判斷計(jì)算
1.使用iris數(shù)據(jù)集
> iris_10
## 自定義函數(shù):如果x >= 5.0, z = y *10
> get_With_function
+ if(x >= 5.0){
+ z
+ }
+ c(zlie = z )
+ }
2.保險(xiǎn)起見,設(shè)定z列為0,可能也不需要
> iris_10$z
3.運(yùn)用自定義函數(shù),對(duì)data.frame的x行進(jìn)行判斷,對(duì)y列進(jìn)行運(yùn)算,賦值到z列
4…注意Map的使用
> iris_10$z
+ iris_10,
+ Map(
+ get_With_function,
+ iris_10$Sepal.Length,
+ iris_10$Sepal.Width,
+ z
+ )
+ )
> iris_10
Sepal.Length Sepal.Width Petal.Length Petal.Width
1 5.1 3.5 1.4 0.2
2 4.9 3.0 1.4 0.2
3 4.7 3.2 1.3 0.2
4 4.6 3.1 1.5 0.2
5 5.0 3.6 1.4 0.2
6 5.4 3.9 1.7 0.4
7 4.6 3.4 1.4 0.3
8 5.0 3.4 1.5 0.2
9 4.4 2.9 1.4 0.2
10 4.9 3.1 1.5 0.1
Species z
1 setosa 35
2 setosa 0
3 setosa 0
4 setosa 0
5 setosa 36
6 setosa 39
7 setosa 0
8 setosa 34
9 setosa 0
10 setosa 0
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持我們。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
時(shí)間: 2021-03-25
總結(jié)
以上是生活随笔為你收集整理的c语言分组求和函数,R语言 实现data.frame 分组计数、求和等的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Web安全之Cookie劫持
- 下一篇: 搭建Telnet服务器