注意:代码需理解其中命令和函数的具体含义,用法如何。
?read.table 命令可查看帮助文档,好好看看example部分。
数据类型:
向量(vector)
矩阵(Matrix)
数组(Array)
数据框(Data frame)
List
一、向量

二、数据框
1、读取本地数据
#获得示例数据框
X<-read.csv('doudou.txt')

示例数据框
注:缺失的值由NA表示。
> read.table(file = "huahua.txt",sep = "\t",header = T)
X1 X2
1 A 1
2 B NA
3 C NA
4 D 3
5 E NA
>
read.table()
header来确定数据文件中第一行是不是标题。默认F。
sep指定分隔符,默认是空格。
read.csv()
因为csv就是逗号分割的意思,当然sep必须是逗号。header也是默认有标题的。fill是默认填充的,即遇到行不相等的情况,空白域自动添加既定值。
> a <- read.table(file = "huahua.txt",sep = "\t",header = T)

a
2、设置行名和列名
> X <- read.csv('doudou.txt') #注意这里的变量X是一个数据框
> colnames(X) #查看列名
[1] "X1" "X2"
> rownames(X) #查看行名,默认行名为行号,1,2,3,,,
[1] "1" "2" "3" "4" "5"
> colnames(X)[1] <- "bioplanet" #修改列名

修改列名后
> X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1)
# row.names=1 修改第一列为列名
# rm(X) 可直接销毁对象

修改第一例为列名后
注意:严格区分大小写!
其中出了个小插曲,变量X第二次赋值时一直提示下面报错,最后把X销毁后重新赋值就正常了,按理说变量可以重复赋值呀,报错是咋出来的还是不太明白= =

3、数据框的导出
> write.table(X,file = "yu.txt",sep = ",",quote=F)
# sep分隔符改为逗号,字符串不加双引号(默认 带双引号)

刚刚的数据框导出
4、变量的保存与重新加载
> save.image(file="bioinfoplanet.RData")#保存当前所有变量
> save(X,file="test.RData") #保存其中一个变量
> load("test.RData") #再次使用RData时的加载命令
5、提取元素
> X[1,1] #第1行第1列
[1] 1
> X[1,] #第1行
[1] 1
> X[,1] #第1列
[1] 1 NA NA 3 NA
> X[1] #第1列
X2
A 1
B NA
C NA
D 3
E NA
> X[1,2]
NULL
> X[0:1] #第0列 到 第1列
X2
A 1
B NA
C NA
D 3
E NA
> X[c(0,1)] #第0列 和 第1列
X2
A 1
B NA
C NA
D 3
E NA
> X$X2 # X$列名 ,可tab自动补全,只能选一列
[1] 1 NA NA 3 NA
6、直接使用数据框中的变量
> plot(iris$Sepal.Length,iris$Sepal.Width) #提取某两列做散点图


问题:若下行代码报错
object X not found是什么原因?
save(X,file="test.RData")
emm,我推断可能是X变量是空的还没有赋值,或是大小写错误。
(以上学习内容来自微信公众号——生信星球)