今天进行R中数据结构相关的练习。
摘自【生信星球】的总结,我觉得对于我这种生信小白来说很有帮助,包括一些易错点,以及需要注意的地方。
(1)R的赋值符号不是等号,而是<-(2)在Console 控制台输入命令,相当于Linux的命令行 (3)R的代码都是带括号的,括号必须是英文的。(4)显示工作路径 getwd()(5)向量是由元素组成的,元素可以是数字或者字符串。(6)表格在R语言中改名叫数据框^_^(7)别只复制代码,要理解其中的命令、函数的意思。函数或者命令不会用时,除了百度/谷歌搜索以外,用这个命令查看帮助:?read.table,调出对应的帮助文档,翻到example部分研究一下。 数据类型包括:向量(vector)、矩阵(Matrix)、数组(Array)、数据框(Data frame)、List。其中最重要的为向量和数据库!
元素指的是数字或者字符串,而向量表示:多个元素组成的变量;区别于标量(一个元素组成的变量)
使用时,一般都会直接给变量定义,也就是“赋值”,字面意思是赋予这个变量一个数值(其实也不一定是数值,还可以是字符串/数据框等等)。
x<- c(11,22,33) #常用的向量写法,意为将x定义为由元素11,22,33组成的向量。
x
x<- 1:6 #从1-6之间所有的整数
x
x<- seq(1,10,by = 0.6) #1-10之间每隔0.6取一个数(注意是逗号不是分号)
x
x<- rep(1:3,times=3) #1-3 重复3次
x
tips:把上面代码都打过了,x就被赋值了4次,结果就被覆盖了,最后x的结果是第四次输入的值。
x[4] #x第4个元素
x[-4]#排除法,除了第4个元素之外剩余的元素
x[2:4]#第2到4个元素
x[-(2:4)]#除了第2-4个元素
x[c(1,5)] #第1个和第5个元素
刚刚x赋值为1 2 3 1 2 3 1 2 3~
x[x==10]#等于10的元素
x[x<0]
x[x %in% c(1,2,5)]#存在于向量c(1,2,5)中的元素
今天的练习数据由【生信星球】提供,感谢~从百度网盘下载后直接复制到自己R练习的文件夹下,通过代码直接设取到工作目录
setwd("C:/软件/R") #设取到工作目录
dir() #展现工作目录中的内容
问题:已经设取到了工作目录。但是找不到显示在我工作目录中的文件,报错了,不知道哪里出现了问题。
找到原因了,代码修改为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时的加载命令
在这步操作下,工作目录下多了3个文件。
X[1,1]#第1行第1列
X[3,]#第3行
X[,1]#第1列
X[1] #也是第1列
X[0:1]#第0列到第1列
X[c(0,1)]#第0列和第1列
X$X2#也可以提取列(优秀写法,而且这个命令还优秀到不用写括号的地步,并且支持Tab自动补全哦,不过只能提取一列)
iris是R语言的内置数据,可以直接使用。提取某两列作散点图:
最后练习代码命令的保存与打开,File-save as-命名,之后在工作目录直接用RStudio打开即可。
回答问题:save(X,file="test.RData")如果报错object X not found,是为什么,应该怎么解决?找不到变量X,检查大小写问题,X是否有赋值,如果没有找到,请用X<-某某对X进行赋值。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。