文档库 最新最全的文档下载
当前位置:文档库 › R语言与统计分析第四章答案

R语言与统计分析第四章答案

R语言与统计分析第四章答案
R语言与统计分析第四章答案

#第四章习题

#4.1

x<-rbinom(1000,100,0.3)

hist(x,main=c("1000个参数为0.3的伯努利分布随机数"))

#4.2

x<-rnorm(1000,10,4)

hist(x,probability=T,xlim=c(min(x),max(x)),nclass=max(x)-min(x)+1, col='lightblue',main=c("1000个正态分布随机数"))

lines(density(x,bw=1),col='blue',lwd=3)

#4.3

x<-sample(c(rt(10,1),rt(10,2),rt(10,10)),1000,replace=T)

hist(x,xlim=c(min(x),max(x)),probability=T,

nclass=max(x)-min(x)+1,col='lightblue',

main=c("3个t分布混合样本直方图"))

lines(density(x,bw=1),col='blue',lwd=2)

#方法二

k<-matrix(,3,100)

k[1,]=rt(100,1)

k[2,]=rt(100,2)

k[3,]=rt(100,10)

x=c(k[1,],k[2,],k[3,]) #3个t分布混合成一个样本

hist(x,xlim=c(min(x),max(x)),probability=T,

nclass=max(x)-min(x)+1,col='lightblue',

main=c("3个t分布混合样本直方图"))

lines(density(x,bw=1),col='blue',lwd=2)

#4.4

install.packages("DAAG")

library(DAAG)

data(possum)

par(mfrow=c(2,2))

hist(possum$age,breaks=1+(0:8)*1)

hist(possum$age,breaks=0+(0:9)*1)

hist(possum$age,breaks=1+(0:5)*2)

hist(possum$age,breaks=0+(0:5)*2)

summary(possum$age)

age<-possum$age[!is.na(possum$age)]

summary(age)

sd(age)

#4.5

install.packages("DAAG")

library(DAAG)

data(tinting)

ts<-table(tinting$sex,tinting$tint) #列联表

barplot(ts) #联合柱状图

windows() #新图

op<-par()

layout(matrix(c(2,1,0,3),2,2,byrow=T),c(1,6),c(4,1))

par(mar=c(1,1,5,1))

plot(tinting$age,tinting$it)

lines(lowess(tinting$age,tinting$it),lwd=2) #拟合线

rug(side=2,jitter(tinting$age,5)) #细小刻度

rug(side=1,jitter(tinting$it,5))

par(mar=c(1,2,5,1))

boxplot(tinting$age,axes=F)

par(mar=c(5,1,1,2))

boxplot(tinting$it,horizontal=T,axes=F)

windows() #因子为tint

coplot(tinting$age~tinting$it|tinting$tint)

windows() #因子为tint与sex

coplot(tinting$age~tinting$it|tinting$tint*tinting$sex)

windows() #等高线图

library(MASS)

z<-kde2d(tinting$it,tinting$csoa)

contour(z,col="red",drawlabels=FALSE)

windows() #matplot图

d<-data.frame(y1=tinting$age,y2=tinting$it,y3=tinting$csoa)

matplot(d,type='l',main="matplot")

#4.6

data(InsectSprays)

cs<-table(InsectSprays$count,InsectSprays$spray) #列联表

barplot(cs)

windows()

mys<-c(1,2,3,4,5,6)[InsectSprays$spray] #分类图

plot(InsectSprays$count,col=mys,pch=mys)

legend(x=40,y=26,legend=c("A","B","C","D","E","F"),col=c(1,2,3,4,5,6),pch=c(1,2,3,4,5,6)) c.s<-data.frame(A=InsectSprays$count[1:12], #分类归纳

B=InsectSprays$count[13:24],

C=InsectSprays$count[25:36],

D=InsectSprays$count[37:48],

E=InsectSprays$count[49:60],

F=InsectSprays$count[61:72])

summary(c.s)

#4.7

options(didits=4)

db<-rnorm(100,75,9)

print("均值")

mean(db)

print("方差")

sd(db)

print("标准差")

sqrt(sd(db))

print("极差")

max(db)-min(db)

print("四分位极值")

mad(db)

print("变异系数")

sd(db)/mean(db)

install.packages("fBasics")

library(fBasics)

print("偏度")

skewness(db)

print("峰度")

kurtosis(db)

print("五数概括")

fivenum(db)

hist(db,xlim=c(min(db),max(db)),probability=T,

nclass=max(db)-min(db)+1,col='lightblue',main="直方图") lines(density(db),col='red',lwd=3)

windows()

qqnorm(db,main="QQ图")

qqline(db,col='red')

windows()

x<-sort(db)

n<-length(x)

y<-(1:n)/n

m<-mean(db)

s<-sd(db)

plot(x,y,type='s',main="经验分布图")

curve(pnorm(x,m,s),col='red',lwd=2,add=T)

print("茎叶图")

stem(db)

windows()

boxplot(db,main="框须图")

#4.8

install.packages("RODBC") #从Excel读入数据

library(RODBC)

z<-odbcConnectExcel("C:/Users/Tang/Desktop/R/第四章数据.xls") data<-sqlFetch(z,"Sheet1")

close(z)

plot(data$体重~data$身高,main="体重对身高散点图") windows()

coplot(data$体重~data$身高|data$性别)

windows()

coplot(data$体重~data$身高|data$年龄)

windows()

coplot(data$体重~data$身高|data$性别*data$年龄)

相关文档