在计算机编程中,变量是存储数据的命名内存位置。例如,
x = 13.8
在这里,x 是变量,其中存储了数据 13.8。现在,无论何时我们在程序中使用 x,我们都会得到 13.8。
x = 13.8
# print variable
print(x)
输出
[1] 13.8
如您所见,当我们打印 x 时,我们得到 13.8 作为输出。
R 变量声明规则
根据我们的要求,我们可以为变量使用任何名称。但是,在创建变量时需要遵循某些规则
- R 中的变量名可以使用字母、数字、句点和下划线创建。
- 变量名可以以字母或句点开头,但不能以数字开头。
- 如果变量名以点开头,则不能在其后跟数字。
- R 是区分大小写的。这意味着 age 和 Age 被视为不同的变量。
- 我们有一些保留字不能用作变量名。
注意:在早期版本的 R 编程中,句点 .
用于连接多词变量中的单词,例如 first.name、my.age 等。但是,现在我们主要使用 _
用于多词变量,例如 first_name、my_age 等。
R 变量的类型
根据您要存储的数据类型,变量可以分为以下类型。
1. 布尔变量
它存储单个位数据,即 TRUE
或 FALSE
。在这里,TRUE
表示是,FALSE
表示否。例如,
a = TRUE
print(a)
print(class(a))
输出
[1] TRUE [1] "logical"
在这里,我们声明了布尔变量 a,其值为 TRUE
。布尔变量属于逻辑类,因此 class(a)
返回 "logical"
。
2. 整型变量
它存储不带任何小数位值的数值数据。例如,
A = 14L
print(A)
print(class(A))
输出
[1] 14 [1] "integer"
在这里,L
表示整数值。在 R 中,整型变量属于整型类,因此 class(a)
返回 "integer"
。
3. 浮点变量
它存储带小数位值的数值数据。例如,
x = 13.4
print(x)
print(class(x))
输出
[1] 13.4 [1] "numeric"
在这里,我们创建了一个名为 x 的浮点变量。您可以看到浮点变量属于 numeric
类。
4. 字符变量
它存储单个字符数据。例如,
alphabet = "a"
print(alphabet)
print(class(alphabet))
输出
[1] "a" [1] "character"
在这里,我们创建了一个名为 alphabet 的字符变量。由于字符变量属于字符类,因此 class(alphabet)
返回 "character"
。
5. 字符串变量
它存储由多个字符组成的数据。我们使用双引号表示字符串数据。例如,
message = "Welcome to Programiz!"
print(message)
print(class(message))
输出
[1] "Welcome to Programiz!" [1] "character"
在这里,我们创建了一个名为 message 的字符串变量。您可以看到字符串变量也属于 character
类。
更改变量的值
根据传递到程序的条件或信息,您可以更改变量的值。例如,
message = "Hello World!"
print(message)
# changing value of a variable
message <- "Welcome to Programiz!"
print(message)
输出
[1] "Hello World!" [1] "Welcome to Programiz!"
在这个程序中,
"Hello World!"
- message 的初始值"Welcome to Programiz!"
- message 的更改值
您可以看到变量的值可以随时更改。
R 常量
常量是那些在整个代码中其值不应更改的实体。在 R 中,我们可以使用 <-
符号声明常量。例如,
x <- "Welcome to Programiz!"
print(x)
输出
[1] "Welcome to Programiz!"
在这里,"Welcome to Programiz!"
是一个字符串常量。
注意:常量也称为标量。
R 常量的类型
在 R 中,我们有以下类型的常量。
- R 常量的五种类型 -
numeric
、integer
、complex
、logical
、string
。 - 除了这些,还有 4 种特殊类型的 R 常量 -
Null
、NA
、Inf
、NaN
。
让我们一一讨论这些类型。
1. 整型常量
整型常量是我们代码中使用的整数值。这些常量以字母 L
结尾。例如,
x <- 15L
print(typeof(x))
print(class(x))
输出
[1] "integer" [1] "integer"
在这里,15L
是一个已分配给 x 的常量。您可以看到常量的类型和类是 integer
。
我们可以在代码中使用不同类型的整型常量。例如,
# hexadecimal value
x <- 0x15L
print(x)
# exponential value
x <- 1e5L
print(x)
输出
[1] 21 [1] 100000
2. 数值常量
在 R 编程中,数值常量可以是整数 (4
)、浮点数 (0.55
) 或指数数 (3e-3
)。例如,
z <- 3e-3
print(z) # 0.003
print(class(z)) # "numeric"
y <- 3.4
print(y) # 3.4
print(class(z)) # "numeric"
输出
[1] 0.003 [1] "numeric" [1] 3.4 [1] "numeric"
3. 逻辑常量
R 中的逻辑常量是 TRUE
或 FALSE
。例如,
x <- TRUE
y <- FALSE
print(x)
print(y)
输出
[1] TRUE [1] FALSE
注意:我们还可以使用单个字符创建逻辑常量。例如,
x <- T
print(x) # TRUE
4. 字符串常量
字符串常量是我们代码中使用的字符串数据。例如,
message <- "Welcome to Programiz!!"
print(message)
输出
[1] "Welcome to Programiz!!"
5. 复数常量
复数常量是包含实部和虚部(由后缀 i
表示)的数据。例如,
y <- 3.2e-1i
print(y)
print(typeof(y))
输出
[1] 0+0.32i [1] "complex"
注意:复数常量只能是纯虚数。例如,
y <- 3i
print(y) # 0+3i
print(typeof(y)) # "complex"
特殊 R 常量
R 编程还提供了 4 种特殊类型的常量。
NULL
- 声明一个空的 R 对象。例如,
x <- NULL print(x) # NULL print(typeof(x)) # "NULL"
Inf/-Inf
- 表示正负无穷大。例如,
# result is too big so it represents positive infinity
a <- 2^2020print(a) # Inf # result is too big # represents negative infinityb <- -2^2020print(b) # -InfNaN
(非数字) - 表示未定义的数值。例如,
print(0/0) # NaN print(Inf/Inf) # NaN
NA
- 表示不可用的值。例如,
print(NA + 20) # NA
内置 R 常量
R 编程提供了一些预定义常量,可以直接在我们的程序中使用。例如,
# print list of uppercase letters
print(LETTERS)
# print list of lowercase letters
print(letters)
# print 3 letters abbreviation of English months
print(month.abb)
# print numerical value of constant pi
print(pi)
输出
[1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" [20] "T" "U" "V" "W" "X" "Y" "Z" [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" [20] "t" "u" "v" "w" "x" "y" "z" [1] "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec" [1] 3.141593
在上面的示例中,我们使用了以下内置常量
LETTERS
- 显示所有大写字母的列表letters
- 显示所有小写字母的列表month.abb
- 打印所有英文月份的 3 个字母缩写pi
- 打印常数 pi 的数值