R语言 数据结构
1 向量
1.1 给向量赋值
(1)R的赋值符号不是等号,而是<-
(2)在Console 控制台输入命令,相当于Linux的命令行
(3)R的代码都是带括号的,括号必须是英文的。
(4)显示工作路径 getwd()
(5)向量是由元素组成的,元素可以是数字或者字符串。
(6)表格在R语言中改名叫数据框_
(7)用这个命令查看帮助:?read.table,调出对应的帮助文档,翻到example部分研究一下。
引自https://m.umu.cn/session/article/1W8EZ4023
元素:元素是数字或者字符串(chr)
向量的定义:一个向量是一排有序排列的元素
简单说就是元素是变量/向量的组成单位
给变量赋值可以是数字也可以是字符串或者数据框
x <- 1 #把1赋值给变量x
x <- c(a,ab,abc) #把向量赋值给x变量
x <- (1:10)
x <- seq(1,10,by = 0.5) #以0.5为间距取1到10这个范围里的数(图一)
x <- rep(1:3,times=2) #重复1-3两次并赋值(图二)
1.2 从变量中取值
根据元素位置
x[-4] #取变量x里除了第4个元素之外的元素
x[c(1,5)] #取变量x里第一和第五个元素
根据值
x[x==10] #取x中等于10的元素
x[x %in% c(1,3,5)] #取x中存在于向量1,3,5中的元素
2 数据框
2.1 导入数据
x<-read.table(file='test.txt',sep=',',header=T)
#打开test.txt文档(此文档需要在工作目录下),sep意思是把其中的“,”作为分隔符,header:把第一行作为列名保存
x <- read.csv('test.txt',row.names=1 )
#修改第一列为行名
colnames(x) #查看列名
rownames(x) #查看行名
colnames(x)[1]<-"bioplanet"
#修改第一列第一个行名为bioplanet
#注意这里改了行名,但是改的是变量x的,而不是源文件的
2.2 导出数据
write.table(x,file = "chen.txt",sep = ",",quote=F)
#x变量导出,文件名,分隔符,字符串不加双引号
2.3 保存数据
save.image(file="day5.RData") #保存当前所有变量
save(x,file="test.RData") #保存x变量
load("day5.RData") #再次使用RData时的加载命令
2.4提取元素
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$列名 #也可以提取列(优秀写法,而且这个命令还优秀到不用写括号的地步,并且支持Tab自动补全哦,不过只能提取一列)
2.5 直接使用数据框中的变量
如果正常作图:
plot(a$case,a$values) #把a中case列和values列作图
2.5.1 attach
attach(x)
dettach(x)
#将x中的数据框名添加(删除)到搜索环境中作图时就只需输入列名
局限性:两个以上数据框的列名有冲突时,同时attach会报错。
2.5.2 with
with(a,{ #with大括号{}之间的语句都只针对a执行,但是出了大括号就不能用了
plot(case,values)
x<<-summary(values)
})
#求和并赋值给x,<<的意思是作为全局变量,也就是出了大括号仍有效。
x #运行完后打印x
3 作业
save(X,file="test.RData")这句代码如果报错X not found,是为什么,应该怎么解决?
应该是没有找到变量X,应该看一下右上角有没有X这个变量?或者ls()