思维导图

tip:使用?read.table
查看read.table帮助文档
一、向量
1、几个赋值函数
x<-c(1,2,3) #由元素1,2,3组成的向量
x<-1:10 #1到10之间的所有**整数**
x<-seq(1,10,by=0.5) #1到10范围内每0.5取一个数
x<-rep(1:3,2) #1到3之间的所有整数,重复两次

2、从向量中提取标量
(1)根据元素位置
x[4] #x第4个元素
x[-4]#排除法,除了第4个元素之外剩余的元素
x[2:4]#第2到4个元素
x[-(2:4)]#除了第2-4个元素
x[c(1,5)] #第1个和第5个元素

(2)根据值
x<-1:10
x
a<-x[x==10]#等于10的元素
a
a<-x[x>5]
a
a<-x[x %in% c(1,2,11)]#存在于向量c(1,2,11)中的元素
a

二、数据框

使用`X<-read.csv('doudou.txt')读取

(1)读取本地数据
read.table(file="huahua.txt",sep="\t",header=T)
a<-read.table(file="huahua.txt",sep="\t",header=T)
a
sep 是函数的形式参数,多数情况下, sep 参数用来指定字符的分隔符号。不仅用在你所提到的输出,也用在输入,也用在字符串的合并与拆分上。csv 文件是用逗号分隔的,故而 sep = "," txt文件是用制表符分隔的,故而 sep = "\t" 常用的分隔符还有空格 sep = " "分隔符是任意的。
使用read.table函数读入,txt文件可以不用指定sep,csv文件指定sep=",",不指定不会报错但是会出现你读入的数据只有一列的情况。
使用read.csv函数读入,txt文件必须指定sep="\t",读入csv文件不强制指定sep参数,因为默认sep=','。
header=TRUE代表读入数据时将第一行作为列名(若是FALSE则相反,不使用文件中第一行作为列名),也可以简写问header=T(或是header=F)
(来自:https://www.cnblogs.com/hanweiblog/p/9281854.html)

(2)设置行名和列名
X<-read.csv('doudou.txt') #变量X是数据框
colnames(X) #查看列名
rownames(X) #查看行名,默认值的行名就是行号,1.2.3.4...
colnames(X)[1]<-"bioplanet" #有的公司返回数据,左上角第一格为空,R会自动补为x,用这个命令来修改(改名为bioplanet)
X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1) #最后row.names的意思是修改第一列为行名

(3)数据框的导出
write.table(X,file = "yu.txt",sep = ",",quote=F)
sep=","表示分隔符改为逗号,quote=F表示字符串不加双引号(默认格式带由双引号)
(4)变量的保存与重新加载
save.image(file="bioinfoplanet.RData")#保存当前所有变量
save(X,file="test.RData")#保存其中一个变量
load("test.RData")#再次使用RData时的加载命令
(5)提取元素
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$列名#也可以提取列
(6)【选修部分】直接使用数据框中的变量
iris是R语言的内置数据,可以直接使用。提取某两列作散点图:
sepal length(花萼长度) sepal width(花萼宽度)
plot(iris$Sepal.Length,iris$Sepal.Width)

脚本的使用和保存:

脚本文件的后缀就是R
作业:
save(X,file="test.RData")
这句代码如果报错object X not found,说明没有找到X,可能是被赋值的是x而不是X,或者前面的代码里没有给X进行赋值。
网友评论