生信星球培训第四十五期

Day5

2020-03-21  本文已影响0人  French_fries_

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()

上一篇下一篇

猜你喜欢

热点阅读