生信星球培训第三十二期

Day5-庚帅博方便面

2019-12-20  本文已影响0人  lconan
Day5.png

向量

向量赋值

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次

查看变量

View(变量名)

向量中提取元素

根据位置

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)中的元素

以上返回的都是符合相应条件的元素的
%in% operator is used to identify if an element belongs to a vector.此处判断x中元素的值是否存在于所给向量中,如果是则返回其值

数据框

读取本地数据

a <- read.table(file = "huahua.txt", sep = "\t", header = T)#读取文件,分隔符为Tab,有表头, 并赋值给a

设置行名和列名

X<-read.csv('doudou.txt')
{9427591E-6579-4782-B04A-D4D008DAF2B4}.png.jpg
// 以第一列作为行名
X<-read.csv(file = "huahua.txt",sep = "\t",header =T,row.names=1)
{557C17DA-2B87-4E9B-8B21-240D6F107AF6}.png.jpg

数据框的导出

write.table(X,file = "yu.txt",sep = ",",quote=F)#分隔符改为逗号,字符串不加双引号(默认带有双引号) 

此处的quote参数若为T(default),则所有字符或factor列将用双引号包围

变量的保存与重新加载

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

提取元素

此处直接copy

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自动补全哦,不过只能提取一列)

$------Extract or Replace Parts of an Object

直接使用数据框中的变量

a <-data.frame(case=paste("S",c(1:50)),values=runif(50))
plot(a$case,a$values)
image.png

data.frame

paste(..., sep = " ", collapse = NULL)
搜索时碰到的有趣的例子
但是很迷的一点是它直接将两个字符串相同编号的元素paste到一起

> paste(1:12, c("st", "nd", "rd", rep("th", 9)))
 [1] "1 st"  "2 nd"  "3 rd"  "4 th"  "5 th"  "6 th"  "7 th"  "8 th"  "9 th"  "10 th" "11 th" "12 th"

> paste(1:12, c("st", "nd", "rd", rep("th", 9)),sep = "",collapse = ",")
[1] "1st,2nd,3rd,4th,5th,6th,7th,8th,9th,10th,11th,12th"
# 可以用collapse参数的值将前面的字符串连接在一起

偷懒:不需要重复打出数据框名称

使用attach()

微信图片_20191220134232.png

使用with()

image.png

About with()
with(data, expr, ...)evaluates an R expression in an environment constructed from data, possibly modifying the original data
data: data to use for constructing an environment.
这里认为所创建的env其实是临时的,如果不使用<<-使得x作为全局变量,x将在此block外脱离作用域

最后贴上read.table()function的原型

read.table(file, header = FALSE, sep = "", quote = "\"'",
           dec = ".", numerals = c("allow.loss", "warn.loss", "no.loss"),
           row.names, col.names, as.is = !stringsAsFactors,
           na.strings = "NA", colClasses = NA, nrows = -1,
           skip = 0, check.names = TRUE, fill = !blank.lines.skip,
           strip.white = FALSE, blank.lines.skip = TRUE,
           comment.char = "#",
           allowEscapes = FALSE, flush = FALSE,
           stringsAsFactors = default.stringsAsFactors(),
           fileEncoding = "", encoding = "unknown", text, skipNul = FALSE)
上一篇 下一篇

猜你喜欢

热点阅读