R编程基础教程:向量操作详解

R编程基础教程:向量操作详解

swirl_courses :mortar_board: A collection of interactive courses for the swirl R package. swirl_courses 项目地址: https://gitcode.com/gh_mirrors/sw/swirl_courses

向量基础概念

在R语言中,向量是最基本也是最常用的数据结构。向量主要分为两种类型:

  1. 原子向量(atomic vectors):包含单一数据类型
  2. 列表(lists):可以包含多种数据类型

我们首先重点学习原子向量,它又细分为以下几种类型:

  • 数值型(numeric)
  • 逻辑型(logical)
  • 字符型(character)
  • 整型(integer)
  • 复数型(complex)

逻辑向量操作

逻辑向量包含TRUE、FALSE和NA(表示缺失值)三种值。这些值通常由逻辑条件产生。

创建数值向量

num_vect <- c(0.5, 55, -10, 6)

逻辑比较运算

tf <- num_vect < 1  # 判断向量中每个元素是否小于1

R语言中的比较运算符包括:

  • < 小于
  • > 大于
  • <= 小于等于
  • >= 大于等于
  • == 等于
  • != 不等于

复合逻辑运算

R语言支持多种逻辑组合运算:

  • | 逻辑或(OR)
  • & 逻辑与(AND)
  • ! 逻辑非(NOT)

示例分析

(3 > 5) & (4 == 4)  # FALSE,因为3>5为假
(TRUE == TRUE) | (TRUE == FALSE)  # TRUE,因为前半部分为真
((111 >= 111) | !(TRUE)) & ((4 + 1) == 5)  # TRUE

字符向量操作

字符向量在R中也非常常见,使用双引号定义字符元素。

创建字符向量

my_char <- c("My", "name", "is")

合并字符向量

使用paste()函数可以将字符向量合并为一个字符串:

paste(my_char, collapse = " ")  # 用空格连接各元素

扩展字符向量

my_name <- c(my_char, "Swirl")  # 添加新元素
paste(my_name, collapse = " ")  # 合并为新字符串

多向量合并

paste()函数还可以合并多个向量:

paste("Hello", "world!", sep = " ")  # 简单合并两个单词
paste(1:3, c("X", "Y", "Z"), sep = "")  # 合并数字和字母

向量循环使用

当合并的向量长度不一致时,R会自动循环使用较短的向量:

paste(LETTERS, 1:4, sep = "-")  # LETTERS有26个字母,1:4会被循环使用

注意:在合并过程中,数值型数据会被自动转换为字符型,这个过程称为"强制转换"(coercion)。

学习建议

  1. 多练习各种逻辑运算组合,这对后续学习数据子集选取和控制结构非常重要
  2. 尝试不同的paste()函数参数组合,理解sepcollapse参数的区别
  3. 注意观察向量长度不一致时的自动循环行为
  4. 实践中注意数据类型的变化,特别是数值到字符的自动转换

通过掌握这些向量操作基础,您将为后续更复杂的R编程打下坚实基础。

swirl_courses :mortar_board: A collection of interactive courses for the swirl R package. swirl_courses 项目地址: https://gitcode.com/gh_mirrors/sw/swirl_courses

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

岑风霖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值