R语言读书报告心得Word文档下载推荐.docx
《R语言读书报告心得Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《R语言读书报告心得Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
[1]94
n1=length(tsy01[a1,3])
m1=mean(tsy01[a1,3])
b1=(1/n1)*sum(((tsy01[a1,3])-m1)^3)
c1=(1/n1)*sum(((tsy01[a1,3])-m1)^2)
d1=(1/n1)*sum(((tsy01[a1,3])-m1)^4)
sk1=b1/(c1^(3/2))
sk1
[1]-1.081116
ku1=d1/(c1^2)-3
ku1
[1]0.0957357
二班:
a2=which(tsy01[,2]==2)
summary(tsy01[a2,3])#该函数提供了最小值、最大值、四分位数和数值型变量的均值,以及因子向量和逻辑型向量的频数统计
0.0069.5078.0073.0491.50100.00
s2=sd(tsy01[a2,3])#求标准差
s2
[1]26.19417
R2=max(tsy01[a2,3])-min(tsy01[a2,3])
R2
[1]100
n2=length(tsy01[a2,3])
m2=mean(tsy01[a2,3])
b2=(1/n2)*sum(((tsy01[a2,3])-m2)^3)
c2=(1/n2)*sum(((tsy01[a2,3])-m2)^2)
d2=(1/n2)*sum(((tsy01[a2,3])-m2)^4)
sk2=b2/(c2^(3/2))
sk2
[1]-1.44899
ku2=d2/(c2^2)-3
ku2
[1]1.427493
三班:
a3=which(tsy01[,2]==3)
summary(tsy01[a3,3])
0.0066.5081.5072.6490.0099.00
s3=sd(tsy01[a3,3])#球标准差
s3
[1]25.05448
R3=max(tsy01[a3,3])-min(tsy01[a3,3])
R3
[1]99
n3=length(tsy01[a3,3])
m3=mean(tsy01[a3,3])
b3=(1/n3)*sum(((tsy01[a3,3])-m3)^3)
c3=(1/n3)*sum(((tsy01[a3,3])-m3)^2)
d3=(1/n3)*sum(((tsy01[a3,3])-m3)^4)
sk3=b3/(c3^(3/2))
sk3
[1]-1.45291
ku3=d3/(c3^2)-3
ku3
[1]1.149064
四班:
a4=which(tsy01[,2]==4)
summary(tsy01[a4,3])#该函数提供了最小值、最大值、四分位数和数值型变量的均值,以及因子向量和逻辑型向量的频数统计
0.0052.5068.0066.3780.50100.00
s4=sd(tsy01[a4,3])
s4
[1]19.61564
R4=max(tsy01[a4,3])-min(tsy01[a4,3])
R4
n4=length(tsy01[a4,3])
m4=mean(tsy01[a4,3])
b4=(1/n4)*sum(((tsy01[a4,3])-m4)^3)
c4=(1/n4)*sum(((tsy01[a4,3])-m4)^2)
d4=(1/n4)*sum(((tsy01[a4,3])-m4)^4)
sk4=b4/(c4^(3/2))
sk4
[1]-0.4474207
ku4=d4/(c4^2)-3
ku4
[1]0.3914338
(2)对各班成绩做直方图,添加密度曲线。
x1=tsy01[a1,3]#代表一班分数
x2=tsy01[a2,3]#代表二班分数
x3=tsy01[a3,3]#代表三班分数
x4=tsy01[a4,3]#代表四班分数
op=par(mfrow=c(2,2))
hist(x1,breaks=5,main="
1班"
freq=F,density=1,col=1)
lines(density(x1),col='
red'
)
hist(x2,breaks=5,main="
2班"
freq=F,density=1,col=4)
lines(density(x2),col='
hist(x3,breaks=5,main="
3班"
freq=F,density=1,col=3)
lines(density(x3),col='
hist(x4,breaks=5,main="
4班"
freq=F,density=1,col=8)
lines(density(x4),col='
par(op)
(3)假设各班成绩均服从正态分布,估计四个正态分布的期望和方差,计算四个班各自的不及格率与优秀率(大于85分);
以及理论25%与75%分位点。
x1=tsy01[a1,3]
me1=mean(x1)#一班分数均值,以下类推
me1
[1]74.28125
sd1=s1^2#一班分数方差,以下类推
sd1
[1]675.38
二班
x2=tsy01[a2,3]
me2=mean(x2)
me2
[1]73.04478
sd2=s2^2
sd2
[1]686.1343
x3=tsy01[a3,3]
me3=mean(x3)
me3
[1]72.63889
sd3=s3^2
sd3
[1]627.7269
x4=tsy01[a4,3]
me4=mean(x4)
me4
[1]66.37349
sd4=s4^2
sd4
[1]384.7734
优秀率与不优秀率
x1=tsy01[a1,3]#一班的分数,以下类推
qh=function(X){k1=0
+n=length(X)
+for(iin1:
n){if(X[i]<
60)
+{k1=k1+1}
+}
+return(k1/n)
qh(x1)#一班不合格率,以下类推
[1]0.25
qh(x2)
[1]0.1940299
qh(x3)
[1]0.2083333
qh(x4)
[1]0.373494
ph=function(X){k2=0
n){if(X[i]>
85)
+{k2=k2+1}
+return(k2/n)
ph(x1)#一班优秀率,以下类推
[1]0.5
ph(x2)
[1]0.4029851
ph(x3)
[1]0.4027778
ph(x4)
[1]0.1807229
理论25%与75%位点
quantile(x1)#一班分数四分点,以下类推
0%25%50%75%100%
6.062.085.594.0100.0
quantile(x2)
0.069.578.091.5100.0
quantile(x3)
0.066.581.590.099.0
quantile(x4)
0.052.568.080.5100.0
(4)以60,70,85为界,将成绩分为“优秀”、“中等”、“及格”、“不及格”四类,改写数据,并做饼图和列联表(table()或ftable())进行比较分析。
A1=which(tsy01[,3]>
85)
tsy01[A1,3]="
优秀"
A2=which(tsy01[,3]>
70&
tsy01[,3]<
=85)
tsy01[A2,3]="
中等"
A3=which(tsy01[,3]>
=60&
=70)
tsy01[A3,3]="
及格"
A4=which(tsy01[,3]<
60)
tsy01[A4,3]="
不及格"
attach(tsy01)
score#呈现改写数据
[1]"
"
[9]"
[17]"
[25]"
[33]"
[41]"
[49]"
[57]"
[65]"
[73]"
[81]"
[89]"
[97]"
[105]"
[113]"
[121]"
[129]"
[137]"
[145]"
[153]"
[161]"
[169]"
[177]"
[185]"
[193]"
[201]"
[209]"
[217]"
[225]"
[233]"
[241]"
[249]"
[257]"
[265]"
[273]"
[281]"
c1=ftable(class,score)
c1
score不及格及格优秀中等
class
1168328
21362721
31472922
431161521
x1=tsy01[a1,3]#一班情况,以下类推
x1
[17]"
[25]"
[33]"
[41]"
[49]"
[57]"
y1=table(x1)
pie(y1,main="
)#一班图示,以下类推
x2
[65]"
y2=table(x2)
pie(y2,main="
x3
y3=table(x3)
pie(y3,main="
x4=tsy01[a4,3]
x4
[73]"
[81]"
y4=table(x4)
pie(y4,main="
par(op)
3.、编写R函数,计算阶乘(不能使用函数prod()):
(1)基本要求:
当输入正整数n时,输出n!
(2)进阶要求:
在完成基本要求的基础上,对输入量进行检测,若输入量小于0或为非整数,则给出警告信息;
若输入量为0,则输出1.
tsy02=function(x){if(x%%1!
=0|x<
0)stop("
pleaseinputinteger!
!
"
+elseif(x==0)return
(1)
+else{n=length(x)
+n[1]=1
+for(iin2:
x){n[i]=i*n[i-1]}
+return(n[x])
tsy02(5)
[1]120
4、编写R函数,计算一元函数在给定区间的定积分。
并以
为例,输出结果。
tsy03=function(n,a,b,f){x=runif(n)
+sum((b-a)*f(a+(b-a)*x))/n
f=function(x){exp(-(x-3)^2)/8}
tsy03(100,2,5,f)
[1]0.1931092
3)编写R函数,找出一元函数在给定区间何处取得最小值。
在区间[1,3]为例,输出结果。
(不能使用optimize()等既有函数)
tsy04=function(n,a,b,f){
+x=seq(a,b,length.out=n)
+i=which.min(f(x))
+minx=a+(b-a)/n*i
+return(minx)
f=function(x){2/x+log(x)}
tsy04(1000,1,3,f)
[1]2.002