2020年4月18日 Day5:R语言的数据结构
今天学习的主要内容是R语言的数据类型,重点学习向量(vector)和数据框(Data frame)。
基础要点
(1)R的赋值符号不是等号,而是<-
(2)在Console 控制台输入命令,相当于Linux的命令行
(3)R的代码都是带括号的,括号必须是英文的
(4)显示工作路径 getwd()
(5)向量是由元素组成的,元素可以是数字或者字符串
(6)表格在R语言中改名叫数据框
(7)理解命令、函数的意思。函数或者命令不会用时,学会用帮助文档。
一、向量
1、标量和向量
元素:数字或者字符串(用chr表示),字符串使用时要加引号
标量:一个元素组成的变量
向量:多个元素组成的变
2. 赋值
一般会直接给变量定义,也就是“赋值”,可以是数值,也可以是字符串、数据框等。
x <- c(1,2,3) #常用的向量写法,意为将x定义为由元素1,2,3组成的向量。
x
x <- 1:10 #从1-10之间所有的整数
x
x <- seq(1,10,by = 0.5) #1-10之间每隔0.5取一个数(注意是逗号不是分号)
x
x <- rep(1:3,times = 2) #1-3 重复2次
x
3. 从向量中提取元素
- 根据元素位置
x[4] # x第4个元素
x[-4] #排除法,除了第4个元素之外剩余的元素
x[2:4] #第2到4个元素
x[-(2:4)] #除了第2-4个元素
x[c(1,5)] #第1个和第5个元素
- 根据值
x[x==10] #等于10的元素
x[x<0]
x[x %in% c(1,2,5)] #存在于向量c(1,2,5)中的元素
二、数据框
1. 读取本地数据
read.csv(file = "huahua.txt", sep = "\t", header = T)
a <- read.csv(file = "huahua.txt", sep = "\t", header = T)
2. 设置行名和列名
X<-read.csv('doudou.txt') #在示例数据里有doudou.txt 注意这里的变量X是一个数据框
colnames(X) #查看列名
rownames(X) #查看行名,默认值的行名就是行号,1.2.3.4...
colnames(X)[1] <- "bioplanet"#有的公司返回数据,左上角第一格为空,R会自动补为x,用这个命令来修改
X<-read.csv(file = "doudou.txt" ,sep = "," ,header = T, row.names = 1) #最后row.names的意思是修改第一列为行名
3. 数据框的导出
write.table(X, file = "doudou_1.txt" ,sep = ",", quote = F) #分隔符改为逗号,字符串不加双引号(默认格式带由双引号)
4. 变量的保存与重新加载
对未处理完的数据学会保存和重新加载,保存的格式是RData
save.image(file = "bioinfoplanet.RData") #保存当前所有变量
save(X, file = "test.RData") #保存其中一个变量
load("test.RData") #再次使用RData时的加载命令
5. 提取元素
X[2,1] #第二行第一列
X[2,] #第二行
X[,1] #第一列
X[2] #第二列
X[1:2]#第一列到第二列
X[c(1,2)] #第一列和第二列
X$X1 #提取1列
X$X2 #提取X2列
三、课后练习
- save(X,file="test.RData")这句代码如果报错X not found,是为什么?应该怎么解决?
- 检查大小写
- X不在工作目录内
- 没有赋值给X
- 赋值到其他变量了