R语言练习题
- 格式:doc
- 大小:148.71 KB
- 文档页数:8
考题理论题 (50分)⽆特殊标注的题为1分,其它为标注的分数。
选答题特殊标注,若⽆标注,则必答。
必答题不答着,不合格。
1. 简述R,Rstudio的区别?2. R中如何查看函数的帮助信息?3. R中变量名字命名有什么需要遵守的规则?4. R中怎么判断⼀个变量的类型是数值型?5. scale函数对数据做了什么? (2分)6. R中如何把矩阵 (matrix)转换为数据框 (data frame)?7. 取出矩阵中所有值都为0的⾏? (2分)8. 写程序从矩阵和数据框中提取特定列?9. 简述reshape2中定义的wide format和long format矩阵的区别? ggplot2绘图接受的是那种格式? (3分)10. ggplot2绘制热图使⽤的是什么函数? (2分)11. ggplot2绘图时fill和color的区别是? (2分)12. ggplot2绘图时如何调整横轴标签的旋转⻆度?13. 因矩阵中数值相差很⼤导致绘制出的热图颜⾊区分不明显时有哪⼏种解决⽅式? (3分)14. ggplot2绘制热图时如何⾃定义⾏或列的顺序? (3分)15. 箱线图怎么理解?(2分)16. ggplot2绘图时如何调整legend的位置?17. ⽕⼭图横轴和纵轴分别表⽰什么?18. PCA图怎么理解? (2分)19. ⽣存分析图怎么理解? (2分)20. R中安装包的⽅式有⼏种? (2分)21. Cytoscape输⼊数据最少需要⼏列? (2分)22. Cytoscape中有哪⼏种常⽤的布局算法? (3分)23. Cytoscape怎么给边增加箭头? (2分)24. Cytoscape中怎么插⼊柱状图? (2分)25. ⽮量图和标量图有什么区别? (2分)26. 什么是Adobe Illustrator (AI)的剪切蒙版?27. AI中选择⼯具和直接选择⼯具什么区别?28. AI中设置⼀组⽂字之间等距对⻬使⽤哪个按钮?29. AI中怎么给⼀个组分赋予另⼀组分的属性,⽐如有1条线是2 pt 红⾊,如何快速的让其它线跟其属性⼀致?。
Sample Midterm,Statistics133,Fall20121.What is meant by“vectorized calculations”in R?Provide an example.If we have a vector x,an expression such as,x+2or x3,is vectorized in that the computation is performed on each element of the vector,i.e.2is added to each element of x or each element of x is cubed.There is no need to loop of each element of the vector to perform the computation.2.Describe two important di↵erences between a data frame and a matrix in R.A data frame is essentially a list of vectors of the same length,whereas a matrix isessentially a vector with shape information.Data frames can have columns/vectors that are di↵erent types,whereas all values ina matrix must be the same primitive element.Data frames can be indexed with$3.Data on37parents of babies born at Kaiser Hospital in the1960s is available in adata frame called parents.The variables age,ed,ht,and wt are the mother’s age, education level,height and weight.The variables that start with the letter d are corresponding variables for the fathers.>head(parents)age ed ht wt dage ded dht dwt marital inc127College6210031College65110Married[2500,5000)233College6413538College70148Married[7000,8000)328High School6411532Some High School NA NA Married[5000,6000) 436College6919043Some College68197Married[12500,15000)523College6712524College NA NA Married[2500,5000)625High School629328High School64130Married[7000,8000)Provide the return value for each of the following expressions:dim(parents)[1]3710class(parents\$marital)[1]"factor"Write an R expression tofind the subset of parents where the mother is over40.parents[parents$age>40,]Write an R expression using an apply function to return the class of each variable in the data frame.sapply(parents,class)Write one R expression using an apply function to return the number of NAs in each variable(recall that there is an is.na()function returns a logical indicating the presence of NAs)sapply(parents,function(x)sum(is.na(x)))4.Here is a list in R,>x$a[1]0.038954420.776588660.83532332$b[,1][,2][1,]14[2,]25[3,]36Write one line of R code to extract thefirst row of the matrix.x$b[1,]5.Suppose we have a matrix m in R,and we’ve just executed the following:>dim(m)[1]50003>head(m)[,1][,2][,3][1,]-2.2468718-0.7733515-3.4332337[2,]0.5771791-0.70585520.8052004[3,]-1.0125651-0.2699696-1.1368809[4,]-0.2504269-1.1205857-0.3498572[5,] 2.67471950.25506780.1225329[6,] 1.0095424-1.29000790.1387224We need to create a vector containing the sum of the squared entries in each row of m.Write R code to do this in two di↵erent ways:(a)using a for loopsumM=rep(0,nrow(m))for(i in1:m){sumM[i]=sum(m[i,]^2)}(b)using the apply functionapply(m,1,function(x)sum(x^2))6.Write down what the value of x will contain after each line of R code,if the commandsare executed sequentially.>x=seq(0,8,length=5)02468>x[x<4]=NANA NA468>x[5]=10NA NA4610>x[]=000000>x=12127.Someone wants to study the distribution of the sum of three rolls of a die.To do thisshe designs a simulation study.In thefirst step,she writes a function to generate the sum of three random tosses of a fair die.In the second step she uses this function to generate1,000of these sums.(a)Write the function for thefirst step.sum3=function(){sum(sample(1:6,3,replace=TRUE))}(b)Write one line of code that uses the function from thefirst step to generate the1,000random sumsreplicate(1000,sum3)8.We want to compute the sum of the absolute deviations from the median for a vector.For example for a vector x=1:3,x has a median of2,and the absolute deviations from the median are1,0,and1so the sum of the absolute deviations from the median is2.。
r语言编程试题
以下是一些R语言的编程试题,这些试题考察的是基础的编程技能和对R语言
的掌握情况。
1.题目:假设有一个数据框(data.frame),其名称是"mydata",请你创建一个新的变量(列),
其名为"newvar",值为原变量"oldvar"的两倍。
r
mydata$newvar <- 2 * mydata$oldvar
2.题目:在R语言中,假设我们有一个向量v = c(1, 2, 3, 4, 5),我们想要创建一个新向
量v_squared,其中包含v中每个元素的平方。
r
v <- c(1, 2, 3, 4, 5)
v_squared <- v^2
3.题目:假设我们有一个数据框df,其中包含两列:一列是日期(date),一列是温度(temp)。
我们想要按日期对df进行排序,并且使得温度列的值显示为正数。
r
df <- df[order(df$date), ]
df$temp <- abs(df$temp)
4.题目:假设我们有一个向量x = c(1, 2, 3, 4, 5),我们想要计算x中所有元素的和。
r
x <- c(1, 2, 3, 4, 5)
sum <- sum(x)
5.题目:假设我们有一个数据框df,其中包含两列:一列是姓名(name),一列是年龄
(age)。
我们想要筛选出年龄大于等于20岁的人,并查看他们的姓名。
r
df <- df[df$age >= 20, ]
print(df$name)。
R语言自测习题(附答案)Sample Midterm,Statistics133,Fall20121.What is meant by“vectorized calculations”in R?Provide an example.If we have a vector x,an expression such as,x+2or x3,is vectorized in that the computation is performed on each element of the vector,i.e.2is added to each element of x or each element of x is cubed.There is no need to loop of each element of the vector to perform the computation.2.Describe two important di?erences between a data frame and a matrix in R.A data frame is essentially a list of vectors of the same length,whereas a matrix isessentially a vector with shape information.Data frames can have columns/vectors that are di?erent types,whereas all values ina matrix must be the same primitive element.Data frames can be indexed with$3.Data on37parents of babies born at Kaiser Hospital in the1960s is available in adata frame called parents.The variables age,ed,ht,and wt are the mother’s age, education level,height and weight.The variables that start with the letter d are corresponding variables for the fathers.>head(parents)age ed ht wt dage ded dht dwt marital inc127College6210031College65110Married[2500,5000)233College6413538College70148Married[7000,8000)328High School6411532Some High School NA NAMarried[5000,6000) 436College6919043Some College68197Married[12500,15000)523College6712524College NA NA Married[2500,5000)625High School629328High School64130Married[7000,8000) Provide the return value for each of the following expressions: dim(parents)[1]3710class(parents\$marital)[1]"factor"Write an R expression to?nd the subset of parents where the mother is over40.parents[parents$age>40,]Write an R expression using an apply function to return the class of each variable in the data frame.sapply(parents,class)Write one R expression using an apply function to return the number of NAs in each variable(recall that there is an is.na()function returns a logical indicating the presence of NAs) sapply(parents,function(x)sum(is.na(x)))4.Here is a list in R,>x$a[1]0.038954420.776588660.83532332$b[,1][,2][1,]14[2,]25[3,]36Write one line of R code to extract the?rst row of the matrix.x$b[1,]5.Suppose we have a matrix m in R,and we’ve just executed the following:>dim(m)[1]50003>head(m)[,1][,2][,3][1,]-2.2468718-0.7733515-3.4332337[2,]0.5771791-0.70585520.8052004[3,]-1.0125651-0.2699696-1.1368809[4,]-0.2504269-1.1205857-0.3498572[5,] 2.67471950.25506780.1225329[6,] 1.0095424-1.29000790.1387224We need to create a vector containing the sum of the squared entries in each row of m.Write R code to do this in two di?erent ways:(a)using a for loopsumM=rep(0,nrow(m))for(i in1:m){sumM[i]=sum(m[i,]^2)}(b)using the apply functionapply(m,1,function(x)sum(x^2))6.Write down what the value of x will contain after each line of R code,if the commandsare executed sequentially.>x=seq(0,8,length=5)02468>x[x<4]=NANA NA468>x[5]=10NA NA4610>x[]=000000>x=12127.Someone wants to study the distribution of the sum of three rolls of a die.To do thisshe designs a simulation study.In the?rst step,she writes a function to generate the sum of three random tosses of a fair die.In the second step she uses this function to generate1,000of these sums.(a)Write the function for the?rst step.sum3=function(){sum(sample(1:6,3,replace=TRUE))}(b)Write one line of code that uses the function from the?rst step to generate the1,000random sumsreplicate(1000,sum3)8.We want to compute the sum of the absolute deviations from the median for a vector.For example for a vector x=1:3,x has a median of2,and the absolute deviations from the median are1,0,and1so the sum of the absolute deviations from the median is2.。
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语言有所帮助。
一、填空题(每小题2分,共40分)1.Auckland(奥克兰)大学的Robert Gentleman和Ross Ihaka及其他志愿人员开发了一个R系统,目前由______________维护.答:2.求均值函数是_____________.答:3.求标准差函数是_____________.答:4.向量建立函数是_____________.答:5.表示赋值的符号是<- 和_____________.答:6.x = c(0/1, 0/0, 1/0, NA); 则x= ____________________________.答:bs = paste("X", 1:6, sep = ""); 则labs= ____________________________.答:8.x = c(1,4,7); 则x[x<5] = ____________________________.答:9.z = c(-1, 1:3, NA); y = z[!is.na(z)]; 则y= ____________________________.答:10.v = 10:20, 则v[-(1:5)]= ____________________________.答:11.要使用aov()函数进行方差分析,应当具备可加性,独立正态性和___________.答:12.单因素方差分析中在比较两个以上的总体时,广泛使用Kruskal-Wallis秩和检验,它是对两个以上样本进行比较的非参数检验方法, 其函数是_________________.答:13.在R软件中,对数据进行中心化(不做标准化)的计算函数为______________________.答:14.主成分分析(principal component analysis)是将多指标化为少数几个__________的一种统计分析方法.答:15.查看当前工作路径的命令为?将当前工作路径的修改为D:\program files\newR的命令为?答:16.加载vegan包的命令为?查看当前工作空间已经加载的包的命令为?答:17.表示赋值的符号有?答:18.查看工作空间中所有以字母a开头的对象的命令为?删除工作空间中包含字母b的所有对象的命令为?答:19.计算数据x的中位数的命令为?计算数据x的20%和70%分位点的值的命令为?答:20.Shapiro-Wilk正态性W检验函数为?经验分布的Kolmogorov-Smirnov检验函数为?答:二、简答题(每小题5分,共10分)1.在多元线性回归模型中,判断解释变量之间是否存在多重共线性的函数为?判断标准是什么?若存在多重共线性,应该怎么处理?答:2.编写一个R程序(函数):输入一个整数n,如果n ≤ 0,则中止运算,并输出一句话:“要求输入一个正整数”;否则,如果n是偶数,则将n除以2,并赋给n;否则,将3 n + 1赋给n。
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。
2020-2021学年第二学期《R语言数据分析方法与实验》期末考试试题第一题(共35分)探索nycflights13数据集1.从flights数据中找出到达时间延误2小时或者更多的所有航班,并将生成的新数据保存为flight_arr2hr。
(5分)2.将生成的flight_arr2hr数据集根据目的地(dest)进行分组,统计出抵达每个目的地的航班数量,筛选出抵达航班数量前十名的目的地,将结果命名为top10_dest。
(5分) 3.从weather表中挑选出以下变量:year, month, day, hour, origin, humid, wind_speed,并将其与flight_arr2hr表根据共同变量进行左连接, 生成的新数据保存为flight_weather (5分)4.基于flight_weather数据集,根据不同出发地(origin)在平行的三个图中画出风速wind_speed(x轴)和出发延误时间dep_delay(y轴)的散点图,以及平滑曲线。
(5分)5.flights中每家航空公司在2013年有多少班次的航班被取消了?提示:依据dep_time来判断某班次航班是否被取消(5分)6.找出flights中每一家航空公司的航班最常去的目的地机场,以及flights中每家航空公司飞往最常去的目的地机场的航班数量(10分)第二题(共20分)探索diamonds数据集1.对diamonds数据集,生成一个新变量id,用于存储每条观测值所在的行数。
挑选出id, x, y, z四个变量,将宽数据转换为长数据:将x, y, z的变量名存为新变量dimension,将x, y, z的值存为新变量length。
转换后的长数据存为xyz_long。
(5分)2.将xyz_long数据集转换回宽数据xyz_wide。
宽数据xyz_wide包含id, x, y, z四个变量。
(5分)3.写代码找出diamonds中最常见和最不常见的color,即出现次数最多和最少的color。
r语言基础题共20题含详解理解R 语言的基础知识对于进行数据分析和统计建模是至关重要的。
以下是一组R 语言的基础题目,每个题目都附有解释和答案。
1. 如何创建一个向量`vec` 包含数值`1, 2, 3, 4, 5`?答案:```Rvec <- c(1, 2, 3, 4, 5)```2. 如何获取向量`vec` 的长度?答案:```Rlength(vec)```3. 如何访问向量`vec` 的第三个元素?答案:```Rvec[3]```4. 如何创建一个矩阵`mat`,包含两行三列,元素为数值`1` 至`6`?答案:```Rmat <- matrix(1:6, nrow=2, ncol=3)```5. 如何获取矩阵`mat` 的第二行?答案:```Rmat[2, ]```6. 如何计算向量`vec` 中所有元素的平均值?答案:mean(vec)```7. 如何计算矩阵`mat` 中每一列的和?答案:```RcolSums(mat)```8. 如何创建一个包含从`5` 到`15` 的整数的序列?答案:```Rseq(5, 15)```9. 如何定义一个函数`square`,接受一个参数`x` 并返回其平方?答案:```Rsquare <- function(x) {return(x^2)}```10. 如何读取一个名为`data.csv` 的CSV 文件,并将其存储为数据框`df`?答案:```Rdf <- read.csv("data.csv")```11. 如何过滤数据框`df`,只保留列`A` 大于`10` 的行?答案:```Rdf_filtered <- df[df$A > 10, ]```12. 如何在R 中画一个散点图,其中x 轴为数据框`df` 中的列`A`,y 轴为列`B`?答案:plot(df$A, df$B)```13. 如何在R 中安装并加载`ggplot2` 包?答案:```Rinstall.packages("ggplot2")library(ggplot2)```14. 如何使用`ggplot2` 画一个散点图,其中x 轴为数据框`df` 中的列`A`,y 轴为列`B`?答案:```Rggplot(df, aes(x=A, y=B)) + geom_point()```15. 如何在R 中创建一个名为`my_list` 的列表,包含一个向量、一个矩阵和一个数据框?答案:```Rmy_vector <- c(1, 2, 3)my_matrix <- matrix(4:9, nrow=2)my_dataframe <- data.frame(A=c(1, 2, 3), B=c("a", "b", "c"))my_list <- list(my_vector, my_matrix, my_dataframe)```16. 如何在R 中使用`lapply` 对列表`my_list` 中的每个元素应用函数`mean`?答案:```Rresult <- lapply(my_list, mean)```17. 如何在R 中定义一个因子`my_factor`,包含水果的三个水平:"Apple"、"Orange" 和"Banana"?答案:```Rmy_factor <- factor(c("Apple", "Orange", "Banana"))18. 如何使用`ifelse` 函数将向量`vec` 中小于`3` 的元素替换为`0`,大于等于`3` 的元素替换为`1`?答案:```Rvec <- ifelse(vec < 3, 0, 1)```19. 如何在R 中定义一个简单的for 循环,打印从`1` 到`5` 的数字?答案:```Rfor (i in 1:5) {print(i)}```20. 如何在R 中使用`apply` 函数计算矩阵`mat` 的每一行的和?答案:```Rrow_sums <- apply(mat, 1, sum)```这些题目覆盖了R 语言中的一些基础概念,包括向量、矩阵、数据框、函数、数据可视化、包的使用等。
大学r语言考试题及答案一、选择题(每题2分,共20分)1. R语言是一种()。
A. 编程语言B. 数据分析工具C. 操作系统D. 网页浏览器答案:A2. 在R语言中,用于生成随机数的函数是()。
A. seq()B. rep()C. sample()D. random()答案:C3. 下列哪个函数可以用来计算R语言中的向量元素的总和?()A. sum()B. mean()C. median()D. max()答案:A4. R语言中,用于创建数据框(data frame)的函数是()。
A. data.frame()B. matrix()C. list()D. vector()答案:A5. 在R语言中,如何引用一个名为“x”的变量的第一个元素?()A. x[1]B. x(1)C. x{1}D. x->1答案:A6. R语言中,用于绘制直方图的函数是()。
A. plot()B. hist()C. bar()D. pie()答案:B7. 下列哪个选项是R语言中的数据类型?()A. 数字(numeric)B. 文本(text)C. 日期(date)D. 所有选项都是答案:D8. 在R语言中,如何将一个向量反向?()A. rev()B. reverse()C. flip()D. invert()答案:A9. R语言中,用于执行逻辑“与”操作的函数是()。
A. &B. &&C. &D. and()答案:A10. 下列哪个命令可以用来安装R语言的包?()A. install.packages()B. load.packages()C. get.packages()D. fetch.packages()答案:A二、简答题(每题5分,共30分)11. 简述R语言中向量和矩阵的区别。
答:R语言中的向量是一维的数据结构,可以包含相同类型的数据元素。
矩阵是二维的,由行和列组成,且矩阵中的所有元素必须是相同类型的。
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、玫瑰图的绘制,主要是先绘制一个直方图,接着将((____))坐标转化为((____) )参考答案:直角※极二、单项选择题1、以下哪列代码是将直方图转化为玫瑰图的关键( )A. AB. BC. CD. D参考答案: B三、解答题1、 3.例题:水泥厂用自动包装机包装水泥,每袋额定重量是50kg ,某日开工后随机抽查了9 袋,称得重量如下:49.6,49.3,50.1,50.0,49.2,49.9,49.8,51.0,50.2设每袋重量服从正态分布,问包装机工作是否正常(α =0.05 )?参考答案:x <- c(49.6,49.3,50.1,50.0,49.2,49.9,49.8,51.0,50.2)α <- 0.05solution <- t.test(x,mu=50,alternative="two.sided",conf.level = 1-α)solutionif(solution$p.value>α ){print(" 接受 H0")}else{print(" 拒绝 H0 ,接受 H1")}p-value> α,接受 H0认为包装机工作正常。
四、练习题1、 1.使用 t.text 函数完成下面的例题用 10 只家兔试验某批注射液对体温的影响,测定每只兔子注射前后的体温,如下注射前: (37.8,38.2,38.0,37.6,37.9,38.1,38.2,37.5,38.5,37.9) 注射后: (37.9,39.0,38.9,38.4,37.9,39.0,39.5,38.6,38.8,39.0) 已知家兔体温服从正态分布,问注射前后体温有无显著差异?(α=0.01 )(配对)参考答案:x <- c(37.8,38.2,38.0,37.6,37.9,38.1,38.2,37.5,38.5,37.9)y <- c(37.9,39.0,38.9,38.4,37.9,39.0,39.5,38.6,38.8,39.0)α <- 0.01solution <- t.test(x,y,mu = 0,alternative="two.sided",paired = TRUE,var.equal = FALSE,conf.level=1-α)if(solution$p.value>α){ print(" 接受 H0")}else{print(" 拒绝 H0 ,接受 H1")}输出结果:拒绝H0 ,接受 H1 (即:注射前后体温差异显著)2、 2.使用 t.text 函数完成下面的例题有甲、乙两台机床加工相同的产品,假定两台机床加工的产品均服从正态分布,且总体方差相等,从这两台机床加工的产品中随机地抽取若干件,测得产品直径 (mm) 为甲:(20.5,19.8,19.7,20.4,20.1,20.0,19.0,19.9);乙: (19.7,20.8,20.5,19.8,19.4,20.6,19.2)试比较甲乙两台机床加工的产品直径有无显著应差异?.(α=0.05 )参考答案:x <- c(20.5,19.8,19.7,20.4,20.1,20.0,19.0,19.9)y <- c(19.7,20.8,20.5,19.8,19.4,20.6,19.2)α <- 0.05solution <- t.test(x,y,mu = 0,alternative="two.sided",paired =FALSE,var.equal = FALSE,conf.level=1-α)if(solution$p.value>α){ print(" 接受 H0")}else{print(" 拒绝 H0 ,接受 H1")}输入结果:接受H0( 即:甲乙两台机床加工的产品直径无显著性差异)”3、 3.根据经验,在人的身高相等的情况下,血压的收缩 Y 与体重 X1(千克)和年龄 X2(岁数)有关,现收集了 13 个男子的数据,试建立 Y 关于 X1、X2 的线性回归方程。
1,某工厂生产一批滚珠,其直径服从正态分布N(μ,σ2),现从某天的产品中随机抽出六件,测得直径为:15.1,14.8,15.2,14.9,14.6,15.1,。
若σ2 =0.06,求μ的置信区间。
(置信度为0.95)解:x<-c(15.1,14.8,15.2,14.9,14.6,15.1)sigema<-sqrt(0.06)alpha<-0.05xbar<-mean(x)n<-length(x)t1<-xbar-qnorm(1-alpha/2)*sigema/sqrt(n)t2<-xbar+qnorm(1-alpha/2)*sigema/sqrt(n)list(t1,t2),2,某某自动包装机包装洗衣粉,其重量ζ~N(μ,σ2),其中μ,σ未知。
今随机抽取十二袋测得其重量,经计算得样本均值为xbar=1000.25,修正样本标准差s*=2.6329,试求总体标准差σ的置信水平为0.95的置信区间。
解:alpha<-0.05Xbar<-1000.25Sdx<-2.6329T1<-sqrt(11)*Sdx/sqrt(qchisq(1-alpha/2,11))T2<-sqrt(11)*Sdx/sqrt(qchisq(alpha/2,11))list(T1,T2)使用t.text函数进行方差未知的均值假设检验t检验t.test():调用格式:(数统P138,例6-3)x <- c(11.6,11.5,11.3,11.2,11.4,11.7,11.5,11.6,11.4,11.3)α<- 0.05solution <- t.test(x,mu=11.4,alternative="two.sided",conf.level = 1-α)#x是一个服从正态分布的总体,mu是均值μ#alternative是指备择假设,“two.sided”(缺省)指双侧(H1:μ≠μ0),less表示单边检验(H1:μ<μ1),greater表示单边检验(H1:μ>μ1)#conf.level指置信度即1-αsolutionif(solution$p.value>α){print("接受H0")}else{print("拒绝H0,接受H1")}#如果p-value>α,则可以认为接受H0,否则拒绝H0,接受H1例题:水泥厂用自动包装机包装水泥,每袋额定重量是50kg,某日开工后随机抽查了9袋,称得重量如下:49.6,49.3,50.1,50.0,49.2,49.9,49.8,51.0,50.2 设每袋重量服从正态分布,问包装机工作是否正常(α=0.05)?x <- c(49.6,49.3,50.1,50.0,49.2,49.9,49.8,51.0,50.2)α<- 0.05solution <- t.test(x,mu=50,alternative="two.sided",conf.level = 1-α)solutionif(solution$p.value>α){print("接受H0")}else{print("拒绝H0,接受H1")}p-value>α,接受H0认为包装机工作正常。
R语言试题库
一、选择题
R语言中用于向量下标的运算符是( )。
A. %
B. #
C. $
D. ^
答案:C
以下哪个不是R语言中的数据结构?
A. 向量
B. 矩阵
C. 数据框
D. 字符串
答案:D
R语言中用于逻辑运算的运算符是( )。
A. <
B. >
C. =
D. ==
答案:D
在R语言中,以下哪个函数用于计算向量的平均值?
A. sum
B. mean
C. median
D. mode
答案:B
二、填空题
R语言中,函数用于生成随机数。
答案:random() 或 rnorm() 或 runif() 等。
R语言中,函数用于读取数据文件。
答案:read.table() 或 read.csv() 等。
R语言中,函数用于绘制散点图。
答案:plot() 或 scatter()。
R语言中,函数用于计算一组数据的标准差。
答案:sd()。
三、简答题
简述R语言中常见的几个数据类型。
答案:数值型、字符型、逻辑型和复数型等。
简述R语言中条件语句的结构。
答案:if语句、if-else语句和switch语句等。
r语言实操例题以下是一个简单的R语言实操例题,通过这个例题可以了解R 语言的基本操作和数据处理方法:题目:使用R语言对一组销售数据进行处理和分析1. 数据导入和清洗首先,我们需要将销售数据导入到R语言中。
假设销售数据存储在一个名为"sales.csv"的CSV文件中,可以使用以下代码将其导入到R 语言中:```r# 导入数据sales <- read.csv("sales.csv")# 查看数据head(sales)```接下来,我们需要对数据进行清洗。
假设销售数据中存在一些缺失值,我们可以使用以下代码对缺失值进行处理:```r# 处理缺失值sales$sales_amount[is.na(sales$sales_amount)] <- 0```2. 数据探索和分析在数据清洗完成后,我们可以开始对数据进行探索和分析。
首先,我们可以使用以下代码绘制销售数据的条形图:```r# 绘制条形图barplot(sales$sales_amount, main="Sales Amount", xlab="Product", ylab="Sales Amount")```接下来,我们可以使用以下代码计算每个产品的销售占比:```r# 计算销售占比sales$sales_percentage <-round((sales$sales_amount / sum(sales$sales_amount)) * 100, 2)```最后,我们可以使用以下代码绘制每个产品的销售占比饼图:```r# 绘制饼图pie(sales$sales_percentage, main="Sales Percentage", labels=sales$product)```通过以上实操例题,我们可以了解到R语言在数据处理和分析方面的强大功能。
r语言考试题1. 数据导入与处理在R语言中,我们常常需要处理和分析大量的数据。
请你使用适当的函数导入以下数据集,并回答相关问题。
数据集:iris问题:a) 数据集中有多少行和列?b) 数据集中每个列的数据类型是什么?c) 数据集中是否存在缺失值?d) 将数据集中的Species列中的所有值改为"setosa"。
2. 数据可视化R语言提供了强大的数据可视化工具,可以帮助我们更好地理解和分析数据。
请你使用适当的函数绘制以下图表。
数据集:mtcars图表:a) 绘制一张散点图,横轴为mpg列,纵轴为hp列。
b) 绘制一张柱状图,横轴为cyl列,纵轴为wt列。
3. 统计分析R语言是一个功能强大的统计分析工具。
请你使用适当的函数回答以下问题。
数据集:ChickWeight问题:a) 计算ChickWeight数据集中各个时间点(t)的平均体重。
b) 比较不同饲料类型(Diet)对鸡体重的影响。
4. 机器学习R语言内置了多种机器学习算法,并提供了相应的函数和工具,方便我们进行机器学习任务。
请你使用适当的函数完成以下任务。
数据集:iris任务:a) 将数据集分为训练集和测试集,比例为8:2。
b) 使用最近邻分类算法(K-Nearest Neighbor)对测试集中的数据进行分类,并计算准确率。
5. 数据挖掘R语言中的数据挖掘工具可以帮助我们从海量数据中挖掘出有价值的信息和模式。
请你使用适当的函数回答以下问题。
数据集:Adult问题:a) 预处理数据集,包括删除缺失值、处理离散特征等。
b) 使用决策树算法(Decision Tree)训练一个分类模型,并评估模型的性能。
结语通过以上的考试题目,你将有机会综合运用R语言的各种功能和工具,并展示你对数据处理、可视化、统计分析、机器学习和数据挖掘的理解和应用能力。
加油!(以上为考试题目的示例,实际的题目内容和格式可能会有所差异,请根据实际情况进行调整。
r语言期末考试题及答案一、选择题(每题2分,共20分)1. R语言中,用于生成随机数的函数是:A. randB. sampleC. runifD. random答案:C2. 在R语言中,以下哪个函数用于计算向量的均值?A. meanB. medianC. sumD. length答案:A3. 如果要将一个向量反转,应该使用哪个函数?A. revB. sortC. orderD. rank答案:A4. R语言中,用于创建数据框的函数是:A. data.frameB. matrixC. listD. vector答案:A5. 下列哪个选项不是R语言中的向量类型?A. 数值型B. 字符型C. 逻辑型D. 矩阵型答案:D6. 在R语言中,用于创建因子的函数是:A. factorB. as.factorC. is.factorD. factorize答案:A7. R语言中,用于创建矩阵的函数是:A. matrixB. arrayC. data.frameD. list答案:A8. 下列哪个函数用于计算相关系数?A. corB. covC. meanD. median答案:A9. R语言中,用于绘制散点图的函数是:A. plotB. histC. barplotD. boxplot答案:A10. 在R语言中,用于读取CSV文件的函数是:A. read.csvB. read.tableC. read.dataD. read答案:A二、填空题(每题3分,共30分)1. 在R语言中,创建一个包含元素1, 2, 3的向量可以使用表达式________。
答案:c(1, 2, 3)2. 如果要将一个向量中的所有元素乘以2,可以使用表达式________。
答案:向量名 * 23. 在R语言中,用于提取数据框中某一列的语法是________。
答案:数据框名$列名4. 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 5rep(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 4 rep(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.txt;删除x, 然后再读入该文件并赋值给x,并保证 x是 numericx <- 1:10write.table(x,file = "x.txt");rm(x);xx <- read.table("x.txt",header=T);xclass(x);x <- as.numeric(x$x);x7 查看mtcars数据(mtcars回车);把vs变量所在列的元素全都改成你的“学号后两位”(mtcars$vs<-7);把mtcars存为mtcars.csv文件;读入mtcars.csv文件存入mtcarsnew;MtcarsMtcars$vs<-学号后两位mtcarsnew<-read.csv()8 把mtcars转换成矩阵mm并判断数据类型;把第六行改成你的“学号后两位”;取矩阵mm 前11行存入变量mtcars11;取mtcars11的主对角线的元素,构成主对角阵mt;取mtcars11的上三角阵存入mtupper;(需要通过网络搜索学习上三角矩阵定义)mm<-as.matrix(mtcars);class(mm)mm[6,]<-学号后两位mtcars11(mtcars11<-head(mtcars,11))mt(mt<-diag(diag(mtcars11)))mtupper(x[lower.tri(x)]<-0;mtupper<-x)x[lower.tri(x)]<-0lower.tri(x,diag=FALSEx[upper.tri(x)]<-0upper.tri(x,diag=FALSE)9把mtupper 的行名和列名改为NULL 。
rownames(mtupper)<-NULLcolnames(mtupper)<-NULL10. mtupper 每一行求和,存入mtsum 。
mtsum<-apply(mtupper,MARGIN=1,FUN=sum)附录:数据:1 身高体重数据weight height4.17 1.755.58 1.85.18 1.656.11 1.94.5 1.744.61 1.915.17 1.754.53 1.85.33 1.655.14 1.94.81 1.744.17 1.914.41 1.753.59 1.85.87 1.653.83 1.96.03 1.744.89 1.914.32 1.754.69 1.8统计软件实验31 数据的读取(数据见附录)data<-read.table("路径rownames(mtupper)<-NULL colnames(mtupper)<-NULL/t.data.txt",header=T)2 绘图plot(height, weight) # 绘图3 更改绘图的参数的取值例如:plot(height, weight, pch=2) #更改后的绘图5.根据cityrain数据作图。
令Y轴范围(0,300),xaxt="n",type="b",颜色为黑,X 轴标题为“Month”,Y轴标题为“Tokyo Rainfall(mm)”,主标题“Monthly Rainfall in major cities”。
用axis()函数添加X轴,使在X轴1到12的位置分别对应12个月份。
rain <- read.csv("cityrain.csv")plot(rain$Tokyo,type = "b",xaxt="n",ylim=c(0,300),col="black",xlab="Month",ylab="Rainfall(mm)",main="Month ly Rainfall in major cities")axis(1,at=1:12,labels = rain$Month)4.在[0,4pi]画sin(x),cos(x)(在同一个图象中); 其中sin(x)和cos(x)图象用不同的颜色和形状表示,并在函数图上适当的位置标注“箭头+y=sin(x)”, “箭头+y=cos(x)” ,标记x轴,y轴,标题为“正弦余弦函数图象”.plot(sin,0,4*pi,main="正弦余弦函数图像",xlab="x轴",ylab="y轴",col="red",type="b",pch=18)curve(cos,0,4*pi,col="blue",type="b",pch=1,add=T)arrows(3.3,0.8,2.3,0.8)text(3.8,0.8,"sin(x)")arrows(10.8,0.8,11.8,0.8)text(10,0.8,"cos(x)")例如:附录:数据:1 身高体重数据weight height4.17 1.755.58 1.85.18 1.656.11 1.94.5 1.744.61 1.915.17 1.754.53 1.85.33 1.655.14 1.94.81 1.744.17 1.914.41 1.753.59 1.85.87 1.653.83 1.96.03 1.744.89 1.914.32 1.754.69 1.8统计软件实验41使用三种循环,输出向量1:100中所有数据。
①for (I in 1:100)print(I)②while (i<=100) {sum <- sum+ii <- i+1}print(sum)③repeat{if(i%%2!=0)sum <- sum+ii <- i+1if(i>100)break}print(sum)2使用while循环求1+2+3+…+100的和。
i <- 1sum <- 0while(i<=100){sum<- sum+1i <- i+1}print(sum)3使用repeat循环求1至100之间的奇数和。
i <- 1sum <- 0while(i<=100){sum<- sum+1i <- i+1}print(sum)4使用for循环输出1至100之间的能够被3或5整除的数,并求和。
sum <- 0for(i in 1:100){if(i%%3==0|i%%5==0){print(i)sum <- sum+i}}print(sum)5定义一个长度为100、mean=1,sd=1的正态分布随机向量,并找出该向量的最小值及其出现的位置。