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

Day5-橙子

原创
作者头像
用户11110663
发布2024-05-10 00:30:07
1200
发布2024-05-10 00:30:07

数据结构

本文内容均总结自花花老师生信星球学习小组

新手基础知识

  1. R赋值符号<-=
  2. 在Console 控制台输入命令,相当于Linux的命令行
  3. 向量是由元素组成的,元素可以是数字或者字符串。
  4. R语言中的数据框可以理解为表格;表格在R语言中称为数据框
  5. 函数/命令:不要机械复制,理解才会用;?read.table调出对应文档,example部分 ?+函数名称 如 save() ?save
  6. 数据类型有5种,重点看 向量vector数据框Data frame

向量(vector)?重要 矩阵(Matrix) 数组(Array) 数据框(Data frame)?重要 List

向量

标量与向量

元素:数字 或 字符串(chr)

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

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

代码语言:txt
复制
 #一个向量作为数据框中的一列
代码语言:txt
复制
x<- c(1,2,3) #常用的向量写法,意为将x定义为由元素1,2,3组成的向量。
x

x<- 1:10 #从1-10之间所有的整数
x

x<- seq(1,10,by = 0.5) #1-10之间每隔0.5取一个数(注意是逗号不是分号)
x

x<- rep(1:3,times=2) #1-3 重复2次
x

#重复赋值会覆盖,最后一次为准

从向量中提取元素

根据元素位置

代码语言:txt
复制
x[4] #x第4个元素
x[-4]#排除法,除了第4个元素之外剩余的元素
x[2:4]#第2到4个元素
x[-(2:4)]#除了第2-4个元素
x[c(1,5)] #第1个和第5个元素

根据

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

%in%检查一个元素是否存在于一个向量中的运算符

在执行 xx %in% c(1,2,5)这行代码之前,需要确保变量 x 已经存在并且已经被赋值。否则,如果尝试对未定义的变量执行这行代码,将会出现错误信息。

因此,x 必须是一个已经存在的向量,并且至少包含一些元素。然后,你可以对这个向量执行条件索引,选取满足条件的元素。

数据框

确定工作目录

代码语言:txt
复制
getwd()#显示当前工作路径
setwd()#设置新的工作路径

读取本地数据

代码语言:txt
复制
read.table(file = ''huahua.txt'',sep = "\t",header = T)
a<-read.table(file = ''huahua.txt'',sep = "\t",header = T)

sep分隔符

header第一行是否为表头

推荐使用read.table函数读入txt文件,read.csv函数读入csv文件

R语言csv与txt文本读入区分(sep参数) 参考博客链接https://www.cnblogs.com/hanweiblog/p/9281854.html

查看行名和列名、行数和列数

代码语言:txt
复制
colnames(a) #查看列名
rownames(a) #查看行名,默认值的行名就是行号,1.2.3.4...
dim(a)#几行几列

数据框的导出

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

这行代码是用R语言中的write.table()函数将数据框(或矩阵)a写入到文件 "yu.txt" 中,以逗号作为分隔符,且不对数据进行引用(quote)。 a: 这是要写入文件的数据框(或矩阵)。 file = "yu.txt": 这表示要将数据写入到名为 "yu.txt" 的文件中。如果文件不存在,则会创建一个新文件;如果文件已经存在,则会被覆盖。 sep = ",": 这表示使用逗号作为数据的分隔符。这意味着在写入文件时,不同的数据值将用逗号进行分隔。 quote = F: 这表示在写入文件时不对数据进行引用(quote)。如果设置为 TRUE,则在写入数据时会将字符数据用引号括起来,以确保特殊字符不会干扰数据的读取。

变量的保存与重新加载

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

在R中,像a这样的变量可以表示各种类型的数据结构,包括但不限于:

数据框(Data Frames):如你的例子所示,a是一个数据框,它是一种具有行和列的表格数据结构。数据框通常用于存储数据集,其中每一列可以有不同的数据类型(数值型、字符型、因子型等)。

矩阵(Matrices):矩阵是一个二维数据结构,其中每个元素都是相同的数据类型。你可以使用matrix()函数创建矩阵。

向量(Vectors):向量是一个一维数组,可以容纳数值型、字符型或逻辑型数据。你可以使用c()函数创建向量。

列表(Lists):列表是一种多功能的数据结构,可以容纳不同类型的元素,包括其他列表、向量、矩阵、数据框等。你可以使用list()函数创建列表。

标量(Scalars):标量是单个值,如数值、字符字符串或逻辑值。

数组(Arrays):数组是向量的多维扩展。向量是一维的,而数组可以有两个或更多维度。

在save(a, file = "test.RData")的上下文中,a可以代表任何这些数据结构。当你使用save()将a保存到文件时,R会将整个对象a以及其结构和数据保存到文件中,无论a是数据框、矩阵、列表或任何其他受支持的数据类型。提取元素

代码语言:txt
复制
- a[x,y]#第x行第y列
- a[x,]#第x行
- a[,y]#第y列
- a[y] #也是第y列
- a[a:b]#第a列到第b列
- a[c(a,b)]#第a列和第b列
- a$列名 #也可以提取列(优秀写法,支持Tab自动补全,不过只能提取一列)

直接使用数据框中的变量

iris是R语言的内置数据,可以直接使用。

提取某两列作散点图:

代码语言:txt
复制
plot(iris$Sepal.Length,iris$Sepal.Width)

脚本文件的后缀为R

问题

代码语言:txt
复制
save(a,file="test.RData")

报错object a not found

原因:变量a没有被赋值,右上角Environment中没有此变量

报错 "object 'a' not found" 可能是由于以下情况导致的:

在执行 save(a, file = "test.RData") 之前,a 变量未被正确赋值或定义。

a 变量在执行 save() 函数之前被删除了,或者在当前环境中不可见。

a 变量被重新赋值为新的对象,导致保存的内容与预期不符。

如果 a 被重新赋值为一个新的对象,那么执行 save(a, file = "test.RData") 将会保存这个新的对象,而不是之前的 a 对象。这可能导致后续使用 load("test.RData") 加载文件时,期望得到的内容与实际内容不符,从而引发问题。

需要确保在执行 save() 函数之前,a 变量已经被正确赋值,并且其内容是我们想要保存的。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据结构
  • 新手基础知识
  • 向量
    • 标量与向量
      • 从向量中提取元素
        • 根据元素位置
        • 根据值
    • 数据框
      • 确定工作目录
        • 读取本地数据
          • 查看行名和列名、行数和列数
            • 数据框的导出
              • 变量的保存与重新加载
                • 直接使用数据框中的变量
                • 脚本文件的后缀为R
                • 问题
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                http://www.vxiaotou.com