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
进行错误处理时,应明确区分警告和错误处理函数。