生信星球培训第六十六期

学习小组Day5笔记--快乐小胡

2020-06-20  本文已影响0人  胡潇逸

1.向量

1.1 标量和向量的区分

首先明确“元素”的意思,元素指的是数字或者字符串等,根据它可以区分两个词:
标量:一个元素组成的变量
向量:多个元素组成的变量

1574387603.8283.68613.png@l_1,f_png,w_600.png

一个向量是一排有序排列的元素,一个向量以后会成为数据框中的一列。

x<- seq(1,10,by = 0.5) #1-10之间每隔0.5取一个数(注意是逗号不是分号)
x
x<- rep(1:3,times=2) #1-3 重复2次,真的就是1,2,3,1,2,3
x

1.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)]#目前向量x中存在于向量c(1,2,5)中的元素会显示出来

2.数据框

#读取本地数据
read.table(file="huahua.txt", sep = "\t", header = T)
a<-read.table(file="huahua.txt", sep = "\t", header = T)
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)#分隔符改为逗号,字符串不加双引号(默认格式带由双引号)

#变量的保存与重新加载
#这次没有处理完的数据下次想接着用怎么办?--学会保存和重新加载。保存的格式是RData。
save.image(file="bioinfoplanet.RData")#保存当前所有变量
save(X,file="test.RData")#保存其中一个变量
load("test.RData")#再次使用RData时的加载命令

#提取元素
X<-read.csv(file = "huahua.txt",sep = " ",header =T)
X[1,2]#第1行第2列
X[1,]#第1行
X[,2]#第2列
X[1] #第1列
X[1:2]#第1列到第2列
X[c(1,2)]#第1列和第2列
X$X2 #提取X2这一列

#直接使用数据框中的变量
options(stringsAsFactors = T)
a <-data.frame(case=paste0("S",1:9),values=runif(9))
plot(a$case,a$values)
#这里的paste0函数的作用是将S与1到9中的数字连接,变成S1S2S3S4S5S6S7S8S9。
#runif(9)函数,随机生成9个服从正态分布的数字
with(a,{
  plot(case,values)
  x<<-summary(values)   #求和并赋值给x,<<的意思是作为全局变量,也就是出了大括号仍有效。
})
x #运行完后打印x

回答问题:大小写的问题
(以上学习内容来自微信公众号——生信星球)

上一篇下一篇

猜你喜欢

热点阅读