微信扫一扫 分享朋友圈

已有 264 人浏览分享

开启左侧

R语言基础(4)-向量中数据的选择

[复制链接]
264 0
day1(3)01.如何从向量中筛选值?
a.使用逻辑条件
# 创建一个向量
vector <- c(5, 8, 13, 21, 34, 55)

# 筛选出大于10的元素
subset_vector <- vector[vector > 10]

# 打印结果
print(subset_vector)




b.使用 subset()函数 ,subset() 函数提供了一个更高层次的接口,适用于数据框(dataframe)和向量,让条件筛选更加直观。 注意:subset()函数通常用于数据框,对于简单向量,直接使用逻辑条件通常更为直接和常见。
# 对于向量,使用subset需要稍微变通,因为subset通常用于数据框
subset_vector <- subset(vector, vector > 10)

# 打印结果
print(subset_vector)




c. 使用 %in% 操作符
# 创建一个向量
vector <- c(1, 2, 3, 4, 5)

# 创建一个条件集合
values_to_select <- c(2, 4)

# 筛选出存在于 values_to_select 的元素
selected_vector <- vector[vector %in% values_to_select]

# 打印结果
print(selected_vector)



要根据向量中元素的位置选择子集,你可以直接通过位置索引来实现。在 R 语言中,你可以使用方括号 [] 来指定你想选择的元素的位置。以下是一些基本的方法来根据位置挑选向量中的元素:
d.如果你只想从向量中挑出一个特定位置的元素,可以直接通过该位置的索引来选择:
# 创建一个向量
vector <- c(10, 20, 30, 40, 50)

# 选择第三个元素
selected_element <- vector[3]

# 打印结果
print(selected_element)


这会输出 30,即向量中第三个位置的元素。
e.如果你想一次选择多个位置的元素,可以在方括号中提供这些位置的向量:
# 创建一个向量
vector <- c(10, 20, 30, 40, 50)

# 选择第二个和第四个元素
selected_elements <- vector[c(2, 4)]

# 打印结果
print(selected_elements)


这会输出 20 和 40,即向量中第二个和第四个位置的元素。
f.你还可以选择向量中一段连续的元素,通过提供一个范围的索引:
# 创建一个向量
vector <- c(10, 20, 30, 40, 50)

# 选择从第二个到第四个的元素
selected_range <- vector[2:4]

# 打印结果
print(selected_range)


这会输出 20, 30, 40,即向量中从第二个到第四个的连续元素。
g.如果你想选择除了某些特定位置之外的所有元素,可以使用负索引:
# 创建一个向量
vector <- c(10, 20, 30, 40, 50)

# 选择除了第三个元素之外的所有元素
selected_except_one <- vector[-3]

# 打印结果
print(selected_except_one)


这会输出 10, 20, 40, 50,即除了第三个位置的元素外的所有元素。
02.修改向量中的值
a.如果你需要修改向量中某个特定位置的值,可以通过该位置的索引直接赋新值,这会将向量的第三个元素30 改为 100,修改后的向量为 c(10, 20, 100, 40, 50)。
# 创建一个向量
vector <- c(10, 20, 30, 40, 50)

# 修改第三个位置的值为100
vector[3] <- 100

# 打印修改后的向量
print(vector)


b.如果你想同时修改向量中多个位置的值,可以使用位置索引的向量来指定这些位置,并赋予新的值,这将把向量的第一个元素10 改为 5,第四个元素 40 改为 45,结果向量为 c(5, 20, 30, 45, 50)。
# 创建一个向量
vector <- c(10, 20, 30, 40, 50)

# 修改第一和第四位置的值
vector[c(1, 4)] <- c(5, 45)

# 打印修改后的向量
print(vector)


c.修改一段连续的值,你也可以选择一个连续的范围并赋予新的值,这些值需要与选择的范围长度相匹配,这会将向量的第二到第四个元素分别修改为25, 35, 45,结果向量为 c(10, 25, 35, 45, 50)。
这些方法提供了灵活的方式来根据需要修改向量中的元素。只要确定了正确的索引位置,就可以轻松地进行赋值操作。
# 创建一个向量
vector <- c(10, 20, 30, 40, 50)

# 修改第二到第四位置的值
vector[2:4] <- c(25, 35, 45)

# 打印修改后的向量
print(vector)


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0

关注

0

粉丝

17

主题
精彩推荐
热门资讯
网友晒图
图文推荐

免责声明|手机版|小黑屋|BIOFUN.CLOUD ( 苏ICP备2022022893号-2 )

GMT+8, 2025-1-5 11:53 , Processed in 0.095390 second(s), 31 queries .

Powered by Discuz! X3.5

© 2020-2030 Biofun Team. 苏ICP备2022022893号-2