变量可以存储不同类型的值,例如数字、字符等。这些我们可以在代码中使用的数据类型称为数据类型。例如,
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"
这里,x是integer
数据类型的变量。
不同类型的数据类型
在 R 中,有 6 种基本数据类型
逻辑型
数值型
整型
复数型
字符型
原始型
让我们逐一讨论这些 R 数据类型。
1. 逻辑数据类型
R 中的logical
数据类型也称为布尔数据类型。它只能有两个值:TRUE
和FALSE
。例如,
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
代表TRUE
,F
代表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"
这里,weight和height都是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 + 2i
是complex
数据类型,因为它有一个虚部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"
这里,变量fruit和my_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"
作为输出。