R语言数据结构(一)向量

数据结构是指在计算机中存储和组织数据的方式,不同的数据结构有不同的特点和适用场景。R语言中的常用数据结构,包括向量、矩阵、数组、列表和数据框。关于数据结构的使用,我们将分四篇文章分别介绍每种数据结构的操作方法和代码示例。

为方便大家理解记忆,对每种数据结构的基本操作概括为四大类:

  1. 创建数据结构
  2. 往里面添加数据
  3. 从里面查询数据
  4. 对里面的数据进行修改

这篇文章我们将介绍向量的使用

目录

向量

创建向量

访问向量

修改向量


向量

向量是R语言中最基本的数据结构,它是由一系列相同类型的元素组成的一维数组。向量的类型可以是数值、字符、逻辑或因子等,但是每个向量只能包含一种数据类型。向量的长度是指它包含的元素个数,可以用length()函数来获取。

创建向量

创建向量的一种常用方法是使用c()函数,它可以将多个元素组合成一个向量。例如:

# 创建一个数值向量
x <- c(1, 2, 3, 4, 5)
x
## [1] 1 2 3 4 5

# 创建一个字符向量
y <- c("a", "b", "c", "d", "e")
y
# [1] "a" "b" "c" "d" "e"

# 创建一个逻辑向量
z <- c(TRUE, FALSE, TRUE, FALSE, TRUE)
z
# [1]  TRUE FALSE  TRUE FALSE  TRUE

另一种创建向量的方法是使用序列生成函数,如seq()rep()seq()函数可以根据指定的起始值、结束值和步长来生成一个等差数列,rep()函数可以根据指定的重复次数或长度来复制一个元素或向量。例如:

# 使用seq()函数创建一个从1到10,步长为2的数值向量
a <- seq(from = 1, to = 10, by = 2)
a
# [1] 1 3 5 7 9

# 使用rep()函数创建一个重复5次的字符向量
b <- rep("hello", times = 5)
b
# [1] "hello" "hello" "hello" "hello" "hello"

# 使用rep()函数创建一个重复到长度为10的逻辑向量
c <- rep(c(TRUE, FALSE), length.out = 10)
c
# [1]  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE

访问向量

访问向量中的元素可以使用方括号[]和索引号。索引号从1开始,表示第一个元素,负数表示排除对应位置的元素。例如:

# 访问x向量中的第一个元素
x[1]
# [1] 1

# 访问y向量中的最后一个元素
y[length(y)]
# [1] "e"

# 访问z向量中除了第三个元素以外的所有元素
z[-3]
# [1]  TRUE FALSE FALSE  TRUE

也可以使用逻辑表达式或条件语句来访问向量中满足特定条件的元素。例如:

# 访问x向量中大于3的元素
x[x > 3]
# [1] 4 5

# 访问y向量中不等于"d"的元素
y[y != "d"]
# [1] "a" "b" "c" "e"

# 访问z向量中为TRUE的元素
z[z == TRUE]
# [1] TRUE TRUE TRUE

修改向量

修改向量中的元素可以使用赋值符号<-或者等号=。例如:

# 修改x向量中的第二个元素为10
x[2] <- 10x
# [1]  1 10  3  4  5

# 修改y向量中的第四个和第五个元素为"f"和"g"
y[4:5] = c("f", "g")
y
# [1] "a" "b" "c" "f" "g"

# 修改z向量中为FALSE的元素为NA
z[z == FALSE] <- NA
z
# [1]  TRUE    NA  TRUE    NA  TRUE

也可以使用向量运算来修改向量中的元素。例如:

# 对x向量中的每个元素加1
x <- x + 1
x
# [1]  2 11  4  5  6
# 对y向量中的每个元素连接一个感叹号
y <- paste(y, "!")
y
# [1] "a!" "b!" "c!" "f!" "g!"

# 对z向量中的每个元素取反
z <- !z
z
# [1] FALSE    NA FALSE    NA FALSE
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值