R语言第十周作业
- 格式:docx
- 大小:101.80 KB
- 文档页数:6
R语言统计分析作业R语言是一种功能强大的统计分析工具,可以帮助数据分析师进行数据预处理、可视化、建模以及推断统计等工作。
在本篇文章中,我将介绍几个常用的R语言统计分析技巧,并给出具体的示例。
首先,数据预处理是数据分析工作的第一步。
R语言提供了各种函数和包用于数据的清洗和整理。
例如,我们可以使用read.csv(函数读取CSV文件,使用subset(函数筛选特定的行或列,使用merge(函数合并多个数据集,使用na.omit(函数删除缺失值等等。
其次,数据可视化是数据分析过程中必不可少的一部分。
R语言提供了丰富的绘图函数和包,能够生成各种类型的图形。
例如,我们可以使用ggplot2包绘制直方图、散点图、折线图等等,使用heatmap(函数绘制热图,使用networkD3包绘制网络图等等。
接下来,建模是数据分析的核心环节。
R语言提供了许多用于建模的函数和包,包括线性回归、逻辑回归、决策树、随机森林等等。
例如,我们可以使用lm(函数进行线性回归建模,使用glm(函数进行逻辑回归建模,使用rpart包进行决策树建模,使用randomForest包进行随机森林建模等等。
此外,推断统计是统计分析中另一个重要的部分。
R语言提供了许多用于推断统计的函数和包,包括假设检验、置信区间、卡方检验、T检验等等。
例如,我们可以使用t.test(函数进行双样本T检验,使用chisq.test(函数进行卡方检验,使用confint(函数计算置信区间等等。
最后,R语言还有许多其他功能强大的统计分析工具和扩展包,如时间序列分析、聚类分析、主成分分析等等。
根据具体的需求,我们可以选择相应的方法和包来完成分析任务。
总结起来,R语言是一种功能强大的统计分析工具,可以用于数据预处理、数据可视化、建模以及推断统计等多个方面。
在实际应用中,我们可以根据具体的需求选择相应的函数和包来实现统计分析任务。
使用R语言进行统计分析,既可以提高工作效率,又可以得到准确可靠的结果。
以下是一个简单的R语言数据处理作业示例:假设你有一份包含学生姓名、年龄、性别、成绩等信息的表格,你需要对这份数据进行处理,回答以下问题:1. 计算学生的平均年龄。
2. 统计男女学生的比例。
3. 找出成绩最高的学生。
4. 计算每个性别的平均成绩。
首先,你需要打开这份表格,查看它的结构。
可以使用以下代码:```rhead(data)```其中,`data`是你的数据表格的名称。
这个命令会输出数据的前几行,让你了解数据的内容和结构。
接下来,你可以按照以下步骤进行数据处理:1. 计算学生的平均年龄:```rmean_age <- mean(data$age)print(paste("平均年龄为", mean_age))```2. 统计男女学生的比例:```rgender_count <- table(data$gender)print(paste("男女学生比例为", gender_count)) ```3. 找出成绩最高的学生:```rmax_score <- max(data$score)max_student <- data[data$score == max_score, ] print(max_student)```4. 计算每个性别的平均成绩:```rgender_avg_score <- by(data$score, data$gender, mean)print(gender_avg_score)```最后,你可以将以上处理过程整合成一个完整的R代码,保存为一个`.R`文件,然后通过RStudio运行这个文件,即可得到处理结果。
“生物统计学”课程作业(R语言)第一次作业:请各位同学用如下格式提交作业:题目一:题目:2006年四川省5个县奶牛的增长率(与2005年相比)如下,绘制成长条图。
解:代码:x<-c(22.6,13.8,18.2,31.3,9.5)barplot(x,col=rainbow(5),ylab='增长率%',xlab='县名',main='2005~2006四川省5个县奶牛的增长率',names.arg=c('双流县','名山县','宣汉县','青川县','泸定县'))图片:题目二:题目:1~9周龄大型肉鸭杂交组合GW 和GY 的料肉比如下表所示,绘制成线图。
解:双流县名山县宣汉县青川县泸定县2005~2006四川省5个县奶牛的增长率县名增长率%051015202530代码:x<-1:9y<-c(1.42,1.56,1.66,1.84,2.13,2.48,2.83,3.11,3.48)plot(y~x,type="l",col="red",ylab='料肉比',xlab='周龄',main='1~9周龄大型肉鸭杂交组合GW 和GY 的料肉比')z<-c(1.47,1.71,1.80,1.97,2.31,2.91,3.02,3.29,3.57)lines(z~x,type="l",col="blue")legend(1,3.0,'GW-red')legend(1,3.25,'GY-blue')图片:24681.52.02.53.03.51~9周龄大型肉鸭杂交组合GW 和GY 的料肉比周龄料肉比GW-redGY-blue题目三:附加题set.seed(学号后8位)data <- rnorm(100, 10.5, 1.0)data 为某场猪一月龄体重记录1. 求数据data 的平均数、标准差和变异系数平均数:10.62118标准差:1.076999变异系数:0.10140112. 选择合适的统计图,展示数据data 的总体分布情况作图软件:R统计图:(请将做好的统计图粘贴到此处)020*********8910111213某场猪一月龄体重记录100头猪标号体重代码:(若使用R,或SAS,请将代码粘贴到此处,若使用的软件不需代码则可忽略此部分)set.seed(20020125)data<-rnorm(100,10.5,1.0)dataplot(data,type="p",ylab='体重',xlab='100头猪标号',main='某场猪一月龄体重记录')结果解释:(100字以内解释该统计图中看到的结果)由统计图可知,该场猪一月龄体重主要介于8~14kg之间,但在该区间内,猪的体重数据分布较分散,相对来说数据较为集中的区域为10~11kg。
统计软件实验1每题需注意1命令代码2结果或图形3自己的错误1 y =23log )10sin(4)43.0(2+⋅+-e πy 〈- sin(10*pi)*exp(—0。
3+4^2)+log(23)/log(4)2 x = sin(223/3), y = x^2,z = y *10 ;求x+2y —5zx <— sin(223/3);y <- x^2;x+2*y —5*z3 建立起始值=3,增量值=5.5,终止值=44的一维数组xx <- seq(3。
47,by=5.5)4 建立等差一维数组x:首项为0,末项为π,项数为15x <- seq (0,pi,length=15)5 将100,200,200,200,400,600,600,600,800 输入R 中,保存到numeric 变量中numeric <— c (100,200,200,200,400,600,600,600,800)6 将numeric 转换为factor 存入变量factor.numeric ,并用class ()确认。
factor.numeric 〈- as.factor (numeric)7 查看factor 。
numeric 的内容factor.numeric8 创建一个2到50的向量,形式为 2, 4, 6, 8, ..., 48, 50并名为为vector1 vector1 〈- seq (from=2,to=50,by=2)9 选取vector1中的第20个元素vector1[20]10 选取vector1中的第10,15,20个元素vector1[c(10,15,20)]11 选取vector1中的第10到20个元素vector [10:20]12 选取vector1中值大于40的元素vector1[vector1>40]13创建向量1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 rep(1:5,5)14使用rep ()创建向量0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4rep (0:4,rep(5,5))15 用函数rep()构造一个向量x ,它由3个3,4个2,5个1构成x=c(rep (3,3),rep(2,4),rep (1,5))统计软件实验2每题需注意1命令代码2结果或图形3自己的错误1计算行列式的值323426781 A=A=det(matrix(c(3,4,7,2,2,8,3,6,1),nrow=3))2 矩阵323426781A⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,矩阵111222333B⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦;求出A x B及A与B中对应元素之间的乘积A=matrix(c(3,4,7,2,2,8,3,6,1),nrow=3);B=matrix(rep(1:3,3),nrow=3);A%*%B;A*B3由1,2,...,16构成两个方阵,其中矩阵A按列输入,矩阵B按行输入,并计算C=A+B,D=AB A=matrix(1:16,nrow=4);B=matrix(1:16,nrow=4,byrow=T);C=A+B;D=A%*%B4先复制附录数据至文本文档,然后读取数据至文件datadata 〈—read.table(”D:/t.data.txt”,header = T)5 比值的计算weight和height的平方的比值存入bmi变量bmi 〈— weight/height^2;detach(data)6 创建对象x,其值为1:10,使用write函数将其写入文件x。
r语言入门100道题以下是100个R语言入门的问题,供您参考:1. 如何在R中创建一个向量?2. 如何在R中创建一个矩阵?3. 如何在R中创建一个数据框?4. 如何在R中创建一个列表?5. 如何在R中创建一个因子?6. 如何在R中创建一个日期对象?7. 如何在R中读取一个CSV文件?8. 如何在R中写入一个CSV文件?9. 如何在R中读取一个Excel文件?10. 如何在R中写入一个Excel文件?11. 如何在R中读取一个文本文件?12. 如何在R中写入一个文本文件?13. 如何在R中计算一个向量的平均值?14. 如何在R中计算一个向量的标准差?15. 如何在R中计算一个向量的中位数?16. 如何在R中计算一个向量的最大值?17. 如何在R中计算一个向量的最小值?18. 如何在R中计算一个向量的总和?19. 如何在R中计算一个向量的排序列表?20. 如何在R中计算一个矩阵的行数和列数?21. 如何在R中计算一个矩阵的转置矩阵?22. 如何在R中计算一个矩阵的行列式?23. 如何在R中计算一个矩阵的逆矩阵?24. 如何在R中计算一个矩阵的特征值和特征向量?25. 如何在R中计算一个矩阵的行和列的总和?26. 如何在R中计算一个数据框的行数和列数?27. 如何在R中计算一个数据框的列的平均值?28. 如何在R中计算一个数据框的列的标准差?29. 如何在R中计算一个数据框的列的中位数?30. 如何在R中计算一个数据框的列的最大值?31. 如何在R中计算一个数据框的列的最小值?32. 如何在R中计算一个数据框的列的总和?33. 如何在R中从一个向量中选择指定的元素?34. 如何在R中从一个向量中删除指定的元素?35. 如何在R中从一个向量中查找指定的元素?36. 如何在R中从一个向量中替换指定的元素?37. 如何在R中从一个向量中添加元素?38. 如何在R中从一个向量中提取唯一的元素?39. 如何在R中从一个矩阵中选择指定的行和列?40. 如何在R中从一个矩阵中删除指定的行和列?41. 如何在R中从一个矩阵中查找指定的行和列?42. 如何在R中从一个矩阵中替换指定的行和列?43. 如何在R中从一个矩阵中添加行和列?44. 如何在R中从一个数据框中选择指定的行和列?45. 如何在R中从一个数据框中删除指定的行和列?46. 如何在R中从一个数据框中查找指定的行和列?47. 如何在R中从一个数据框中替换指定的行和列?48. 如何在R中从一个数据框中添加行和列?49. 如何在R中对一个向量进行排序?50. 如何在R中对一个矩阵的行和列进行排序?51. 如何在R中对一个数据框的列进行排序?52. 如何在R中对一个数据框的多个列进行排序?53. 如何在R中对一个向量进行分组求和?54. 如何在R中对一个数据框的列进行分组求和?55. 如何在R中对一个向量进行分组统计?56. 如何在R中对一个数据框的列进行分组统计?57. 如何在R中对一个向量进行条件筛选?58. 如何在R中对一个数据框的列进行条件筛选?59. 如何在R中对一个向量进行条件替换?60. 如何在R中对一个数据框的列进行条件替换?61. 如何在R中对一个数据框的列进行合并去重?62. 如何在R中对一个数据框的列进行合并求和?63. 如何在R中对一个数据框的列进行合并求平均值?64. 如何在R中计算一个向量的累计和?65. 如何在R中计算一个向量的累计乘积?66. 如何在R中计算一个向量的累计均值?67. 如何在R中计算一个矩阵的累计和?68. 如何在R中计算一个矩阵的累计乘积?69. 如何在R中计算一个矩阵的累计均值?70. 如何在R中计算一个数据框的累计和?71. 如何在R中计算一个数据框的累计乘积?72. 如何在R中计算一个数据框的累计均值?73. 如何在R中计算两个向量的点积?74. 如何在R中计算两个向量的叉积?75. 如何在R中计算两个向量的欧几里得距离?76. 如何在R中计算两个矩阵的乘积?77. 如何在R中计算两个矩阵的点积?78. 如何在R中计算两个矩阵的叉积?79. 如何在R中将一个向量转换为矩阵?80. 如何在R中将一个向量转换为数据框?81. 如何在R中将一个向量转换为列表?82. 如何在R中将一个向量转换为因子?83. 如何在R中将一个矩阵转换为向量?84. 如何在R中将一个矩阵转换为数据框?85. 如何在R中将一个矩阵转换为列表?86. 如何在R中将一个矩阵转换为因子?87. 如何在R中将一个数据框转换为向量?88. 如何在R中将一个数据框转换为矩阵?89. 如何在R中将一个数据框转换为列表?90. 如何在R中将一个数据框转换为因子?91. 如何在R中将一个列表转换为向量?92. 如何在R中将一个列表转换为矩阵?93. 如何在R中将一个列表转换为数据框?94. 如何在R中将一个列表转换为因子?95. 如何在R中将一个因子转换为向量?96. 如何在R中将一个因子转换为矩阵?97. 如何在R中将一个因子转换为数据框?98. 如何在R中将一个因子转换为列表?99. 如何在R中将一个日期对象转换为字符对象?100. 如何在R中将一个字符对象转换为日期对象?这些问题涵盖了R语言中一些基本操作的方方面面,希望对您入门R语言有所帮助。
实验五数据结构(向量、因子、列表)实验目的:1.熟悉R中数据基本结构特点及使用方法2.熟悉R中向量的编辑方法3.熟悉R中因子的设置方法4.熟悉R中列表的编辑方法实验要求:完成每个实验内容的同时,在每题后面附上程序代码。
要求独立完成。
实验内容:一、编写一个函数,具有如下功能:1.输入参数为一个向量或者数据框2.计算向量(或数据框中的列向量)的均值、方差、标准差、中位数3.计算向量(或数据框中的列向量)的标准化得分4.将2与3中的计算结果存储到一个列表中作为函数返回对象> f<-function(x){+ mean<-mean(x)+ var<-var(x)+ sd<-sd(x)+ median<-median(x)+ m<-(x-mean(x))/sd(x)+ j<-list(f.mean=mean,f.var=var,f.sd=sd,f.median=median,f.m=m)+ j+ }二、有三组学生使用了不同的数学辅导教材,期末考试成绩如下。
问这三组学生的成绩有无显著差异?(使用stack函数将三组向量合并成一个向量以及一个平行因子,然后使用aov 函数或者oneway.test函数进行方差分析。
)第一组998899899490第二组555067675656第三组795689997089> x1<-c(99,88,99,89,94,90)> x2<-c(55,50,67,67,56,56)> x3<-c(79,56,89,99,70,89)> f<-stack(list(a=x1,b=x2,c=x3))> f1<-data.frame(f)> x1<-aov(values~ind,data=f1)> summary(a)Df Sum Sq Mean Sq F value Pr(>F)ind 2 3686 1843.2 17.68 0.000113 ***Residuals 15 1564 104.2---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’。
R语言练习一、填空1.下列变量名中的是合法变量(A)char_1,data_2,x_j (B)x*y ,a.1 (C)x\y ,a1234 (D)end ,2bcx 2.已知x 为一个向量,计算其正弦函数的运算为(A)SEC(X) (B)SIN(x) (C)sin(x) (D)secx 3.已知x =2^(0:3),则命令2*x 返回的结果为 4.命令rep(c(1,3),each=3)返回结果为 5.命令matrix(2:7,nrow=2,byrow=F)返回的结果为6.已知矩阵?=16128415117314106213951A ,则命令A%*%A 返回的结果为 7.已知矩阵??=129631185210741B ,则命令dim(B)返回的结果为 8.已知矩阵?=43214321A ,则命令rowSums(A)返回的结果为 9.已知矩阵=54324321A ,则命令apply(A,2,sum)返回的结果为10.命令rbind(1:3,1:4)返回的结果为11.执行命令b=list(name="Fred",wife="Mary",no.children=3,child.ages=c(4,7 ,9))后,则命令length(b)返回的结果为12.执行命令xx=array(1:24,c(3,4,2))后,则命令xx[2,1:3,2]返回的结果为13.已知变量x=c(2,3),则执行命令x[5]<-5后变量x 的结果为14.命令paste("x",1:5,sep="")返回的结果为 15.已知变量x=(1:10)+2,则命令x[1:5]返回的结果为二、写出相应的命令和程序:1、用函数rep()构造一个向量x,它由5个3,10个2,98个1构成2、10位同学的姓名、性别、年龄、身高、体重数据如下:Name Sex Age Height WeightAlice F 13 56.5 84.0Sandy F 11 51.3 50.5Sharon F 15 62.5 112.5Tammy F 14 62.8 102.5Alfred M 14 69.0 112.5Duke M 14 63.5 102.5Guido M 15 67.0 133.0Robert M 12 64.8 128.0Thomas M 11 57.5 85.0William M 15 66.5 112.0(1)用数据框的形式读入数据,数据框的名称为my.class(2)将上述数据写成一个纯文本的文件(文件名为class.txt),并用函数read.table()读取文件中的身高和体重数据(3)按性别分组绘制学生身高的直方图3、新建一个脚本文件,名为vector,,完成如下功能(1)创建一个2到50的向量vector1(2)选取vector1中的第10,15,20个元素(3)选取vector1中第10到20个元素(4)选取vector1中值大于40的元素(5)将向量中的数据降序排列4、新建一个脚本文件,名为plot,完成如下功能:(1)生成0到2之间的50个随机数,分别命名为x,y(2)绘制散点图,要求:主标题为:“散点图”,横轴命名为“横坐标”,纵轴命名为“纵坐标”设置文本颜色为红色(3)在散点图的坐标为(0.6,0.6)的位置写入文本“text at (0.6,0.6)”(4)在h=0.6,v=0.6处分别添加参考线5、编写一个函数sqtest,给出两个数之后,直接给出这两个数的平方和,并调用该函数,实现计算20^2+15^2。
R语言数据分析与挖掘知到章节测试答案智慧树2023年最新中央财经大学第一章测试1.下面哪些是R可以存储的数据对象?()。
参考答案:其余选项都是2.关于 attach( ) 函数说法正确的是?()。
参考答案:其余选项均正确3.下面哪些方式可以查看到帮助文档?()。
mean和help(mean)都正确4.假设 y<-c(1,2,3,-1,0,2), 那么关于语句 y[c(-2,-3)],说法正确的是___.()。
参考答案:执行该语句不会改变y的长度5.下面关于修改向量 x<-c(1,2,-1,-3,-5) 的说法错误的是___.()。
参考答案:执行语句 x<-0 后,x的值为 0,0,0,0,0第二章测试1.若从正态分布总体中抽样得到一组样本,样本的值为 1, -1, 2, 3, 4, 5, 1, 2, 4, 3,那么样本的中位数为?()。
2.52.若从正态分布总体中抽样得到一组样本,样本的值为7, 7, 5, 2, 5, 4, 7, 9, 4, 8,那么样本的众数为?()。
参考答案:73.最大值与最小值之间的差值称为?()。
参考答案:极差4.关于变异系数的说法正确的是?()。
参考答案:其余选项都正确5.若从正态分布总体中抽样得到一组样本,样本的值为 1, -1, 2, 3, 4, 5, 1, 2, 4, 3,4, 4, 那么下面哪些说法是正确的?.()。
参考答案:该样本只有一个众数;若要计算该样本的中位数,需要先对其进行排序;该样本的极差为6第三章测试1.分类变量用下面哪些图形来描述较为合适?()。
参考答案:饼图;条形图2.分类变量用哪些统计量来描述较为合适?()。
参考答案:比率;比例;频数3.下面哪些图形用来描述数值变量的分布情况更为恰当?()。
参考答案:直方图;概率密度曲线;箱线图4.下面哪些说法是正确的?()。
参考答案:在对数值变量离散化处理的情况下,可以使用条形图展示数值变量的分布形状;可以用点图展示数值变量的分布形状5.下面关于table( )函数说法正确的是?()。
R语言数据分析练习题参考答案一、问题描述在这个练习中,我们将进行R语言数据分析的练习,并给出相应的参考答案。
以下是各个问题的具体描述:1. 统计数据给定一个包含10个正整数的向量x,求出以下统计数据:(1)向量x的均值;(2)向量x的中位数;(3)向量x的最大值;(4)向量x的最小值;(5)向量x的标准差。
2. 数据可视化使用R语言绘制以下数据的散点图:(1)给定一个包含50个数据点的数据集,x轴为变量x,y轴为变量y;(2)给定一个包含100个数据点的数据集,x轴为变量x,y轴为变量y,并对数据点进行颜色编码。
3. 数据处理给定一个包含100个数据点的数据集,其中的数据存在缺失值。
请使用R语言进行数据处理,具体要求如下:(1)删除包含缺失值的数据点;(2)计算数据集的均值并输出;(3)使用均值填充缺失值,并重新计算数据集的均值并输出。
二、问题解答下面给出以上问题的详细解答。
1. 统计数据(1)向量x的均值:mean(x)(2)向量x的中位数:median(x)(3)向量x的最大值:max(x)(4)向量x的最小值:min(x)(5)向量x的标准差:sd(x)2. 数据可视化(1)散点图1:plot(x, y)(2)散点图2:plot(x, y, col = colors)3. 数据处理(1)删除包含缺失值的数据点:complete_data <- na.omit(data)(2)计算数据集的均值并输出:mean(data)(3)使用均值填充缺失值,并重新计算数据集的均值并输出:data_filled <- datadata_filled[is.na(data_filled)] <- mean(data_filled, na.rm = TRUE)mean(data_filled)以上就是R语言数据分析练习题的参考答案。
通过这些练习,希望能够帮助你熟悉R语言的数据分析操作,并掌握常用的统计和可视化技巧。
R语言作业1-5章第二章1.x1=c(1.00,0.80,0.26,0.67,0.34,0.80,1.00,0.33,0.59,0.34,0.26,0.33,1.00,0.37,0.21 ,0.67,0.59,0.37,1.00,0.35,0.34,0.34,0.21,0.35,1.00);x1A=matrix(x1,nrow=5,ncol=5);Asolve(A)A.e=eigen(A);A.eA.e$vectors%*%diag(A.e$values)%*%t(A.e$vectors)矩阵A:1.00 0.80 0.26 0.67 0.340.80 1.00 0.33 0.59 0.340.26 0.33 1.00 0.37 0.210.67 0.59 0.37 1.00 0.350.34 0.34 0.21 0.35 1.00矩阵A的逆矩阵[,1] [,2] [,3] [,4] [,5] [1,] 3.3881372 -2.1222233 0.23706087 -1.0684729 -0.10622799 [2,] -2.1222233 2.9421167 -0.33593309 -0.1330915 -0.16163579 [3,] 0.2370609 -0.3359331 1.20698521 -0.3763728 -0.08811984 [4,] -1.0684729 -0.1330915 -0.37637284 2.0091273 -0.21562437 [5,] -0.1062280 -0.1616358 -0.08811984 -0.2156244 1.18504738特征值[1] 2.7922569 0.8263366 0.7790638 0.4205873 0.1817554特征向量:[,1] [,2] [,3] [,4] [,5] [1,] -0.5255426 0.3402197 -0.1665086 0.15937771 0.74493565 [2,] -0.5186716 0.2343491 -0.1777739 0.50822995 -0.62141694 [3,] -0.3131429 -0.9030775 -0.2287038 0.14942789 0.10843643 [4,] -0.4966433 0.0386900 -0.1185744 -0.83115510 -0.21672526 [5,] -0.3317705 -0.1108387 0.9350433 0.05615655 0.01354831 2.2e2.2=read.table("clipboard",header=T);e2.2attach(e2.2)mean(X)sd(X)median(X)f=hist(X,breaks=c(1000,1300,1600,1900,2200,2500,2800,3100))f$countf$count/length(X)cumsum(f$count/length(X))qqnorm(X)qqline(X)detach(e2.2)平均工资1897.2工资方差455.9808工资中位数1872.5各组频率0.12 0.14 0.26 0.22 0.14 0.08 0.04累计频率0.12 0.26 0.52 0.74 0.88 0.96 1.00近似服从正态分布-2-101210001500200025003000Normal Q-Q PlotTheoretical QuantilesS a m p l e Q u a nt i l e sHistogram of XXF r e q u e n c y100015002000250030000246810122.3按列统计:e2.3=read.table("clipboard",header=T)e2.3summary(e2.3) attach(e2.3)barplot(table(Smoke)) plot(Study,Smoke) table(Smoke,Study) tab=table(Smoke,Study) prop.table(tab,1) prop.table(tab,2) prop.table(tab)prop=function(x) x/sum(x) apply(tab,2,prop) t(apply(tab,1,prop))Study Smoke <5h >10h 5-10h N 0.0 0.2 0.2 Y 0.3 0.1 0.2 Study Smoke <5h >10h 5-10h N 0.0000000 0.5000000 0.5000000Y 0.5000000 0.1666667 0.3333333Study<5h >10h 5-10h N 0 0.6666667 0.5 Y 1 0.3333333 0.5xy<5h>10h5-10hNY 0.00.20.40.60.81.0编号 是否抽烟 Smoke 每天学习时间 StudyMin. : 1.00 否:4 N:4 5-10小时 :4 5h :3 1st Qu.: 3.25 是:6 Y:6 超过10小时:3 10h :3 Median : 5.50 少于5小时 :3 5-10h:4 Mean : 5.50 3rd Qu.: 7.75 Max. :10.00第三章 3.2> barplot(apply(e3.2,1,mean))> boxplot(e3.2)e3.2=read.table("clipboard",header=T)e3.2summary(e3.2)barplot(apply(e3.2,1,mean)) boxplot(e3.2) stars(e3.2,full=T)stars(e3.2,full=T,draw.segments=T) library(aplpack)faces(e3.2,ncol.plot=7) library(mvstats) plot.andrews(e3.2)广州市珠海市江门市肇庆市汕尾市清远市潮州市50010001500> summary(e3.2)x1 x2 x3 x4Min. : 2.41 Min. : 0.68 Min. : 2.17 Min. : 0.011st Qu.: 26.21 1st Qu.: 7.56 1st Qu.: 25.05 1st Qu.: 0.64Median : 70.06 Median : 16.90 Median : 65.64 Median : 1.94Mean : 407.06 Mean :104.75 Mean : 390.92 Mean : 28.91 3rd Qu.: 465.07 3rd Qu.: 77.25 3rd Qu.: 447.08 3rd Qu.: 31.75Max. :3266.52 Max. :940.86 Max. :3120.18 Max. :350.60> stars(e3.2,full=T)x1x2x3x405001000150020002500300广州市韶关市深圳市珠海市汕头市佛山市江门市湛江市茂名市肇庆市惠州市梅州市汕尾市河源市阳江市清远市东莞市中山市潮州市揭阳市云浮市> stars(e3.2,full=T,draw.segments=T)> plot.andrews(e3.2)广州市韶关市珠海市汕头市佛山市江门市湛江市茂名市肇庆市惠州市梅州市汕尾市河源市阳江市清远市东莞市中山市潮州市揭阳市云浮市-3-2-10123-10000100020003000400050006000广州市韶关市深圳市珠海市汕头市佛山市江门市湛江市茂名市肇庆市惠州市梅州市汕尾市河源市阳江市清远市东莞市中山市潮州市揭阳市云浮市第四章4.1回归方程为Y=-0.6667+1.2667x残差平方和101.4667残差为3.000000 3.333333 -5.200000 1.600000 -6.266667 3.5333334.2Call:lm(formula = y ~ x1 + x2) Coefficients:(Intercept) x1 x2 5.319e-17 8.152e-01 -2.123e-02 x=c(10,5,7,19,11,8)y=c(15,9,3,25,7,13)xyplot(x,y)lxy<-function(x,y){n=length(x);sum(x *y)-sum(x)*sum(y)/n}lxy(x,x)lxy(x,y)b1=lxy(x,y)/lxy(x,x)b0=mean(y)-b1*mean(x)c(b1=b1,b0=b0)fm=lm(y~x)fmy1=b0+b1*xy1e=y-y1ee2=sum(e^2)e2x1=c(10,5,7,19,11,8)x2=c(2,3,3,6,7,9)y=c(15,9,3,25,7,13)y=(y-mean(y))/sd(y)x1=(x1-mean(x1))/sd(x1) x2=(x2-mean(x2))/sd(x2) fm=lm(y~x1+x2)fm相关系数为 0.9489428 残差的方差为0.2048199 回归方程为Y=0.1181+0.0036x R2= 0.9489428方差分析 Analysis of Variance Table Response: y Df Sum Sq Mean Sq F value Pr(>F) x 1 16.6816 16.6816 72.396 2.795e-05 *** Residuals 8 1.8434 0.2304 ---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1X 等于1000时预测y= 3.703262x=c(825,215,1070,550,480,920,1350,325,670,1215) y=c(3.5,1,4,2,1,3,4.5,1.5,3,5) plot(x,y) cor(x,y) lxy<-function(x,y){n=length(x);sum(x*y)-sum(x)*sum(y)/n} lxy(x,x) lxy(x,y) b=lxy(x,y)/lxy(x,x) a=mean(y)-b*mean(x) y1=a+b*x e=y-y1 (sd(e))^2fm=lm(y~x) fm (R2=summary(fm)$r.sq) (R=sqrt(R2)) anova(fm) y0=a+b*1000 y02004006008001000120012345xye4.4=read.table("clipboard",header=T);e4.4cor(e4.4)fm=lm(x3~x1+x2,data=e4.4)fmsummary(fm)R=sqrt(summary(fm)$r.squared);Rcor(e4.4)x1 x2 x3x1 1.0000000 0.3198116 0.5796714x2 0.3198116 1.0000000 0.4816453x3 0.5796714 0.4816453 1.0000000Call:lm(formula = x3 ~ x1 + x2, data = e4.4)Coefficients:(Intercept) x1 x2-22.7450 0.1511 1.2166Call:lm(formula = x3 ~ x1 + x2, data = e4.4)Residuals:1 2 3 4 5 6 78-1.1335 -3.9430 -0.6517 15.6699 -0.5939 2.7178 -16.2745 4.2089 Coefficients:Estimate Std. Error t value Pr(>|t|)(Intercept) -22.7450 30.6939 -0.741 0.492x1 0.1511 0.1132 1.335 0.239x2 1.2166 1.3094 0.929 0.395Residual standard error: 10.52 on 5 degrees of freedomMultiple R-squared: 0.4338, Adjusted R-squared: 0.2073F-statistic: 1.915 on 2 and 5 DF, p-value: 0.2412复相关系数R=0.6586解释变量与依赖变量之间线性关系不明显。
实验十数据可视化(绘图二)实验目的:1.熟悉R条形图的制作2.熟悉R直方图的制作3.熟悉用Q-Q图来检验分布的特征4.了解相关概率计算和随机抽样的R实现实验要求:完成每个实验容的同时,在每题后面附上程序代码。
要求独立完成。
实验容:一.1.对于iris数据,用每类花(iris$Speciees)的样本数作为高度,制作条形图。
heights<- table(iris$Species)barplot(heights)2.用每类花的Sepal.Length、Sepal.Width、Petal.Length、Petal.Width的平均值分别制作条形图,四图同显。
par(mfrow=c(2,2))attach(iris)SLength<- tapply(Sepal.Length, Species, mean)barplot(SLength,main="Mean Temp.by Sepal.Length",col=1)SWidth<- tapply(Sepal.Width, Species, mean)barplot(SWidth,main="Mean Temp.by Sepal.Width",col=2)PLength<- tapply(Petal.Length, Species, mean)barplot(PLength,main="Mean Temp.by Petal.Length",col=3)PWidth<- tapply(Petal.Width, Species, mean)barplot(PWidth,main="Mean Temp.by Petal.Width",col=4)3.分别制作Sepal.Length、Sepal.Width、Petal.Length、Petal.Width的直方图(用密度值做代表,设置prob=T),添加拟合的密度曲线,四图同显。
r语言作业参考答案R语言作业参考答案在学习R语言的过程中,作业是不可避免的一部分。
完成作业不仅可以巩固所学的知识,还可以提升对R语言的理解和运用能力。
然而,有时候我们可能会遇到一些难题,不知道如何下手。
本文将为大家提供一些常见R语言作业的参考答案,希望对大家有所帮助。
1. 数据读取和处理在R语言中,读取和处理数据是一个基本的操作。
常见的读取数据的函数有read.csv()和read.table()。
这两个函数可以读取以逗号分隔的csv文件和以制表符分隔的文本文件。
读取数据后,我们可以使用一些函数来处理数据,如subset()、filter()、mutate()等。
例如,如果作业要求读取一个名为data.csv的文件,并筛选出年龄大于30岁的数据,可以使用以下代码:```Rdata <- read.csv("data.csv")filtered_data <- subset(data, age > 30)```2. 数据可视化数据可视化是R语言的一个重要应用领域。
通过可视化数据,我们可以更直观地了解数据的分布和趋势。
在R语言中,常用的数据可视化函数有plot()、hist()、boxplot()、ggplot()等。
例如,如果作业要求绘制一个散点图,展示两个变量之间的关系,可以使用以下代码:```Rplot(data$variable1, data$variable2, main = "Scatter Plot", xlab = "Variable 1", ylab = "Variable 2")```3. 统计分析R语言在统计分析方面有着强大的功能。
通过使用一些统计函数,我们可以对数据进行描述性统计、假设检验、回归分析等。
例如,如果作业要求计算一组数据的均值和标准差,并进行两样本t检验,可以使用以下代码:```Rmean_value <- mean(data)sd_value <- sd(data)t_test <- t.test(data1, data2)```4. 机器学习R语言也是机器学习领域的一种常用工具。
2016年第二学期时间序列分析及应用R 语言课后作业 第三章 趋势3.4(a) data(hours);plot(hours,ylab='Monthly Hours',type='o') 画出时间序列图(b) data(hours);plot(hours,ylab='Monthly Hours',type='l')type='o' 表示每个数据点都叠加在曲线上;type='b' 表示在曲线上叠加数据点,但是该数据点附近是断开的;type='l' 表示只显示各数据点之间的连接线段;type='p' 只想显示数据点。
points(y=hours,x=time(hours),pch=as.vector(season(hours)))3.10(a)TimeM o n t h l y H o u r s1983198419851986198739.039.540.040.541.041.5TimeM o n t h l y H o u r s1983198419851986198739.039.540.040.541.041.5TimeM o n t h l y H o u r s1983198419851986198739.039.540.040.541.041.5J A SO N D J FM A M J J AS O N DJ F M AM J J A S O N DJ F MA M JJA S ON DJ FM AMJ JA S ONDJ F M AM Jdata(hours);hours.lm=lm(hours~time(hours)+I(time(hours)^2));summary(hours.lm) 用最小二乘法拟合二次趋势,结果显示如下: Call:lm(formula = hours ~ time(hours) + I(time(hours)^2))Residuals:Min 1Q Median 3Q Max -1.00603 -0.25431 -0.02267 0.22884 0.98358Coefficients:Estimate Std. Error t value Pr(>|t|) (Intercept) -5.122e+05 1.155e+05 -4.433 4.28e-05 *** time(hours) 5.159e+02 1.164e+02 4.431 4.31e-05 *** I(time(hours)^2) -1.299e-01 2.933e-02 -4.428 4.35e-05 *** ---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 0.423 on 57 degrees of freedomMultiple R-squared: 0.5921, Adjusted R-squared: 0.5778 F-statistic: 41.37 on 2 and 57 DF, p-value: 7.97e-12(b)plot(y=rstudent(hours.lm),x=as.vector(time(hours)),type='l',ylab='Standardized Residuals')points(y=rstudent(hours.lm),x=as.vector(time(hours)),pch=as.vector(season(hour s)))标准残差的时间序列,应用月度绘图标志。
r语言作业个人总结与心得在学习R语言的过程中,我遇到了许多挑战和困惑,但同时也收获了很多知识和经验。
通过这次作业,我对R语言的应用和数据分析有了更深入的了解。
下面我将总结我在这次作业中遇到的问题、解决方法以及个人心得体会。
我遇到的第一个问题是如何读取和处理数据。
在这次作业中,我需要分析一份包含大量数据的CSV文件。
我通过使用R语言中的read.csv()函数成功读取了文件,并将其转换为数据框的形式。
接着,我遇到了数据清洗的问题,其中包括处理缺失值、异常值和重复值。
我学习并使用了R语言中的函数如is.na()、complete.cases()和duplicated()来处理这些问题。
我面临的另一个挑战是如何进行数据分析和统计。
在这次作业中,我需要计算数据的均值、中位数、标准差等统计指标,并绘制相关的图表。
我学习并使用了R语言中的函数如mean()、median()、sd()、hist()和plot()来完成这些任务。
同时,我也学习了如何使用R语言中的包(package)来扩展R的功能,比如使用ggplot2包绘制更美观和灵活的图表。
我还遇到了数据可视化的问题。
在这次作业中,我需要将数据以柱状图、散点图和折线图的形式展示出来,以便更直观地理解数据的分布和趋势。
通过学习和使用ggplot2包,我成功绘制了这些图表,并通过调整颜色、标题、坐标轴等参数使其更具可读性和美观性。
在解决问题的过程中,我意识到编程思维的重要性。
在处理数据和进行分析时,我需要清晰地定义问题,找到合适的方法和函数,并按照一定的逻辑顺序编写代码。
我学会了使用注释来解释代码的含义和目的,以及使用变量和函数命名来提高代码的可读性。
此外,我还学会了调试代码,通过输出变量的值和使用print()函数来查找错误和改进代码。
通过这次作业,我不仅学会了R语言的基本语法和常用函数,还学会了如何处理和分析数据,以及如何将结果可视化。
我深刻体会到了数据分析的重要性和应用价值,也更加清晰地认识到自己在学习和实践中的不足之处。
R语⾔习题⼀组学⽣参加了数学、科学与英语考试。
为了给所有得学⽣确定⼀个单⼀得成绩衡量指标,需要将这些科⽬得成绩组合起来。
另外,还想将前20%得学⽣评定为A,接下来20%得学⽣评定为B,以此类推。
最后,希望按字母顺序对学⽣排序。
Excel中得数据表StuId StuName Math Science English1 J ohn Davis 502 95 252 A ngela Williams 465 67 123 B ull Jones 621 78 224 C heryl Cushing 575 66 185 R euven Ytzrhak 454 96 156 J oel Knox 634 89 307 M ary Rayburn 576 78 378 G reg England 421 56 129 B rad Tmac 599 68 2210 T racy Mcgrady 666 100 381:输⼊数据——R语⾔导⼊xlsx>install、packages("xlsx")>library(xlsx)>workbook<"D:/R /StuScore、xlsx">StuScore>StuScore2:数据预处理——将变量进⾏标准化> options(digits=2)#限定为2位⼩数> afterscale> afterscaleMath Science English[1,] 0、58 1、040 0、20[2,] 1、02 0、815 1、17[3,] 0、82 0、086 0、12[4,] 0、28 0、881 0、54[5,] 1、15 1、106 0、86[6,] 0、98 0、643 0、73[7,] 0、29 0、086 1、47[8,] 1、54 1、544 1、17[9,] 0、56 0、749 0、12[10,] 1、35 1、372 1、57attr(,"scaled:center")Math Science English551 79 23attr(,"scaled:scale")Math Science English84、7 15、1 9、53:通过函数mean来计算各⾏得均值以及获得综合得分,并使⽤cbind将其添加到花名册中> #3在afterscale中计算标准差均值,并将其添加到StuScore> score> StuScore> StuScoreStuId StuName Math Science English score1 1 John Davis 502 95 25 0、222 2 Angela Williams 465 67 12 1、003 3 Bull Jones 621 78 22 0、214 4 Cheryl Cushing 575 66 18 0、385 5 Reuven Ytzrhak 454 96 15 0、306 6 Joel Knox 634 89 30 0、787 7 Mary Rayburn 576 78 37 0、568 8 Greg England 421 56 12 1、429 9 Brad Tmac 599 68 22 0、1010 10 Tracy Mcgrady 666 100 38 1、434:函数quantile给出学⽣综合得分得百分位数quantile(x,probs):求分位数,其中x为待求分位数得数值型向量,probs为⼀个由[0,1]之间得概率值组成得数值向量> afterquantile> afterquantile80% 60% 40% 20%0、60 0、21 0、18 0、505:使⽤逻辑运算符,把score转为等级(离散型)> StuScore$grade[score>=afterquantile[1]]<"A"> StuScore$grade[score=afterquantile[2]]<"B"> StuScore$grade[score=afterquantile[3]]<"C"> StuScore$grade[score=afterquantile[4]]<"D"> StuScore$grade[score> StuScoreStuId StuName Math Science English score grade1 1 John Davis 502 95 25 0、22 B2 2 Angela Williams 465 67 12 1、00 E3 3 Bull Jones 621 78 22 0、21 B4 4 Cheryl Cushing 575 66 18 0、38 E5 5 Reuven Ytzrhak 454 96 15 0、30 E6 6 Joel Knox 634 89 30 0、78 B7 7 Mary Rayburn 576 78 37 0、56 B8 8 Greg England 421 56 12 1、42 E9 9 Brad Tmac 599 68 22 0、10 E10 10 Tracy Mcgrady 666 100 38 1、43 B6:使⽤strsplit以空格为界把学⽣姓名拆分为姓⽒与名字> StuScore$StuName> is、character(StuScore$StuName)[1] TRUE> name> name[[1]][1] "John" "Davis"[[2]][1] "Angela" "Williams"[[3]][1] "Bull" "Jones"[[4]][1] "Cheryl" "Cushing"[[5]][1] "Reuven" "Ytzrhak"[[6]][1] "Joel" "Knox"[[7]][1] "Mary" "Rayburn"[[8]][1] "Greg" "England"[[9]][1] "Brad" "Tmac"[[10]][1] "Tracy" "Mcgrady"7:把name分成Firstname与LastName,加⼊到StuScore中> FirstName> LastName> StuScore> StuScoreFirstName LastName LastName StuName Math Science English score grade1 John Davis Davis John Davis 502 95 25 0、22 B2 Angela Williams Williams Angela Williams 465 67 12 1、00 E3 Bull Jones Jones Bull Jones 621 78 22 0、21 B4 Cheryl Cushing Cushing Cheryl Cushing 575 66 18 0、38 E5 Reuven Ytzrhak Ytzrhak Reuven Ytzrhak 454 96 15 0、30 E6 Joel Knox Knox Joel Knox 634 89 30 0、78 B7 Mary Rayburn Rayburn Mary Rayburn 576 78 37 0、56 B8 Greg England England Greg England 421 56 12 1、42 E9 Brad Tmac Tmac Brad Tmac 599 68 22 0、10 E10 Tracy Mcgrady Mcgrady Tracy Mcgrady 666 100 38 1、43 B 8:order排序> StuScore[order(LastName,FirstName),]FirstName LastName LastName StuName Math Science English score grade4 Cheryl Cushing Cushing Cheryl Cushing 575 66 18 0、38 E1 John Davis Davis John Davis 502 95 25 0、22 B8 Greg England England Greg England 421 56 12 1、42 E3 Bull Jones Jones Bull Jones 621 78 22 0、21 B6 Joel Knox Knox Joel Knox 634 89 30 0、78 B 10 Tracy Mcgrady Mcgrady Tracy Mcgrady 666 100 38 1、43 B7 Mary Rayburn Rayburn Mary Rayburn 576 78 37 0、56 B9 Brad Tmac Tmac Brad Tmac 599 68 22 0、10 E 2 Angela Williams Williams Angela Williams 465 67 12 1、00 E 5 Reuven Ytzrhak Ytzrhak Reuven Ytzrhak 454 96 15 0、30 E 9:为StuScore绘制分组条形图install、packages("vcd")library(vcd)fill_colorsfor(i in 1:length(StuScore$Science)){if(StuScore$Science[i]==100){fill_colors}else if(StuScore$Science[i]<100&&StuScore$Science[i]>=80){fill_colors}else if(StuScore$Science[i]<80&&StuScore$Science[i]>=60){fill_colors}else{fill_colors}}barplot(StuScore$Science, #条形图main="Science Score",xlab="Name",ylab="ScienceScore",col=fill_colors,names、arg=(paste(substr(FirstName,1,1),"、",LastName)), #设定横坐标名称border=NA, #条形框不设置边界线font、main=4,font、lab=3,beside=TRUE)legend(x=8、8,y=100, #左上⾓点得坐标cex=、8, #缩放⽐例inset=5,c("Excellent","Good","Ordinary","Bad"),pch=c(15,16,17,19), #图例中得符号col=c("red","yellow","blue","green"),bg="#821122", #背景⾊xpd=TRUE, #可以在绘图区之外显⽰text、font=8,text、width=、8,text、col=c("red","yellow","blue","green")weightsq、heightratiot、test(ratio,mu=22、5) #t检验11:将三种不同菌型得伤寒病毒a,b,c分别接种于100,9,11只⼩⽩⿏上,观察其存活天数,问三种菌型下⼩⽩⿏得平均存活天数就是否有显著差异。
作业一、写出下列问题R代码1、正态分布N(1,4),求P(1<X<6) 。
> pnorm(6,mean=1,sd=2)-pnorm(1,mean=1,sd=2) 前缀p―分布函数[1] 0.49379032、对向量x,写出其元素都等于0的条件。
> if(all(x==0))3、写出包含12个月份名称的向量。
> [1:12][1] "January" "February" "March" "April" "May" "June"[7] "July" "August" "September" "October" "November" "December"法二:老师讲的paste(1:12,’月’,sep=’’)4、显示x第31到40号元素。
> x[31:40]5、把x第21,25,39号元素赋值为0。
> x[c(21,25,39)]=01.x[21]=x[25]=x[39]=06、显示x中除了第10号和第30号的元素之外的子集。
> x[c(-10,-30)]7、列出x中个位数等于3的元素。
> x[x%%10==3]8列出x中个位数等于3的元素的下标位置。
> which(x%%10==3)9给x的每一个元素加上名字,为x1到x100。
> names(x)=paste('x',1:100,sep='')(4-9题的x为用命令rnorm()命令产生100个均值为10,方差为3的正态分布随机数)> rnorm(n=100,mean=10,sd=sqrt(3))二、区间估计假设检验1、从一个正态总体中抽取一个随机样本,n = 25,其均值为50,标准差为8。
R语言是一种广泛用于统计分析、图形表示和报告的编程语言和软件环境。
下面是一些可能在R语言实验中遇到的问题和练习题:1. 安装和配置R语言环境。
- 如何安装R语言?- 如何安装RStudio?- 如何设置工作目录和加载必要的包?2. R语言基本语法和数据结构。
- 如何创建向量、矩阵和列表?- 如何操作和转换数据框(data.frame)和矩阵?- 如何使用因子(factor)和字符串(stringsAsFactors)?3. 数据导入和导出。
- 如何从CSV文件导入数据?- 如何将数据导出为CSV或Excel格式?- 如何使用`readxl`包导入Excel文件?4. 数据清洗和处理。
- 如何检查和处理缺失值?- 如何筛选和选择数据子集?- 如何重塑数据集(melt)和聚合数据(pivot)?5. 高级数据管理和分析。
- 如何使用`dplyr`包进行数据操控?- 如何使用`tidyr`包进行数据整理?- 如何使用`ggplot2`进行数据可视化?6. 基本统计分析和函数。
- 如何计算描述性统计量(均值、中位数、标准差等)?- 如何使用`summarise`函数进行汇总统计?- 如何编写自定义函数?7. 机器学习和支持向量机。
- 如何使用`caret`包进行机器学习模型训练?- 如何实现支持向量机(SVM)模型?- 如何进行模型评估和验证?8. 基因表达数据分析和生物信息学。
- 如何使用`edgeR`或`limma`包分析RNA-seq数据?- 如何进行基因富集分析?- 如何使用`ggplot2`绘制基因表达热图?9. 网络分析和社会科学数据。
- 如何使用`igraph`包进行网络分析?- 如何处理和分析社交媒体数据?- 如何使用`ggplot2`绘制网络图?10. 时间序列分析和经济学数据。
- 如何使用`forecast`包进行时间序列预测?- 如何处理和分析宏观经济数据?- 如何使用`ggplot2`绘制时间序列图?这些实验题覆盖了R语言的不同应用领域,从基本的数据操作和统计分析到高级的机器学习和网络分析。
实验十数据可视化(绘图二)
实验目的:
1.熟悉R条形图的制作
2.熟悉R直方图的制作
3.熟悉用Q-Q图来检验分布的特征
4.了解相关概率计算和随机抽样的R实现
实验要求:完成每个实验内容的同时,在每题后面附上程序代码。
要求独立完成。
实验内容:
一.
1.对于iris数据,用每类花(iris$Speciees)的样本数作为高度,制作条形图。
heights<- table(iris$Species)
barplot(heights)
2.用每类花的Sepal.Length、Sepal.Width、Petal.Length、Petal.Width的平均值分别制作条形图,四图同显。
par(mfrow=c(2,2))
attach(iris)
SLength<- tapply(Sepal.Length, Species, mean)
barplot(SLength,main="Mean Temp.by Sepal.Length",col=1)
SWidth<- tapply(Sepal.Width, Species, mean)
barplot(SWidth,main="Mean Temp.by Sepal.Width",col=2)
PLength<- tapply(Petal.Length, Species, mean)
barplot(PLength,main="Mean Temp.by Petal.Length",col=3)
PWidth<- tapply(Petal.Width, Species, mean)
barplot(PWidth,main="Mean Temp.by Petal.Width",col=4)
3.分别制作Sepal.Length、Sepal.Width、Petal.Length、Petal.Width的直方图(用密度值做代表,设置prob=T),添加拟合的密度曲线,四图同显。
par(mfrow=c(2,2))
attach(iris)
hist(Sepal.Length,prob=T,col=5)
lines(density(Sepal.Length))
hist(Sepal.Width,prob=T,col=2)
lines(density(Sepal.Width))
hist(Petal.Length,prob=T,col=3)
lines(density(Petal.Length))
hist(Petal.Width,prob=T,col=4)
lines(density(Petal.Width))
4.分别制作Sepal.Length、Sepal.Width、Petal.Length、Petal.Width的正态Q-Q图,四图同显,并说明他们的正态性。
par(mfrow=c(2,2))
attach(iris)
qqnorm(Sepal.Length, main="Q-Q Plot: Sepal.Length",col=5)
qqline(Sepal.Length,col=5)
qqnorm(Sepal.Width, main="Q-Q Plot: Sepal.Width",col=6)
qqline(Sepal.Width,col=6)
qqnorm(Petal.Length, main="Q-Q Plot: Petal.Length",col=9)
qqline(Petal.Length,col=9)
qqnorm(Petal.Width, main="Q-Q Plot: Petal.Width",col=8)
qqline(Petal.Width,col=8)
二.用随机模拟的方法计算下面积分的数值,并和实际值作比较。
π
∫sin xdx
m<-100000
sam<-data.frame(x=runif(m,0,pi),y=runif(m,0,1))
head(sam$y<=sin(sam$x))
plot(sam)
abline(h=c(0,1),v=c(0,pi),col="red")
points(sam[sam$y<=sin(sam$x),],col="yellow")
> a<-4*sum(sam$y<=sin(sam$x))/m
> a
[1] 2.55812
实际值
> b<--(cos(pi)-cos(0))
> b
[1] 2
三.模拟来自指数分布随机变量的样本均值的极限分布。
x<-rexp(1000)
n<-c(2,5,10,60)
m<-10000
xbar<-data.frame()
for(i in 1:length(n)){
for(j in 1:m)
xbar[j,i]<-mean(sample(x,n[i],rep=T))
}
par(mfrow=c(2,2))
for(i in 1:4)
hist(xbar[,i],50,main=paste("n=",n[i]),prob=T)。