R语言课后习题

第一章 绪论

1、正确的数据思维观包括数学思维、统计思维、逻辑思维。

2、技能 是容易掌握的,但是  思维  却是很难培养的。

3、数学思维有两个特征是 方向性 和 客观性 

4、常用统计计量包括 中位数 求和 最大值 平均值

5、从思维科学角度看统计思维可归类为 描述 概括 、和 分析

6、把大脑中所描述的对象中的某些指标抽离出来并形成一种认识称为 概括

7、把事务分解分析称为 下钻  思维 。

8、显微镜原理属于 下钻 思维。

9、当一堆数据摆在我们面前时,表现出各异的形态,然而我们却要在种种的表象背后,找出其有共同规律的特点,称为 求同 思维。

10、换位思考属于 联合 思维。

第二章 R语言入门

1.输入命令    B    在浏览器中显示帮助文档,并学会使用帮助文档。

    A.  help(solve)    B.  help.start()     C.   help()    D.   data()

2.函数    D     可在当前会话中执行一个脚本。

    A.  demo(test)    B.  rm(test)    C.   example("test")    D.   source("test")

3.函数   A      将输出重定向到文件myfile中。

    A.sink("myfile")                           B.  library("myfile")   

    C. setwd("myfile")                     D.   write("myfile")

4.以下常用统计软件中,属于开源软件的是     B     。

     A .SAS       B. R       C .Excel      D .Matlab

5.安装datasets包。

install.packages("datasets")

6.加载datasets包到内存。

library(datasets)

7.显示datasets包所在位置。

.libpath( )

8.显示已加载的包。

library( )

9.列出当前已加载包中所含的所有可用示例数据集。

data( )

10.显示当前工作目录,并修改当前的工作目录为myworkspace

getwd( ) #显示当前工作目录

setwd("myworkspace")

11.查看函数foo的帮助,并运行函数foo的使用示例。

help("foo")或?foo

example("foo")

12.列出3种有关用于保存图形输出的函数。

pdf("filename.pdf")

png("filename.png")

jpeg("filename.jpeg")

13.简要介绍R语言的优点。

1、作图美观,完全免费。

2、算法覆盖广,软件扩展易。

3、强大的社区支持。

4、非过程模式。

5、交互性。

6、统计学特性。

14.加载shiny包。

library(shiny)

15.列出包shiny中可用的函数和数据集。

apropos("shiny",mode="function")

18.退出R。

q()

第三章 数据类型

1.从表3.1你可以清楚地看到此数据结构(本例中是一个数据框)以及其中包含的元素和数据类型。其中,Status是     D    变量。

  A.日期型          B.整型          C.名义型       D.有序型

2.R中定义了一些常量,NA表示不可用,-Inf表示 负无穷

3.R中的数据结构包括    D     

  A.向量          B.矩阵          C.数组       D.以上全是

4.R中最常处理的数据结构是    D     

  A.向量         B.矩阵          C.数组       D.数据框

5.a=matrix(1:12,nrow=4,ncol=3);a[2,2];结果为(    B   )。

  A. 5           B. 6          C. 7            D.8

6.如果A是5行x6列的矩阵,t(A)是    D     

  A 5行x6列矩阵                 B 30个元素的向量

  C 11个元素的向量             D 6行x5列的矩阵

7.a=det(matrix(1:12,nrow=4,ncol=3,byrow=TRUE))

   b=det(matrix(1:12,nrow=3,ncol=4,byrow=FALSE)) 则有     D    。

  A a>b         B a=b     C a

8. "a=rep(c(1,2,3),2);a[1]+a[4];"显示结果为  A 

  A 2                B 3             C 4             D 5

9."x=1:12*2+1;x[which(x==9)];"显示的结果是   B   

  A [1] 5                                        B [1] 9     

  C [1] 11                                      D 以上答案都不对

10.在R语言中能判断变量a是否为数值型,可以使用函数   B   

  A is.number(a)                           B is.numeric(a)   

  C is.factor(a)                              D as.number(a)

11.将矩阵转化成向量使用___as.vector()_。

12.对于字符型向量,因子的水平默认依    字母     顺序创建。

13.列表(list)是R的数据类型中最为复杂的一种。一般来说,列表就是一些对象(或成分,component)的     有序    集合。

14.     factor()    可为类别型变量创建值标签

15.产生100个满足标准正态分布N(0,1)的随机数,使用的函数是    rnorm(100)   

