前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R||R语言基础(二)_数据结构

R||R语言基础(二)_数据结构

作者头像
小汪Waud
发布2023-02-16 15:20:08
1.6K0
发布2023-02-16 15:20:08
举报
文章被收录于专栏:小汪Waud

继续我们的R语言基础学习!

今天要学习的是R中的数据类型

在这些数据类型中,向量数据框对于生信学习者来说较为重要。

01向量

向量与标量

元素:指数字或者字符串(用chr表示)等,根据它可以区分两个词:标量与向量。

标量:一个元素组成的变量

向量:多个元素组成的变量

使用字符串时,必须使用引号哦""

一个向量是一排有序排列的元素。使用时,一般都会直接给变量定义,也就是“赋值”即赋予变量一个数值 <-

代码语言:javascript
复制
x<- c(1,2,3) #常用的向量写法,意为将x定义为由元素1,2,3组成的向量。
x<- 1:10 #从1-10之间所有的整数
x<- seq(1,10,by = 0.5) #1-10之间每隔0.5取一个数(注意是逗号不是分号)
x<- rep(1:3,times=2) #1-3 重复2次

重复以上操作,最后x会被赋值为最后的一次操作

从向量中提取元素

1.根据元素位置

代码语言:javascript
复制
x<- 1:10 #从1-10之间所有的整数
x[4] #x第4个元素
x[-4] #排除法,除了第4个元素之外剩余的元素
x[2:4] #第2到4个元素
x[-(2:4)] #除了第2-4个元素
x[c(1,5)] #第1个和第5个元素

2.根据值

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

02数据框

1.示例数据准备

在工作目录下新建一个excel,取名为example并保存为csv格式,内容如下

千万不要直接另存为csv格式!!!不然你会遇到以下乱码的

2.常用操作

读取数据常用read.table read.csv等函数,我们通过 ?命令 查看其帮助文档

参数很多,我们对其进行简化,列出常用参数

代码语言:javascript
复制
read.table(file, header = FALSE, sep ="", quote = "\"'",
dec = ".", skip = 0,
strip.white = FALSE, blank.lines.skip =TRUE,
comment.char = "#")

1)file 表示要读取的文件,是一个带分隔符的ASCII文本文件

2)header 用来确定数据文件中第一行是不是标题

代码语言:javascript
复制
header=T # 第一行是标题
header=F # 第一行不是标题

3)sep 表示分开数据的分隔符

不同函数默认分隔符不同,如read.table的默认分隔符是空格,而read.csv的默认分隔符是逗号

read.table()函数可以将1个或多个空格、tab制表符、换行符或回车符作为分隔符

4)quote 用于对有特殊字符的字符串划定接线的字符串

5)dec 用于指明数据文件中小数的小数点

6)row.names 保存行名的向量

以向量的形式给出每行的行名,或读取表中包含行名称的列序号

代码语言:javascript
复制
df <- read.csv('example.csv',row.names = 'GeneID')

7)col.names 指定列名的向量

缺省情况下是由"V"加上列序构成,即V1,V2,V3等

另外可以通过rownames()和colnames()查看行名和列名

8)数据框的导出

代码语言:javascript
复制
write.table(x,file ="",quote = T, sep = "")

9)变量的保存与重新加载

如果本次数据没用完,想下次再次使用

代码语言:javascript
复制
save.image(file="all.RData") #保存当前所有变量
save(X,file="a.RData") #保存变量X并命名为a.RData
load("a.RData") #加载a.RData

10)提取元素

代码语言:javascript
复制
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$列名 #提取列

报错

我在使用read.table读取数据的时候出现了以下报错

查询了一下发现是图中红框的部分是没有数据的,如果使用csv程序会采用NA补全,而table不会

写在最后

磨磨唧唧终于是把R语言基础的数据结构部分给发出来啦,虽然R语言基础的第三期还没写好,但是!!!第四期已经写好啦!!

时刻准备着!!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小汪Waud 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01向量
  • 02数据框
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档