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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

r语言summary函数使用_R语言--操纵数据--重要函数的使用

發布時間:2024/3/24 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 r语言summary函数使用_R语言--操纵数据--重要函数的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. lapplyeg:x=list(a=1:10,b=c(11,21,31,41,51))

lapply(x,mean) 或 sapply(x,mean)

lapply與sapply均為返回x中元素的平均值,sapply函數可將lapply的返回結果進行化簡x=1:4

lapply(x,runif) runif意為從一個均勻分布里抽取若干個數出來,默認是從0到1 的均勻分布

lapply(x,runif,min=0,max=100) 從0到100的均勻分布里抽取若干個數出來x=list(a=matrix(1:6,2,3),b=matrix(4:7,2,2))

lapply(x,function(m) m[1,]) 此處m代表傳入矩陣,函數運行的是矩陣的第一行

2.applyx=matrix(1:16,4,4)

apply(x,2,mean) 返回x中第二列的平均

apply(x,2,sum) 返回x中第二列的和

rowSums(x) 對每一行求和

rowMeans(x) 對每一行求平均

colSums(x) 對每一列求和

colMeans(x) 對每一列求平均x=matrix(rnorm(100),10,10) 從正態分布中隨機取100個數據,并將其排成10行10列

apply(x,1,quantile,probs=c(0.25,0.75)) quantile意為求數據的百分位點 probs對quantile進行限定,以語句可返回矩陣x中每一行的25%和75%分位點的數據x=array(rnorm(2*3*4),c(2,3,4))

apply(x,c(1,2),mean)

3.mapplylist(rep(1,4),rep(2,3),rep(3,2),rep(4,1)) 第一個元素為4個1,第二個元素為3個2.........

mapply(rep,1:4,4:1) 1:4為rep函數的第一個參數,4:1為第二個參數,與上面的語句含義相同,即將1重復4次,2重復3次,3重復2次,4重復1次。s=function(n,mean,std){rnorm(n,mean,std)}

s(4,0,1)

mapply(s,1:5,5:1,2)

n代表從分布中抽取的數據的個數

mean和std分別代表隨機分布的總體的均值和標準差

rnorm(n,mean,std 代表是從均值為mean方差為std的正態分布中抽取n個數據

s(4,0,1) 代表是從均值為0方差為1的正態分布中抽取4個數據

mapply(s,1:5,5:1,2) 應用s函數,返回的結果是一個列表

第一個元素是從均值為5,方差為2的正態分布中抽取的1個數據

第一個元素是從均值為4,方差為2的正態分布中抽取的2個數據

第一個元素是從均值為3,方差為2的正態分布中抽取的3個數據...........(一一對應)

mapply(s,1:5,5:1,2) 與 ,list(s(1,5,2),s(2,4,2),s(3,3,2),s(4,2,2),s(5,1,2)) 返回的結果是一樣的,可以看出使用mapply能讓語句更簡單

4.tapplyx=c(rnorm(5),runif(5),rnorm(5,1)) x包含15個元素,前五個元素來自于正態分布,中間五個元素來自于均勻分布,最后五個元素來自于均值為1,標準差為0的正態分布

f=gl(3,5) 建立因子需要gl函數,第一個參數表示該因子有3個水平,第二個參數表示每個水平下有5個元素

tapply(x,f,mean) 對x這個向量按照g的水平進行分組,并對每組求均值

tapply(x,f,mean,simplify=FALSE) 得到的是一個未經化簡的列表

5.splitx=c(rnorm(5),runif(5),rnorm(5,1))

f=gl(3,5)

split(x,f) 返回水平1對應的x中的前五個元素,水平2對應的中間五個元素,水平3對應的最后五個元素

lapply(split(x,f),mean) 返回分組后每一水平對應的5個元素的平均值 s=split(airquality,airquality$Month) 返回airquality中關于每一月份的數據table(airquality$Month) 查詢每一月份包含的數目head(airquality)

lapply(s, function(x) colMeans(x[,c("Ozone","Wind","Temp")]))

對s應用function(x),求得關于每個月ozone、wind、temp的均值,colMeans求列均值

sapply(s, function(x) colMeans(x[,c("Ozone","Wind","Temp")])) sapply可將結果簡化

sapply(s, function(x) colMeans(x[,c("Ozone","Wind","Temp")],na.rm = TRUE))

有了na.rm則可將ozone、wind、temp中的缺失值去除掉,然后計算列均值

6.排序x=data.frame(v1=1:5,v2=c(10,7,9,6,8),v3=11:15,v4=c(1,1,2,2,1))

sort(x$v2) 可對x中的v2列進行升序排列

sort(x$v2,decreasing = TRUE) 可對x中的v2列進行降序排列

order(x$v2) 可對x中的v2列進行升序排列,但返回的不是內容本身,而是其所在的行號

x[order(x$v2),] 按照v2列升序的行號的排列對整個數據框進行排列

x[order(x$v4,x$v2),] 先按照v4進行升序排列,之后再按照v2進行升序排列

x[order(x$v4,x$v2,decreasing = TRUE),] 先按照v4進行降序排列,再按照v2進行降序排列

7.總結數據信息head(airquality,10) 查看airquality的前十行,默認是前六行

tail(airquality,8) 查看airquality的后八行,默認是后六行

summary(airquality) 查看airquality每一列的最小值、第一個分位點、中間值、均值、第三個分位點、最大值以及缺失值的個數

str(airquality) 查看airquality的基本情況如變量數等table(airquality$Ozone) 查看airquality中的Ozone的具體數值,及每一數值出現的次數,不包括缺失值

table(airquality$Ozone,useNA='ifany') 還可以總結缺失值的個數

table(airquality$Month,airquality$Day) 返回的是二維數據,即查詢某月某日的數據的個數any(is.na(airquality$Ozone)) 判斷是否有缺失值

sum(is.na(airquality$Ozone)) 計算缺失值的總數

all(airquality$Month<12) 判斷月份是不是都小于12xtabs(Freq~Class+Age,data=Titanic) xtabs可建立一個組合框,以class和age來計算頻數

x=xtabs(Freq~Class+Age,data=Titanic)

ftable(x) 可將結果以更加扁平化的形式顯示出來,內容與xtabs函數返回的結果一致

object.size(airquality) 查看airquality的大小(字節)

8總結

總結

以上是生活随笔為你收集整理的r语言summary函数使用_R语言--操纵数据--重要函数的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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