R - 数据类型

通常,在使用任何编程语言进行编程时,您需要使用各种变量来存储各种信息.变量只是用于存储值的保留内存位置.这意味着,当您创建变量时,您在内存中保留了一些空间.

您可能希望存储各种数据类型的信息,如字符,宽字符,整数,浮点,双浮点point,Boolean等.根据变量的数据类型,操作系统分配内存并决定可以存储在保留内存中的内容.

与C等其他编程语言相比在R中的java中,变量未声明为某些数据类型.变量分配有R-Objects,R对象的数据类型成为变量的数据类型.有许多类型的R对象.经常使用的是 :

  • Vectors

  • 列表

  • Matrices

  • 数组

  • 因素

  • 数据框

这些对象中最简单的是向量对象,这些原子向量有六种数据类型,也称为六类向量.其他R-Objects建立在原子向量之上.

数据类型示例验证
LogicalTRUE,FALSE

v <- TRUE 
print(class(v))

它产生以下结果 :

[1] "logical"
Numeric12.3,5,999
v <- 23.5
print(class(v))

它产生以下结果 :  ;

[1]"numeric"
Integer2L,34L,0L
v <- 2L
print(class(v))

它产生以下结果 :

[1] "integer"
Complex3 +  2i
 v<  -  2 + 5i 
 print( class(v))

它产生以下结果 :

[1] "complex"
Character'a','"good","TRUE",'23 .4
v <- "TRUE"
print(class(v))

它产生以下结果 :

[1] "character"
Raw"Hello"存储为48 65 6c 6c 6f
v <- charToRaw("Hello")
print(class(v))

它产生以下结果 :

[1] "raw"

在R编程中,最基本的数据类型是称为向量的R对象,它们包含不同类的元素,如上所示.请注意在R中,课程数量不仅限于上述六种类型.例如,我们可以使用许多原子向量并创建一个数组,其类将成为数组.

向量

当你想创建更多的向量时你应该使用 c()函数来表示将元素组合成一个向量.

# Create a vector.
apple <- c('red','green',"yellow")
print(apple)

# Get the class of the vector.
print(class(apple))

当我们执行上面的代码时,它产生以下结果 :

[1] "red"    "green"  "yellow"
[1] "character"

列表

列表是一个R对象,它可以在其中包含许多不同类型的元素,如向量,函数甚至其中的另一个列表.

# Create a list.
list1 <- list(c(2,5,3),21.3,sin)

# Print the list.
print(list1)

当我们执行上面的代码时,它产生以下结果 :

[[1]]
[1] 2 5 3

[[2]]
[1] 21.3

[[3]]
function (x)  .Primitive("sin")

Matrices

矩阵是二维矩形数据集.它可以使用矩阵函数的向量输入来创建.

# Create a matrix.
M = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE)
print(M)

当我们执行上面的代码时,它产生以下结果 :

     [,1] [,2] [,3]
[1,] "a"  "a"  "b" 
[2,] "c"  "b"  "a"

数组

虽然矩阵仅限于两个维度,但数组可以是任意数量的维度.数组函数采用dim属性创建所需的维数.在下面的例子中,我们创建了一个包含两个元素的数组,每个元素都是3x3矩阵.

# Create an array.
a <- array(c('green','yellow'),dim = c(3,3,2))
print(a)

当我们执行上面的代码时,它产生以下结果 :

, , 1

     [,1]     [,2]     [,3]    
[1,] "green"  "yellow" "green" 
[2,] "yellow" "green"  "yellow"
[3,] "green"  "yellow" "green" 

, , 2

     [,1]     [,2]     [,3]    
[1,] "yellow" "green"  "yellow"
[2,] "green"  "yellow" "green" 
[3,] "yellow" "green"  "yellow"

因子

因子是使用向量创建的r对象.它将向量与向量中元素的不同值一起存储为标签.无论输入向量中的标签是数字还是字符或布尔等,标签始终是字符.它们在统计建模中很有用.

使用 factor()函数创建因子. nlevels 函数给出了级别的计数.

# Create a vector.
apple_colors <- c('green','green','yellow','red','red','red','green')

# Create a factor object.
factor_apple <- factor(apple_colors)

# Print the factor.
print(factor_apple)
print(nlevels(factor_apple))

当我们执行上面的代码时,它产生以下结果 :  ;

[1] green  green  yellow red    red    red    green 
Levels: green red yellow
[1] 3

数据框

数据框是表格数据对象.与数据帧中的矩阵不同,每列可以包含不同的数据模式.第一列可以是数字,而第二列可以是字符,第三列可以是逻辑列.它是一个相等长度的向量列表.

数据框是使用 data.frame()函数创建的.

# Create the data frame.
BMI <- 	data.frame(
   gender = c("Male", "Male","Female"), 
   height = c(152, 171.5, 165), 
   weight = c(81,93, 78),
   Age = c(42,38,26)
)
print(BMI)

当我们执行上面的代码时,它产生以下结果 :

  gender height weight Age
1   Male  152.0     81  42
2   Male  171.5     93  38
3 Female  165.0     78  26