前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Day5-蓝色柠檬

Day5-蓝色柠檬

原创
作者头像
用户10817043
发布2023-11-03 23:18:23
2060
发布2023-11-03 23:18:23
举报
文章被收录于专栏:生信学习小组-花花老师学生

今天进行R中数据结构相关的练习。

摘自【生信星球】的总结,我觉得对于我这种生信小白来说很有帮助,包括一些易错点,以及需要注意的地方。

(1)R的赋值符号不是等号,而是<-(2)在Console 控制台输入命令,相当于Linux的命令行 (3)R的代码都是带括号的,括号必须是英文的。(4)显示工作路径 getwd()(5)向量是由元素组成的,元素可以是数字或者字符串。(6)表格在R语言中改名叫数据框^_^(7)别只复制代码,要理解其中的命令、函数的意思。函数或者命令不会用时,除了百度/谷歌搜索以外,用这个命令查看帮助:?read.table,调出对应的帮助文档,翻到example部分研究一下。 数据类型包括:向量(vector)、矩阵(Matrix)、数组(Array)、数据框(Data frame)、List。其中最重要的为向量和数据库!

一、向量

1.1向量的含义

元素指的是数字或者字符串,而向量表示:多个元素组成的变量;区别于标量(一个元素组成的变量)

使用时,一般都会直接给变量定义,也就是“赋值”,字面意思是赋予这个变量一个数值(其实也不一定是数值,还可以是字符串/数据框等等)。

代码语言:javascript
复制
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的结果是第四次输入的值。

1.2从向量中提取元素

1.2.1根据元素位置提取元素

代码语言:javascript
复制
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~

1.2.2根据值

代码语言:javascript
复制
x[x==10]#等于10的元素
x[x<0]
x[x %in% c(1,2,5)]#存在于向量c(1,2,5)中的元素

二、数据框

今天的练习数据由【生信星球】提供,感谢~从百度网盘下载后直接复制到自己R练习的文件夹下,通过代码直接设取到工作目录

代码语言:javascript
复制
setwd("C:/软件/R") #设取到工作目录
dir() #展现工作目录中的内容

问题:已经设取到了工作目录。但是找不到显示在我工作目录中的文件,报错了,不知道哪里出现了问题。

找到原因了,代码修改为read.table(file="huahua.txt", sep="\t", header=T),不知道大家是否发现错在了哪里

2.1设置行名和列名

代码语言:javascript
复制
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的意思是修改第一列为行名

2.2数据框的导出

代码语言:javascript
复制
write.table(X,file = "yu.txt",sep = ",",quote=F)#分隔符改为逗号,字符串不加双引号(默认格式带由双引号) 

2.3变量的保存与重新加载

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

在这步操作下,工作目录下多了3个文件。

2.4提取元素

代码语言:javascript
复制
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自动补全哦,不过只能提取一列)

2.5【选修部分】直接使用数据框中的变量

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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、向量
    • 1.1向量的含义
      • 1.2从向量中提取元素
        • 1.2.1根据元素位置提取元素
        • 1.2.2根据值
    • 二、数据框
      • 2.1设置行名和列名
        • 2.2数据框的导出
          • 2.3变量的保存与重新加载
            • 2.4提取元素
              • 2.5【选修部分】直接使用数据框中的变量
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档