R 变量和常量

在计算机编程中,变量是存储数据的命名内存位置。例如,

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 是区分大小写的。这意味着 ageAge 被视为不同的变量。
  • 我们有一些保留字不能用作变量名。

注意:在早期版本的 R 编程中,句点 . 用于连接多词变量中的单词,例如 first.namemy.age 等。但是,现在我们主要使用 _ 用于多词变量,例如 first_namemy_age 等。


R 变量的类型

根据您要存储的数据类型,变量可以分为以下类型。

1. 布尔变量

它存储单个位数据,即 TRUEFALSE。在这里,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 常量的五种类型 - numericintegercomplexlogicalstring
  • 除了这些,还有 4 种特殊类型的 R 常量 - NullNAInfNaN

让我们一一讨论这些类型。


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 中的逻辑常量是 TRUEFALSE。例如,

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^2020
    print(a) # Inf # result is too big # represents negative infinity
    b <- -2^2020
    print(b) # -Inf
  • NaN (非数字) - 表示未定义的数值。例如,

    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 的数值
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战