#第四章习题
#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$年龄)