前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >生信星球学习小组笔记 Day 5——LIU

生信星球学习小组笔记 Day 5——LIU

原创
作者头像
用户10360377
发布2023-12-01 23:55:51
1280
发布2023-12-01 23:55:51
举报

生信星球学习小组笔记 2023年12月1日

今天对R语言数据结构进行学习,★划重点:向量和数据框

一、向量新知

初印象:变量、一串数字、一串字符、不止一个、数据分析的直接对象。(不一定是正确的,仅本人粗显的理解)

新知:

标量:一个元素组成的变量;向量:多个元素组成的变量

非常形象的一张图↓:

来源生信星球公众号
来源生信星球公众号

说到变量,联想到中学时代所学习的函数中的X,同样,R语言中也是对某个“符合”赋值。

代码语言:txt
复制
x <- c(1,2,3,4)
x <- c('a','b','c')
x <- c(1,2,3,'a')
#运行结果
> x <- c(1,2,3,4)
> class(x)
[1] "numeric"
> x <- c('a','b','c')
> class(x)
[1] "character"
> x <- c(1,2,3,'a')
> class(x)
[1] "character"

可以发现,x可以是数字或者是字符,与此同时,数字和字符一块赋值,则数字也变成了字符。

利用函数赋值:同样的,也能通过函数(自带或自定义)进行赋值。

代码语言:txt
复制
x <- rnorm(5) #利用正态分布函数生成5个符合正态分布的数字
> x
[1]  0.4565827  0.0398871  0.9193298  1.0669231 -1.2529013

TIPS:不知道函数用法和作用可以使用?函数解决,如?rnorm()

rnorm()函数介绍
rnorm()函数介绍

二、从一串向量取出需要的值

通过上面的结果,我们得到了有5个数值的向量。

代码语言:txt
复制
> x
[1]  0.4565827  0.0398871  0.9193298  1.0669231 -1.2529013

[]取值,如:

代码语言:txt
复制
x[1] #取第一个
x[-1] #除了第一个的其他结果
x[4:5] #第4至5个
x[c(1,2,5)] #第1,2,5个

获得结果

代码语言:txt
复制
> x[1]
[1] 0.4565827
> x[-1]
[1]  0.0398871  0.9193298  1.0669231 -1.2529013
> x[4:5]
[1]  1.066923 -1.252901
> x[c(1,2,5)]
[1]  0.4565827  0.0398871 -1.2529013

三、数据框(data frame)

*英文名字很重要,因为一开始根本不理解“框”&“frame“。

*目前有数据文件:huahua.txt

读取文件

代码语言:txt
复制
a <- read.table('huahua.txt', sep = '\t', header = T) #通过read.table()读取huahua.txt文件,同时赋值给a,sep和header是参数,针对函数设置,可以用?函数详细了解,注意此处huahua.txt用了引号!

行名&列名

代码语言:txt
复制
colnames(a) #列名~colnames英文单词
rownames(a) #行名,默认是1.2.3...的自然数
dim(a)#维度,即多少行多少列

结果

代码语言:txt
复制
> colnames(a)
[1] "X1" "X2"
> rownames(a) 
[1] "1" "2" "3" "4" "5"
> dim(a)
[1] 5 2

数据框导出

代码语言:txt
复制
write.table(a,file = "yu.txt",sep = ",",quote=F)

工作目录中出现yu.txt文件

yu.txt被导出至工作目录
yu.txt被导出至工作目录

变量保存和重新加载

重点,可以节约空间和时间,新知,此处引用老师原文

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

导出的文件
导出的文件

元素提取

个人理解:由于相比于向量多了一个维度,所以提取的时候也多了一个维度

代码语言:txt
复制
a[1,3] #提取第一行第三列元素
a[,3] #提取第3列元素
a[3] #同上
a$列名 #直接提取
a[c(1,3),2] #取第1行第二列和第3行第二列元素

【作业】

save(a,file="test.RData"),这句代码如果报错object a not found,是为什么,应该怎么解决?

  1. 自行分析:'object a not foun‘,说明对象没有,即代码中的a对象没有,可能是代码copy来的没有更改保存对象,也有可能是a对象被清除,也有可能a对象在上一步代码中出现错误,没有及时发现。
  2. 上网搜索:关键词:R语言 save()函数出现'object a not foun‘报错。(如果没有答案则翻译成英文搜索)

备忘录:来自花花和豆豆老师整理的新手常见问题

(1)R的规范赋值符号是<-,也可以用=代替 (2)在Console 控制台输入命令,相当于Linux的命令行

(3)R的代码都是带括号的,括号必须是英文的。 (4)显示工作路径 getwd()

(5)向量是由元素组成的,元素可以是数字或者字符串。

(6)表格在R语言中称为数据框^_^ (7)别只复制代码,要理解其中的命令、函数的意思。函数或者命令不会用时,除了百度/谷歌搜索以外,用这个命令查看帮助:?read.table,调出对应的帮助文档,翻到example部分研究一下。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 生信星球学习小组笔记 2023年12月1日
    • 今天对R语言数据结构进行学习,★划重点:向量和数据框
      • 一、向量新知
        • 二、从一串向量取出需要的值
          • 三、数据框(data frame)
            • 读取文件
            • 行名&列名
            • 数据框导出
            • 变量保存和重新加载
            • 元素提取
          • 【作业】
            • 备忘录:来自花花和豆豆老师整理的新手常见问题
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档