16.请使用seq() 产生一个首相为2,公差为2,长度为10的等差向量序列。

seq(from=2,by=2,len=10)

17.横向合并矩阵c(2,1),c(4,3)。

cbind(c(2,1),c(4,3))

18.建立一个R文件,在文件中输入变量x=(1,2,3)T,y=(4,5,6)T,并作以下运算。

  ①计算 z=2x+y+e,其中 e=(1,1,1)T;

  ②计算x与y的內积;

  ③计算x与y的外积;

> x<-c(1,2,3)
> y<-c(4,5,6)
> e<-c(1,1,1)
> z<-2*x+y+e
> z
[1]  7 10 13
> crossprod(x,y)
     [,1]
[1,]   32
> tcrossprod(x,y)
     [,1] [,2] [,3]
[1,]    4    5    6
[2,]    8   10   12
[3,]   12   15   18

19.将1,2,... ,20构成两个4*5阶矩阵,其中矩阵A是按列输入,矩阵B是按行输入,并作如下运算。

(1) C=A+B。

(2) C=AB。

(3) E=(eij)n*n,其中eij=aij*bij。

(4) F是由A的前3行和前3列构成的矩阵。

(5) G是由矩阵B的各列构成的矩阵,但不含B的第三列。

> A<-matrix(1:20,nrow = 4,byrow = FALSE)
> B<-matrix(1:20,nrow = 4,byrow = TRUE)
> C<-A+B
> C
     [,1] [,2] [,3] [,4] [,5]
[1,]    2    7   12   17   22
[2,]    8   13   18   23   28
[3,]   14   19   24   29   34
[4,]   20   25   30   35   40
> D<-AB
Error: object 'AB' not found
> E<-A*B
> E
     [,1] [,2] [,3] [,4] [,5]
[1,]    1   10   27   52   85
[2,]   12   42   80  126  180
[3,]   33   84  143  210  285
[4,]   64  136  216  304  400
> F<-A[1:3,1:3]
> F
     [,1] [,2] [,3]
[1,]    1    5    9
[2,]    2    6   10
[3,]    3    7   11
> G<-B[,-3]
> G
     [,1] [,2] [,3] [,4]
[1,]    1    2    4    5
[2,]    6    7    9   10
[3,]   11   12   14   15
[4,]   16   17   19   20

第四章 数据准备

