R语言基础语法 #
一、注释 #
R语言支持单行注释,使用#符号。
1.1 单行注释 #
r
print("Hello, R!")
x <- 10
1.2 多行注释 #
R语言没有专门的多行注释语法,可以使用多个单行注释:
r
x <- 10
或者使用字符串技巧(不推荐):
r
'
这是多行注释
第二行注释
第三行注释
'
二、标识符 #
标识符用于命名变量、函数、对象等。
2.1 命名规则 #
- 以字母或点号开头(点号后不能是数字)
- 后续可以是字母、数字、点号或下划线
- 区分大小写
- 不能使用保留关键字
r
合法标识符
x <- 1
my_var <- 2
myVar <- 3
.my_var <- 4
var2 <- 5
非法标识符
2var <- 1
_var <- 2
my-var <- 3
2.2 命名约定 #
R语言常用的命名约定:
| 风格 | 示例 | 说明 |
|---|---|---|
| snake_case | my_variable | 推荐用于变量和函数 |
| camelCase | myVariable | 也常用 |
| dot.case | my.variable | R特有,但可能与S3方法混淆 |
| PascalCase | MyVariable | 通常用于类名 |
r
推荐命名
student_name <- "张三"
student_age <- 20
calculate_average <- function(x) mean(x)
避免使用点号命名
my.data <- data.frame(x = 1:10)
三、关键字 #
R语言的保留关键字不能用作标识符。
3.1 保留字列表 #
r
if else repeat while function for in next break
TRUE FALSE NULL Inf NaN NA NA_integer_ NA_real_
NA_complex_ NA_character_ ...
3.2 关键字说明 #
| 关键字 | 用途 |
|---|---|
| if, else | 条件判断 |
| repeat, while, for | 循环控制 |
| function | 函数定义 |
| in | 循环迭代 |
| next, break | 循环控制 |
| TRUE, FALSE | 逻辑值 |
| NULL | 空值 |
| NA | 缺失值 |
| Inf, -Inf | 无穷大 |
| NaN | 非数字 |
3.3 查看保留字 #
r
?reserved
四、基本数据类型 #
R语言有六种基本数据类型(原子向量)。
4.1 逻辑型(Logical) #
r
TRUE
FALSE
T
F
x <- TRUE
class(x)
typeof(x)
4.2 整数型(Integer) #
r
x <- 100L
class(x)
typeof(x)
y <- as.integer(100)
4.3 双精度型(Double/Numeric) #
r
x <- 3.14
class(x)
typeof(x)
y <- 100
class(y)
4.4 复数型(Complex) #
r
x <- 3 + 2i
class(x)
typeof(x)
Re(x)
Im(x)
Mod(x)
Arg(x)
4.5 字符型(Character) #
r
x <- "Hello, R!"
class(x)
typeof(x)
nchar(x)
toupper(x)
tolower(x)
4.6 原始型(Raw) #
r
x <- raw(5)
class(x)
typeof(x)
y <- charToRaw("Hello")
y
rawToChar(y)
4.7 类型判断与转换 #
r
x <- 3.14
is.numeric(x)
is.integer(x)
is.character(x)
is.logical(x)
as.integer(x)
as.character(x)
as.logical(x)
五、特殊值 #
5.1 NA(缺失值) #
r
x <- NA
is.na(x)
y <- c(1, NA, 3)
is.na(y)
mean(y, na.rm = TRUE)
5.2 NULL(空值) #
r
x <- NULL
is.null(x)
length(NULL)
length(NA)
5.3 Inf和-Inf(无穷大) #
r
x <- 1 / 0
x
is.infinite(x)
y <- -1 / 0
y
z <- 0 / 0
z
is.nan(z)
5.4 NaN(非数字) #
r
x <- 0 / 0
x
is.nan(x)
is.na(NaN)
六、运算符 #
6.1 算术运算符 #
r
5 + 3
5 - 3
5 * 3
5 / 3
5 %/% 3
5 %% 3
5 ^ 3
6.2 比较运算符 #
r
5 > 3
5 < 3
5 >= 5
5 <= 3
5 == 5
5 != 3
6.3 逻辑运算符 #
r
TRUE & FALSE
TRUE | FALSE
!TRUE
TRUE && FALSE
TRUE || FALSE
6.4 赋值运算符 #
r
x <- 10
x = 10
10 -> x
x <<- 10
七、表达式与语句 #
7.1 表达式 #
表达式是可以计算值的代码片段:
r
1 + 2
x * y
mean(c(1, 2, 3))
7.2 语句 #
语句是执行操作的代码:
r
x <- 10
print(x)
if (x > 0) print("positive")
7.3 代码块 #
使用花括号组织代码块:
r
{
x <- 10
y <- 20
x + y
}
八、向量基础 #
向量是R语言中最基本的数据结构。
8.1 创建向量 #
r
x <- c(1, 2, 3, 4, 5)
y <- 1:5
z <- seq(1, 5, by = 1)
w <- rep(1, times = 5)
8.2 向量运算 #
r
x <- c(1, 2, 3)
y <- c(4, 5, 6)
x + y
x * y
x * 2
sum(x)
mean(x)
8.3 向量索引 #
r
x <- c(10, 20, 30, 40, 50)
x[1]
x[2:4]
x[c(1, 3, 5)]
x[-1]
x[x > 25]
九、常用内置函数 #
9.1 数学函数 #
r
abs(-5)
sqrt(16)
exp(1)
log(10)
log10(100)
round(3.14159, 2)
ceiling(3.14)
floor(3.14)
9.2 统计函数 #
r
x <- c(1, 2, 3, 4, 5)
sum(x)
mean(x)
median(x)
sd(x)
var(x)
min(x)
max(x)
range(x)
length(x)
9.3 字符串函数 #
r
s <- "Hello, World!"
nchar(s)
toupper(s)
tolower(s)
substr(s, 1, 5)
paste("Hello", "World")
paste0("Hello", "World")
9.4 类型检查函数 #
r
is.numeric(3.14)
is.integer(3L)
is.character("hello")
is.logical(TRUE)
is.vector(c(1, 2, 3))
is.list(list(1, 2, 3))
is.data.frame(data.frame(x = 1:5))
十、帮助系统 #
10.1 获取帮助 #
r
help(mean)
?mean
help.search("mean")
??mean
10.2 查看示例 #
r
example(mean)
demo(graphics)
10.3 查看参数 #
r
args(mean)
formals(mean)
10.4 查看源代码 #
r
mean
getAnywhere(mean.default)
十一、总结 #
本章学习了R语言的基础语法:
- 注释使用
#符号 - 标识符命名规则和约定
- R语言的保留关键字
- 六种基本数据类型
- 特殊值:NA、NULL、Inf、NaN
- 基本运算符
- 向量基础操作
- 常用内置函数
- 帮助系统使用
掌握了基础语法后,让我们继续深入学习R语言的数据类型!
最后更新:2026-03-27