1. 变量与常量
在 R 中可以直接使用 <- 或 = 赋值符号声明变量。常量可以通过 assign 函数声明。
age <- 30
name = "Alice"
assign("pi", 3.1415)
注意事项:R 中没有严格的常量机制,assign 不会锁定变量。
2. 数据类型
R 支持多种数据类型:numeric、character、logical 和 factor 类型。
height <- 1.75
is_student <- TRUE
city <- factor("New York")
易错点:转换类型时确保数据兼容,例如字符型转为数值型会导致 NA。
3. 条件语句
R 使用 if、else 和 else if 语句进行条件判断。
if (age > 18) {
print("Adult")
} else {
print("Minor")
}
注意事项:条件语句的条件表达式需返回布尔值,字符或数值会导致错误。
4. 循环
R 中的循环包括 for、while 和 repeat。
for (i in 1:5) {
print(i)
}
易错点:repeat 循环必须用 break 退出,否则会进入无限循环。
5. 函数
R 使用 function 定义函数,支持默认参数。
add <- function(a, b = 10) {
return(a + b)
}
注意事项:返回值不一定要用 return,函数会返回最后的表达式。
6. 数据框与数据处理
R 中的数据框类似于表格数据,data.frame 函数用于创建数据框。
df <- data.frame(Name = c("Alice", "Bob"), Age = c(25, 30))
注意事项:数据框列名应保持一致以便调用,列操作时需注意使用 $ 符号。
7. 绘图
R 提供了强大的绘图功能,plot 函数用于绘制简单的散点图。
plot(df$Age, main = "Age Distribution")
注意事项:使用高级绘图功能时需安装 ggplot2 等包。
8. 包管理
使用 install.packages 安装包,library 加载包。
install.packages("ggplot2")
library(ggplot2)
易错点:安装包后需重新启动 R 环境,以确保包可以正确加载。
高级与小众用法
向量化运算
R 支持向量化运算,能在一行代码中处理整个向量或矩阵的数据。
x <- c(1, 2, 3)
y <- x * 2 # 结果为 c(2, 4, 6)
注意事项:确保向量长度一致,否则会导致非预期结果或警告。
列表操作
列表可以存储不同类型的数据,list 函数用于创建列表。
my_list <- list(name = "Alice", age = 25, scores = c(90, 85, 88))
易错点:访问嵌套列表时需指定完整的路径,使用 [[ ]] 获取元素。
数据框列的动态引用
使用 [[ ]] 方式可以动态引用列名变量,便于灵活操作。
col_name <- "Age"
df[[col_name]]
注意事项:动态引用适用于复杂数据框操作,避免使用动态引用时拼写错误。
apply 系列函数
R 中的 apply、sapply、lapply 等用于数据操作。
apply(matrix(1:9, nrow = 3), 1, sum)
易错点:使用 apply 时需指定正确的维度参数(1 表示行,2 表示列)。
自定义运算符
可以使用 % 创建自定义运算符。
'%concat%' <- function(x, y) {
paste(x, y, sep = "")
}
"Alice" %concat% "Bob" # 输出 "AliceBob"
注意事项:自定义运算符需包含在 % 符号之间,避免与内置运算符冲突。
异常处理
R 中使用 tryCatch 处理异常。
result <- tryCatch({
10 / 0
}, warning = function(w) {
print("This is a warning")
}, error = function(e) {
print("This is an error")
})
注意事项:使用 tryCatch 进行错误处理时,应明确区分警告和错误处理函数。
