前言
安裝完R軟件之后就可以對(duì)其進(jìn)行代碼的編寫了。
編寫R函數(shù)
如果對(duì)數(shù)據(jù)分析有些特殊需要,已有的R包或函數(shù)不能滿足,可以在R中編寫自己的函數(shù)。函數(shù)的定義格式如下所示:
functionname<-function(a1, a2,...)expression
該式中, functionname是函數(shù)名稱; function指明該對(duì)象為函數(shù)類型;a1,a2,為函數(shù)中涉及的參數(shù); expression是函數(shù)的具體內(nèi)容。
比如,要自己編寫函數(shù)計(jì)算50個(gè)學(xué)生考試分?jǐn)?shù)的平均數(shù)、中位數(shù)、極差和標(biāo)準(zhǔn)差,代碼如下所示。(使用example1_1)。
load("C:/example/ch1/example1_1.RData") # 裝載數(shù)據(jù)
x<-example1_1[,4] # 為x賦值為example1_1的第4列
myfun<-function(x){ # 編寫函數(shù)如下
n<-length(x)
mean<-sum(x)/n
median<-median(x)
r<-max(x)-min(x)
s<-sd(x)
df<-data.frame(樣本量=n,平均數(shù)=mean,中位數(shù)=median,極差=r,標(biāo)準(zhǔn)差=s)
return(df)
}
myfun(x) # 返回函數(shù)結(jié)果
圖形的控制和布局
par函數(shù)
參數(shù)介紹如下表:
不同數(shù)字代表的R的繪圖線型(Ity)和線寬(lwd):
不同數(shù)字代表的R的繪圖符號(hào)(pch):
par函數(shù)中的參數(shù) mfrow(或mfcol)可以將繪圖區(qū)域分割成R×C的矩陣,從而可以在一個(gè)繪圖區(qū)域中繪制多個(gè)圖,但參數(shù)向量c(nr,nc)是將繪圖區(qū)域的行和列等分。
layout函數(shù)
有時(shí)需要將繪圖區(qū)劃分成不同大小的區(qū)域以滿足不同圖形的要求,這時(shí)可以使用layout函數(shù)來(lái)布局。函數(shù)的格式及參數(shù)的意義如下表所示:
layout(matrix(c(1,2,3,3),nrow=2,ncol=2),widths=c(2,1)) # 布局繪圖環(huán)境
par(mai=c(0.6,0.6,0.1,0.1),cex=0.7) # 設(shè)定圖形邊距、文字和繪圖符號(hào)大小
x<-rnorm(5000) # 生成5000個(gè)標(biāo)準(zhǔn)正態(tài)分布隨機(jī)數(shù)
y<-rchisq(5000,10) # 生成5000個(gè)卡方分布隨機(jī)數(shù)
hist(x,prob=TRUE,col="lightblue",xlab="x",ylab="Density",ylim=c(0,0.4),main="") # 繪制x的直方圖
hist(y,freq=FALSE,col="pink",xlab="y",ylab="Density",main="") # 繪制y的直方圖
boxplot(x,col="red",lwd=1) # 繪制x的箱線圖
layout(matrix(c(1,2,3,3),nrow=2,ncol=2,byrow=TRUE),heights=c(2,1)) # 布局繪圖環(huán)境
par(mai=c(0.6,0.6,0.1,0.1),cex=0.7) # 設(shè)定圖形邊距、文字和繪圖符號(hào)大小
x<-rnorm(1000) # 生成1000個(gè)標(biāo)準(zhǔn)正態(tài)分布隨機(jī)數(shù)
y<-rchisq(1000,10) # 生成1000個(gè)卡方分布隨機(jī)數(shù)
hist(x,prob=TRUE,col="lightblue",xlab="x",ylab="Density",ylim=c(0,0.4),main="") # 繪制x的直方圖
plot(x,y,xlab="x",ylab="y") # 繪制x和y的散點(diǎn)圖
boxplot(y,col="red",lwd=1,horizontal=TRUE,varwidth=TRUE) # 繪制x的箱線圖
練習(xí)
1、layout()函數(shù)通用格式?
2、如果繪圖的布局如下所示,請(qǐng)寫出正確的代碼進(jìn)行實(shí)現(xiàn)。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-792193.html
par(oma = c(2,2,2,2))
layout(matrix(c(1, 2, 1, 3), 2), widths = c(1, 3), heights = c(1, 2))
layout.show(3)
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-792193.html
到了這里,關(guān)于統(tǒng)計(jì)學(xué)-R語(yǔ)言-4.1的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!