R编程基础教程:向量操作详解
向量基础概念
在R语言中,向量是最基本也是最常用的数据结构。向量主要分为两种类型:
- 原子向量(atomic vectors):包含单一数据类型
- 列表(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)。
学习建议
- 多练习各种逻辑运算组合,这对后续学习数据子集选取和控制结构非常重要
- 尝试不同的
paste()
函数参数组合,理解sep
和collapse
参数的区别 - 注意观察向量长度不一致时的自动循环行为
- 实践中注意数据类型的变化,特别是数值到字符的自动转换
通过掌握这些向量操作基础,您将为后续更复杂的R编程打下坚实基础。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考