#内置数据集
#固定格式的数据(矩阵、数据框或一个时间序列等)
#统计建模、回归分析等试验需要找合适的数据集
#R内置数据集,存储在,通过
help(package="datasets")
#通过data函数访问这些数据集
data()
#得到新窗口 前面:数据集名字 后面:内容
#包含R所有用到的数据类型,包括:向量、矩阵、列表、因子、数据框以及时间序列等
#直接输入数据集的名字就可以直接使用这些数据集
#输出一个向量
rivers
#是北美141条河流长度
#这些数据集的名字都是内置的,一般我们在给变量命名时最好不要重复
#否则数据集在当前对话中会被置换掉
#例如
rivers<-c(1,2,3)
rivers
#不过影响不大
#再使用data函数重新加载这个数据集就可以了
data("rivers")
rivers
#一些常用内置数据集
#默认介绍页面只有名字和介绍,并没有给出数据分类
#哪些是向量、矩阵、数据框等?
#查看数据集除了直接敲数据集名字显示数据之外
#还可以使用help函数查看每个数据集具体的内容
help("mtcars")
euro
#欧元汇率,长度为11,每个元素都有命名
#输出向量的属性信息
names(euro)
#将5个数据构成一个数据框
向量
state.abb #美国50个州的双字母缩写
state.area #美国50个州的面积
state.name #美国50个州的全称
因子
state.division #美国50个州的分类,9个类别
state.region #美国50个州的地理分类
#
state<-data.frame(state.name,state.abb,state.area,state.division,state.region)
state
state.x77 #美国50个州的八个指标
state.x77
VADeaths #1940年弗吉尼亚州死亡率(每千人)
volcano #某火山区的地理信息(10米×10米的网格)
WorldPhones #8个区域在7个年份的电话总数
iris3 #3种鸢尾花形态数据
#以上矩阵→适合画热图
heatmap(volcano)
#这里只是作为一个演示,还需要对这个图进行一些调整
#更复杂的数据结构
Titanic #泰坦尼克乘员统计,是一个数组
UCBAdmissions #伯克利分校1973年院系、录取和性别的频数
crimtab #3000个男性罪犯左手中指长度和身高关系
HairEyeColor #592人头发颜色、眼睛颜色和性别的频数
occupationalStatus #英国男性父子职业联系
#类矩阵
eurodist #欧洲12个城市的距离矩阵,只有下三角部分
Harman23.cor #305个女孩八个形态指标的相关系数矩阵
Harman74.cor #145个儿童24个心理指标的相关系数矩阵
#R中内置最多的数据集——数据框
cars #1920年代汽车速度对刹车距离的影响
iris #3种鸢尾花形态数据
mtcars #32辆汽车在11个指标上的数据
rock #48块石头的形态数据
sleep #两药物的催眠效果
swiss #瑞士生育率和社会经济指标
trees #树木形态指标
USArrests #美国50个州的四个犯罪率指标
women #15名女性的身高和体重
#列表
state.center #美国50个州中心的经度和纬度
#类数据框
Orange #桔子树生长数据
#时间序列数据,和数据框类似,不同的是具有时间序列的顺序,是数据分析中非常常见的格式
#能反映出变化情况以及变化的趋势等
#因此有很多专门的方法用于时间序列的数据分析
co2 #1959-1997年每月大气co2浓度(ppm)
presidents #1945-1974年每季度美国总统支持率
uspop #1790–1970美国每十年一次的人口总数(百万为单位)
#除了内置数据集之外,许多R扩展包中也内置了很多数据集
#这些数据集作为扩展包的函数使用的案例
#加载R包之后这些数据集也同样被加载进来
#例如MASS包中的Cars93数据
#包含了27个变量,是1993年93辆汽车的型号指标
install.packages("MASS")
library("MASS")
help("Cars93")
#使用data函数在参数package中等于对应R包的名字,即可列出每个R包中包含的数据集
#ex
data(package="MASS")
#显示R中所有可用的数据集
data(package=.packages(all.available = TRUE))
#不加载R包使用其中的数据集
data(Chile,package="car")
Chile
#>data(Chile,package="car")
#Warning message:
# In data(Chile, package = "car") : data set ‘Chile’ not found
#>Chile
#Error: object 'Chile' not found
install.packages("car")
library("car")
help("Chile")
1.Linux与R的学习先后问题:
师姐说后面作生信分析要用Linux环境进行数据集群分析,所以目前首要任务是熟悉R语言和Python的操作,后面转到Linux环境运行操作大同小异。
2.R及Rstudio的安装问题:
装了Rstudio之后显示没有装R,解决方案是R和Rstudio安装时选择默认路径,是这两个软件装在同一个目录下。
3.输入demo()后显示
>demo()
Warning message:
In file.show(outFile, delete.file = TRUE, title = paste("R", tolower(x$title))) :
file.show():不存在'C:\Users\灏忔湪浜榎AppData\Local\Temp\RtmpENM66s\RpackageIQR28b82f592cbb'这个文件
(1)找出问题:R存在一个中文目录底下,会出现错误,所以首先第一步要将文件名(即user底下的名字)改为英文的(注:以后文件名尽量设置为英文的,才方便识别)
(2)解决问题:因为win为家庭版,所以没有在计算机管理中没有找到本地用户和组,借鉴了CSDN论坛中一位大神经验贴的后半部分【 【设置】Win10如何更改C:\Users\下的用户名_胡振涛-CSDN博客_如何更改users下的用户名 】,从win+R输入regedit(打开注册表)那块开始,后面将自己中文的文件名改成英文就好了,然后注销再打开,运行R后,输入demo(),显示界面如下图。
4.options()是个啥,没整明白?
options:指定系统参数
5. runif()函数
runif (random samples from uniform distribution) 均匀分布中的随机变量
例如:runif(242, min =-0.3,max=0.3) 从-0.3 到0.3 随机产生242个值
6.包及库
1——已经安装的包
2——用来放R安装时自带的包(如base,state等)
7.函数括号内加“”的规律:外部的东西要加引号。安装以后内部的东西不用加引号。
8.批处理命令打出来很奇怪?
9.返回值?——一个运算函数被赋予具体数据后得到值return到这个函数变量上(操作型函数没有返回值)
10.help(package="vcd"/"ggplot2"),命令后help界面无显示
未找到问题原因,解决方案为在CRAN上直接看好了。
11.安装ggplot2包后,输入library(ggplot2),没有反应——说明你装上了。。(有些包library成功是没有输出的)
相反的是可以看到如果安装的是tidyverse,输入library(tidyverse),是有输出的
12.Rstudio工作路径&库安装路径修改(我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《Rstudio更改工作路径&安装包路径》, 一起来围观吧 https://blog.csdn.net/princessyang/article/details/105731349?utm_source=app&app_version=4.7.1&code=app_1562916241&uLinkId=usr1mkqgl919blen)
工作路径修改
getwd()——得到目前的工作路径
setwd(“目标工作路径”)
getwd()——就可以看到路径更改了
库安装路径修改
打开
13.忘了在操作台输入啥可以显示那一长条的包了?
14.数据集和数据结构
1)数据集就是多个数据组成的集合
2)数据结构就是数据集的结构
15.rep函数
rep(1:4, each = 2)——1到4,每个element循环2次
[1] 1 1 2 2 3 3 4 4
rep(1:4, c(2,2,2,2))——1到4,对应位置上的element循环2次
[1] 1 1 2 2 3 3 4 4
rep(1:4, c(2,1,2,1))——1到4,对应位置上的element有的循环1次,有的循环2次
[1] 1 1 2 3 3 4
16.rep(1,40*(1-.8))什么意思?
就是说1这个数字,重复40*(1-0.8)=8遍,但其实只重复7遍,因为计算机返回的结果比8稍小一点。
如果想要得到循环8次,可以使用这个函数:rep(1,round(40*(1-.8)))
17.矩阵
(1)只有在数据长度不是矩阵行数或者列数整数倍的时候才会报错,在矩阵列数X行数所需数据大于数据长度时,会再次重复排列数据,但不会报错。
(2)矩阵默认按照 列 的顺序来排列数据,
matrix(x,5,byrow = T) 按照 行 的顺序排列
matrix(x,5,byrow = F) 按照 列 的顺序排列
(3)以字符型向量添加行名和列名
>rnames <- c("R1","R2","R3","R4")
>cnames <- c("C1","C2","C3","C4","C5")
>dimnames(m) <- list(rnames,cnames)
(4)矩阵汇总
(5)矩阵索引
y[1,2]——y矩阵中第1行,第2列
18.数组