日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

R语言数据转换(split-apply-combin…

發布時間:2023/12/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 R语言数据转换(split-apply-combin… 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(1) apply
apply函數通過對數組,矩陣,或非空維數值的數據框的“邊緣”(margin)即行或列運用函數。返回值為向量,數組或列表。

函數形式
apply(X, MARGIN, FUN, ...)
其中,X:數組(矩陣);
MARGIN:函數要作用的下標向量,對于矩陣,1表示行,2表示列,1:2表示行和列;
FUN:函數名或函數表達式。


##例
> m<-matrix(c(1:4,1,4,1:6),ncol=3)
> apply(m,1,mean)
[1] 1.666667 3.333333 3.000000 4.000000
> apply(m,2,sd)
[1] 1.290994 1.414214 1.290994
> apply(m,1:2,function(x) x*2)
?????[,1] [,2] [,3]
[1,] 2 2 6
[2,] 4 8 8
[3,] 6 2 10
[4,] 8 4 12
> apply(m,2,table) #返回的是列表
?[ [1] ]

1 2 3 4
1 1 1 1
……
> apply(m, 1, stats::quantile) #各行的分位數,返回矩陣
?????[,1] [,2] [,3] [,4]
0% 1 2 1 2
25% 1 3 2 3
50% 1 4 3 4
75% 2 4 4 5
100% 3 4 5 6

(2) by
?
??by函數是tapply的一個面向用戶的友好包裝版,是一個使用因子來對數據框按行進行分組并對每個子集運用函數的方法。它的對象數據被默認強制轉換為數據框。它返回一個 類屬性為by的對象,simplify i= false是,返回值是列表,否則是列表或數組。
by(data, INDICES, FUN, ..., simplify = TRUE)

#例 使用著名的鳶尾花數據iris
> attach(iris)
> head(iris)
???Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
> by(iris[, 1:4], Species, mean)
Species: setosa
Sepal.Length Sepal.Width Petal.Length Petal.Width
???????5.006 3.428 1.462 0.246
---------------------------------------------------------
Species: versicolor
Sepal.Length Sepal.Width Petal.Length Petal.Width
???????5.936 2.770 4.260 1.326
---------------------------------------------------------
Species: virginica
Sepal.Length Sepal.Width Petal.Length Petal.Width
???????6.588 2.974 5.552 2.026

?

原文:http://site.douban.com/182577/widget/notes/10567181/note/245242931/

?

?

總結

以上是生活随笔為你收集整理的R语言数据转换(split-apply-combin…的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。