生信星球培训第四十九期

Day 5 letitgo 数据类型

2020-04-03  本文已影响0人  letitgo_1ddf

一 数据类型

1. 向量(vector)

1.标量和向量的区别

元素:指数字或字符串
标量:一个元素组成的变量
向量:多个元素组成的变量
一般都会直接给变量定义,也就是“赋值”,给同一个变量赋值多次后,以最后次赋值为输出。

2. 从向量中提取元素

a.根据元素位置

x[4] #x第4个元素
x[-4]#排除法,除了第4个元素之外剩余的元素
x[2:4]#第2到4个元素
x[-(2:4)]#除了第2-4个元素
x[c(1,5)] #第1个和第5个元素

b.根据值

x[x==10]#等于10的元素

2. 数据框

(1)读取本地数据

?read.table查询不了解的函数或者命令,在脚本编辑窗口输入?read.table,会自动弹出右下角帮助窗口,如下:

read.table.png
下面是header和seq解释:
header:a logical value indicating whether the file contains the names of the variables as its first line. If missing, the value is determined from the file format: header is set to TRUE if and only if the first row contains one fewer field than the number of columns. 逻辑值。用于指出文件的第一行是否为数据变量的名字。缺省情况下,由文件的格式来确定此值。如果header设置为TRUE,则要求第一行要比数据列的数量少一列。
sep:the field separator character. Values on each line of the file are separated by this character. If sep = "" (the default for read.table) the separator is ‘white space’, that is one or more spaces, tabs, newlines or carriage returns.seq 数据的分隔符。默认情况下,sep=""。此参数用于指定数据文件中每行中数据之间使用的分隔符。默认情况下,read.table()函数以空白作为数据的分隔符,即默认情况下,read.table()函数可以将1个或多个空格、tab制表符、换行符或回车符作为分隔符。(空格、TAB、换行符、回车符)
read.table(file = (要读取的文件名),sep =""(分隔符,默认为空格),header,quote(用于指定包围字符型数据的字符,默认情况下,字符串可以被 " 或 ' 括起)
参考

(2)设置行名和列名

colnames(x)查看列名
rownames(x)查看行名
变量<-read.csv(file(文件名), sep = "", header =T, row.names=1(修改第一列为行名))

(3)数据框的导出

write.table(需要导出的数据,file导出文件名称/路径,sep ="", row.names(是否导出行序号,默认为TRUE,也就是导出行序号), col>names(是否导出列名,默认为TRUE,也就是导出列名),quote(字符串是否使用引号表示,默认为TRUE,也就是使用引号表示))
如:
write.table (x, file ="", sep ="", row.names =TRUE, col.names =TRUE, quote =TRUE)
参考:

(4)变量的保存与重新加载

save.image("文件名.RData")保存工作空间到文件'文件名.RData'中(默认值为.RData)`
save(变量名,file="文件名.RData")保存指定对象到文件'文件名.RData中 
load("文件名.RData")读取此变量到当前会话中,默认值为.RData。

(5)提取元素

(6)直接使用数据框中的变量

例子如下:

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

3.问题:

另外请在作业中回答一个问题:save(X,file="test.RData")这句代码如果报错X not found,是为什么,应该怎么解决?
可能原因:1.保存之前未对变量x进行赋值,所以无法找到这个变量X,所以save之前,对X进行赋值即可;
2.大小写不正确,导致找不到。
下面是今天所学的思维导图:

R数据结构.png

结语:今天发现要学的R语言还有很多很多,需要系统的去学习,去操作了,否则还是迷迷糊糊的。

上一篇下一篇

猜你喜欢

热点阅读