2019-12-06 Day5 学习R-数据结构
(1)R的赋值符号不是等号,而是<-
(2)在Console 控制台输入命令,相当于Linux的命令行
(3)R的代码都是带括号的,括号必须是英文的。
(4)显示工作路径 getwd()
设置工作路径 setwd("C:/Users/kingjie/Desktop/Rdata")
(5)向量是由元素组成的,元素可以是数字或者字符串。
(6)表格在R语言中改名叫数据框_
(7)别只复制代码,要理解其中的命令、函数的意思。函数或者命令不会用时,除了百度/谷歌搜索以外,用这个命令查看帮助:?read.table,调出对应的帮助文档,翻到example部分研究一下。
(8)数据类型
向量
首先明确“元素”的意思,元素指的是数字或者字符串(用chr表示)等,根据它可以区分两个词:
标量:一个元素组成的变量
向量:多个元素组成的变量
x<- c(1,2,3) 常用的向量写法,意为将x定义为由元素1,2,3组成的向量。
x<- 1:10 从1-10之间所有的整数
x<- seq(1,10,by = 0.5) 1-10之间每隔0.5取一个数(注意是逗号不是分号)
x<- rep(1:3,times=2) 1-3 重复2次
从向量中提取元素
根据元素位置
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)中的元素
数据框
示例数据放在工作目录
我的目录
X1,X2
A,1
B,
C,
D,3
E,
读取本地数据
read.table(file = "huahua.txt",sep = " ",header =T) 读取文件,分隔符为Tab,有表头
a<-read.table(file = "huahua.txt",sep = " ",header =T) 把这个数据框赋给一个变量a
设置行名和列名
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 = "huahua.txt",sep = " ",header =T,row.names=1) 最后row.names的意思是修改第一列为行名
数据框的导出
write.table(X,file = "yu.txt",sep = ",",quote=F) 分隔符改为逗号,字符串不加双引号(默认格式带由双引号)
变量的保存与重新加载
save.image(file="bioinfoplanet.RData") 保存当前所有变量
save(frame1,file="frame1.RData") 保存其中一个变量
load("frame1.RData") 再次使用RData时的加载命令
提取元素
- X[x,y] 第x行第y列
- X[x,] 第x行
- X[,y] 第y列
- X[y] 也是第y列
- X[a:b] 第a列到第b列
- X[c(a,b)] 第a列和第b列
- X$列名 单一列
直接使用数据框中的变量
a <-data.frame(case=paste("S",c(1:50)),values=runif(50))
plot(avalues) 提取某两列作散点图 case values列名