1.读入文本文件abc.txt到数据框,要求包含栏头,使用的R函数是(   A  

A.rt<-read.table(“abc.txt”,header=TRUE)

B.rt<-read.table(“abc.txt”,header=FALSE)

C.rt<-read.table(“abc.txt”,col.names=T)

D.rt<-read.table(“abc.txt”,skip=0)

2.write.table()函数参数“header”的功能为(  B  )。

A.判断变量是否被保存为字符

B.反映这个文件的第一行是否包含变量名

C.指定各列数据类型的一个字符型向量

D.表示小数点的字符

3.使用以下哪个命令比较使用于小规模数据集(  D  )。

A.mydata<-sqlFetch(odbcConnectExcel(“myfile.xls”), “mysheet”)

B.mydata<-read.xlsx(workbook,1)

C.mydata <- read.table()

D.mydata <- edit(mydata)

4.read.table()中参数sep的默认值为   sep=" " 

5.常见的数据类型有 logical(逻辑型)、numeric(数值型)、character(字符型) 、 factor(因子) 。

6.请说出DBMS的中文全称  数据库管理系统

7.已知有5名学生的数据,如表4.4所示。用数据框的形式读入数据。

表4.4 学生数据

R语言课后习题_第1张图片

> 姓名<-c("张三","李四","王五","赵六","丁一")
> 性别<-c("女","男","女","男","女")
> 年龄<-c(14,15,16,14,15)
> 身高<-c(156,165,157,162,159)
> 体重<-c(42.0,49.0,41.5,52.0,45.5)
> f<-data.frame(姓名,性别,年龄,身高,体重)
> f
  姓名 性别 年龄 身高 体重
1 张三   女   14  156 42.0
2 李四   男   15  165 49.0
3 王五   女   16  157 41.5
4 赵六   男   14  162 52.0
5 丁一   女   15  159 45.5

8.将表4.1的数据写成一个xlsx文件,用函数reader.table()读该文件,并显示图标内容。

> data1 <- read.xlsx("表4-1.xlsx",sheetIndex = 1)
> head(data1)

 9.产生1~10十个数,将文件保存到D盘根目录下的data.Rdata文件中,并读出来。

> x<-seq(1:10)
> x
 [1]  1  2  3  4  5  6  7  8  9 10
> save(x,file = "D:/data.Rdata")

R语言课后习题_第2张图片

第五章:数据可视化

1.    D     可以用来克服散点图中数据点重叠问题。

  A  脸谱图                                B  直方图

  C  星状图                                D  向日葵散点图

2.在“箱线图”中,箱体的底部表示   C      

  A  上四分位数                         B  中位数

  C  下四分位数                         D  众数

3.散点图 和  折线图  有助于描绘两个变量间的关系。

4. plot()函数能按向量绘制图形。

5.表5.6列出了8年来美国国土管理局在怀俄明州的雷霆盆地国家草原收集的叉角羚种群的管理数据,其中,y表示所生小鹿数量,u为叉角羚种群大小,v为年降水量,w为冬季严重程度指数。

将表5.6中的数据录入数据集data中。

> y<-c(290,240,200,230,320,190,340,210)
> u<-c(920,870,720,850,960,680,970,790)
> v<-c(13.2,11.5,10.8,12.3,12.6,10.6,14.1,11.2)
> w<-c(2,3,4,2,3,5,1,3)
> data<-data.frame(y,u,v,w)
> data
    y   u    v w
1 290 920 13.2 2
2 240 870 11.5 3
3 200 720 10.8 4
4 230 850 12.3 2
5 320 960 12.6 3
6 190 680 10.6 5
7 340 970 14.1 1
8 210 790 11.2 3

6.生成0到2之间的50个随机数,分别命名为x和y,并绘制成散点图,横轴命名为“横坐标”,纵轴命名为“纵坐标”。

> x<-runif(50,0,2)
> y<-runif(50,0,2)
> plot(x,y,xlab="横坐标",ylab="纵坐标",main="散点图")

R语言课后习题_第3张图片             R语言课后习题_第4张图片

 7.将第6题中的离散点的颜色设定为红色。

> plot(x,y,xlab="横坐标",ylab="纵坐标",main="散点图",col="red")

8.将第6题中的x绘制成直方图,y绘制成箱线图。

> hist(x)            #直方图
> boxplot(y)         #箱线图

R语言课后习题_第5张图片                        R语言课后习题_第6张图片

9.将第5题中的数据集中的y映射到x轴,v映射到y轴,并画散点图。

> install.packages("ggplot2")
> library(ggplot2)
> p<-ggplot(data,mapping=aes(x=y,y=v))        #将y映射到x轴上,将v映射到y轴上
> p+geom_point()                               #绘制散点图

R语言课后习题_第7张图片

 10.将第6题中的散点图添加图名。

(这里已经在第6题添加了图名,main=“散点图”)

11.将第6题中的散点图改为用plotly包绘制的交互散点图。

> install.packages("plotly")
> library(plotly)
> plot_ly(data,x=~y,y=~v,mode="markers")

第六章 数据探索

1.判断是否有缺失值的函数是       A      

  A  is.na                               B  complete.cases

  C  NA                                 D  NULL

2.对于缺失数据通常有三种应付手段: 直接删除法   、插补法    随机森林        。

3.在R中,用代码NA表示缺失数据。在向量及数据框中,在缺失数据处应使用该代码作为占位符。在R中对含有缺失值的向量进行计算,会返回一个包装缺失值的向量作为结果,例如:

> u<-c(3,5,6,NA,12,14)
> u
执行结果: 3  5  6 NA 12 14
> 2^u
执行结果: 8    32    64    NA  4096 16384

4.数据重复检测函数中   A     函数是可以用来解决向量或者数据框重复值的,并且它会返回一个TRUE和FALSE的向量。

  A duplicated                               B  unique

  C  matrix                                    D data frame

5.检测数据的异常值是使用函数 boxplot.stats( )  。如何判定离群?

判定离群用局部异常因子法(LOF法):将一个点的局部密度与其周围的点的密度相比较,若前者明显比后者小(LOF值大于1),则该点相对于周围的点来说就处于一个相对比较稀疏的区域,这就表明该点是一个异常值。

6.在R语言中,通常使用    hist()    来画直方图。

7.当对数据进行批量操作时,可以通过对函数返回值进行约束,根据是否提示错误判断、是否存在数据不一致问题,可以通过     vapply()   函数。

你可能感兴趣的:(r语言,开发语言)