R 数据类型

变量可以存储不同类型的值,例如数字、字符等。这些我们可以在代码中使用的数据类型称为数据类型。例如,

x <- 123L

这里,123L 是整数数据。所以变量x的数据类型是integer

我们可以通过打印x的类来验证这一点。

x <- 123L
# print value of x print(x) # print type of x print(class(x))

输出

[1] 123
[1] "integer"

这里,xinteger数据类型的变量。


不同类型的数据类型

在 R 中,有 6 种基本数据类型

  • 逻辑型
  • 数值型
  • 整型
  • 复数型
  • 字符型
  • 原始型

让我们逐一讨论这些 R 数据类型。


1. 逻辑数据类型

R 中的logical数据类型也称为布尔数据类型。它只能有两个值:TRUEFALSE。例如,

bool1 <- TRUE
print(bool1) print(class(bool1))
bool2 <- FALSE
print(bool2) print(class(bool2))

输出

[1] TRUE
[1] "logical"
[1] FALSE
[1] "logical"

在上面的例子中:

  • bool1的值为TRUE
  • bool2的值为FALSE

在这里,当我们检查这两个变量的类型时,我们得到"logical"

注意:您也可以用单个字母定义逻辑变量 - T代表TRUEF代表FALSE。例如,

is_weekend <- F
print(class(is_weekend))  # "logical"

2. 数值数据类型

在 R 中,numeric数据类型表示所有带或不带小数的实数。例如,

# floating point values
weight <- 63.5
print(weight) print(class(weight)) # real numbers
height <- 182
print(height) print(class(height))

输出

[1] 63.5
[1] "numeric"
[1] 182
[1] "numeric"

这里,weightheight都是numeric类型的变量。


3. 整型数据类型

integer数据类型指定没有小数点的实数值。我们使用后缀L来指定整数数据。例如,

integer_variable <- 186L
print(class(integer_variable))

输出

[1] "integer"

这里,186L是整数数据。所以当我们打印integer_variable的类时,我们得到"integer"


4. 复数数据类型

complex数据类型用于在 R 中指定纯虚数值。我们使用后缀i来指定虚部。例如,

# 2i represents imaginary part
complex_value <- 3 + 2i
# print class of complex_value print(class(complex_value))

输出

[1] "complex"

这里,3 + 2icomplex数据类型,因为它有一个虚部2i


5. 字符数据类型

character数据类型用于在变量中指定字符或字符串值。

在编程中,字符串是一组字符。例如,'A'是单个字符,"Apple"是字符串。

您可以使用单引号''或双引号""来表示字符串。通常,我们使用

  • ''用于字符变量
  • ""用于字符串变量

例如,

# create a string variable
fruit <- "Apple"
print(class(fruit)) # create a character variable
my_char <- 'A'
print(class(my_char))

输出

[1] "character"
[1] "character"

这里,变量fruitmy_char都是character数据类型。


6. 原始数据类型

raw数据类型将值指定为原始字节。您可以使用以下方法将字符数据类型转换为原始数据类型,反之亦然

  • charToRaw() - 将字符数据转换为原始数据
  • rawToChar() - 将原始数据转换为字符数据

例如,

# convert character to raw
raw_variable <- charToRaw("Welcome to Programiz")
print(raw_variable) print(class(raw_variable)) # convert raw to character
char_variable <- rawToChar(raw_variable)
print(char_variable) print(class(char_variable))

输出

[1] 57 65 6c 63 6f 6d 65 20 74 6f 20 50 72 6f 67 72 61 6d 69 7a
[1] "raw"
[1] "Welcome to Programiz"
[1] "character"

在这个程序中,

  • 我们首先使用charToRaw()函数将字符串"Welcome to Programiz"转换为原始字节。

    这就是为什么当我们打印raw_variable的类时,我们得到"raw"作为输出。
  • 然后,我们使用rawToChar()函数将raw_variable中的数据转换回字符形式。

    这就是为什么当我们打印char_variable的类时,我们得到"character"作为输出。
你觉得这篇文章有帮助吗?

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

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

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