R 语言 数据类型

  • 数据类型

    通常,以任何一种编程语言进行编程时,您都需要使用各种变量来存储各种信息。变量不过是用于存储值的保留内存位置。这意味着,当您创建变量时,会在内存中保留一些空间。您可能希望存储各种数据类型的信息,例如字符,宽字符,整数,浮点数,双浮点数,布尔值等。操作系统根据变量的数据类型分配内存,并确定可以存储在内存中的内容。保留的内存。与R中的C和Java等其他编程语言相比,变量没有声明为某种数据类型。变量被分配了R对象,并且R对象的数据类型成为变量的数据类型。R对象的类型很多。经常使用的是-
    • Vectors (矢量)
    • Lists (清单)
    • Matrices (矩阵)
    • Arrays (数组)
    • Factors (因素)
    • Data Frames (数据框)
    这些对象中最简单的是Vector对象,这些原子矢量有六种数据类型,也称为六类矢量。其他R对象建立在原子向量上。
    类型
    Logical TRUE, FALSE
    Numeric 12.3, 5, 999
    Integer 2L, 34L, 0L
    Complex 3 + 2i
    Character 'a' , '"good", "TRUE", '23.4'
    Raw "Hello" is stored as 48 65 6c 6c 6f
    在R编程中,最基本的数据类型是称为向量的R对象,这些对象包含如上所述的不同类的元素。请注意,R中的类数不仅限于上述六种类型。例如,我们可以使用许多原子向量并创建一个其类将成为数组的数组。
     
    v <- TRUE 
    print(class(v))
    print("==================")
    v <- 23.5
    print(class(v))
    print("==================")
    v <- 2L
    print(class(v))
    print("==================")
    v <- 2+5i
    print(class(v))
    print("==================")
    v <- "TRUE"
    print(class(v))
    print("==================")
    v <- charToRaw("Hello")
    print(class(v))
    print("==================")
    
    尝试一下
  • Vectors

    当您要创建包含多个元素的矢量时,应使用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"
    
  • Lists

    List是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

    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" 
    
  • Arrays

    虽然矩阵(Matrices)被限制为二维,但是数组可以具有任意数量的维。数组函数具有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" 
    
  • Factors

    Factors是使用向量创建的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 Frames

    数据框(Data Frames)是表格数据对象。与数据帧中的矩阵不同,每一列可以包含不同的数据模式。第一列可以是数字,而第二列可以是字符,第三列可以是逻辑。它是等长向量的列表。数据框是使用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