R语言第十周作业

合集下载

R语言统计分析作业

R语言统计分析作业

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语言数据处理 作业

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语言)及参考答案

“生物统计学”课程作业(R语言)及参考答案

“生物统计学”课程作业(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。

R语言练习题【精选文档】

R语言练习题【精选文档】

统计软件实验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语言菜鸟练习笔记 10

R语言菜鸟练习笔记 10
•totalpv1<-ratepv1+totalpv1
•}
•for(j in 1:t){
•ratepv2<-(rate*j)/((1+m)^j)
•totalpv2<-ratepv2+totalpv2
•}
•d<-(totalpv2+extra*t/((1+m)^t))/(totalpv1+extra/((1+m)^t))
•return (d)
•}
•两债券
•债券A刚发行,其面值为1000元票面利率为8%,期限为十年。
•债券B 5年前发行,面值为1000元,票面利率12%,期限为15年,还有10年到期。
•计算(贴现率8%)
•1债券A与债券B的价格
•2计算债券A和B的久期
fun2<-function(extra,r,t){
count<-0
for(i in 1:1284){
sort(abc[i,j])
}
data[6,j]<-abc[1284/2,j]
}
for(j in 1:20){
count<-0
for(i in 1:1284){
sort(abc[i,j])
}
data[7,j]<-abc[1284*3/4,j]
}
return (data)
R语言笔记
•以债券,期限5年,面值2000元,票息率为10%,按贴现率8%,计算该债券的久期
•fun1<-function(extra,r,t,m){
•totalpv1<-0
•totalpv2<-0
•rate<-extra*r

r语言入门100道题

r语言入门100道题

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语言有所帮助。

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语言练习

R语言练习

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。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验十数据可视化(绘图二)
实验目的:
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)。

相关文档
最新文档