📜  R 编程中的转换函数

📅  最后修改于: 2022-05-13 01:55:52.243000             🧑  作者: Mango

R 编程中的转换函数

有时要使用 R 分析数据,我们需要将数据转换为另一种数据类型。众所周知,R 具有以下数据类型 Numeric、Integer、Logical、 字符等。类似地,R 具有用于转换数据类型的各种转换函数。

在 R 中,转换函数有两种类型:

  • 数据类型的转换函数
  • 数据结构的转换函数

数据类型的转换函数

有多种可用于数据类型的转换函数。这些都是:

  • as.numeric()

    R 中已知数值的十进制值。它是 R 中实数的默认数据类型。在 R 中as.numeric()将任何值转换为数值。
    句法:

    // Conversion into numeric data type
    as.numeric(x)
    

    例子:

    # A simple R program to convert 
    # character data type into numeric data type
    x<-c('1', '2', '3')
      
    # Print x
    print(x)
      
    # Print the type of x
    print(typeof(x))
      
    # Conversion into numeric data type
    y<-as.numeric(x)
      
    # print the type of y
    print(typeof(y))
    

    输出:

    [1] "1" "2" "3"
    [1] "character"
    [1] "double"
    
  • as.integer()
    在 R 中,整数数据类型是所有整数的集合。为了在 R 中创建一个整数变量并将任何数据类型转换为整数,我们使用as.integer()函数。
    句法:
    // Conversion of any data type into Integer data type
    as.integer(x)
    

    例子:

    # A simple R program to convert
    # numeric data type into integer data type
    x<-c(1.3, 5.6, 55.6)
      
    # Print x
    print(x)
      
    # Print type of x
    print(typeof(x))
      
    # Conversion into integer data type
    y<-as.integer(x)
      
    # Print y
    print(y)
      
    # Print type of y
    print(typeof(y))
    

    输出:

    [1]  1.3  5.6 55.6
    [1] "double"
    [1]  1  5 55
    [1] "integer"
    
  • 作为。字符()
    在 R 中,字符数据用于存储字符值和字符串。要在 R 中创建字符变量,我们调用as。 字符()函数,如果我们想将任何数据类型转换为我们使用的字符。字符()函数。
    句法:
    // Conversion of any data type into character data type
    as.character(x)
    

    例子:

    x<-c(1.3, 5.6, 55.6)
      
    # Print x
    print(x)
      
    # Print type of x
    print(typeof(x))
      
    # Conversion into character data type
    y<-as.character(x)
      
    # Print y
    print(y)
      
    # Print type of y
    print(typeof(y))
    

    输出:

    [1]  1.3  5.6 55.6
    [1] "double"
    [1] "1.3"  "5.6"  "55.6"
    [1] "character"
    
  • as.logical()
    创建逻辑值以比较返回 true 或 false 的变量。要比较变量并将任何值转换为 true 或 false,R 使用as.logical()函数。
    句法:
    // Conversion of any data type into logical data type
    as.logical(x)
    

    例子:

    x = 3
    y = 8
      
    # Conversion in to logical value
    result<-as.logical(x>y)
      
    # Print result
    print(result)
    

    输出:

    [1] FALSE
    
  • as.date()
    在 R as.date()函数用于将字符串转换为日期格式。

    句法:

    // Print string into date format
    as.date(variable, "%m/%d/%y")
    

    例子:

    dates <- c("02/27/92", "02/27/92", 
               "01/14/92", "02/28/92", 
               "02/01/92")
      
    # Conversion into date format
    result<-as.Date(dates, "%m/%d/%y")
      
    # Print result
    print(result)
    

    输出:

    [1] "1992-02-27" "1992-02-27" "1992-01-14" "1992-02-28" "1992-02-01"
    

数据结构的转换函数

有多种可用于数据结构的转换函数。这些都是:

  • as.data.frame()
    数据框用于存储数据表。这是等长向量的列表。在 R 中,有时为了分析数据,我们需要将向量列表转换为 data.frame。所以对于这个 R 使用as.data.frame()函数将向量列表转换为数据帧。
    句法:
    // Conversion of any data structure into data frame
    as.data.frame(x)
    

    例子:

    x<- list( c('a', 'b', 'c'),
    c('e', 'f', 'g'), c('h', 'i', 'j'))
      
    # Print x
    print(x)
      
    # Conversion in to data frame
    y<-as.data.frame(x)
      
    # Print y
    print(y)
    

    输出:

    [[1]]
    [1] "a" "b" "c"
    
    [[2]]
    [1] "e" "f" "g"
    
    [[3]]
    [1] "h" "i" "j"
    
      c..a....b....c.. c..e....f....g.. c..h....i....j..
    1                a                e                h
    2                b                f                i
    3                c                g                j
    
  • as.vector()
    R 有一个函数as.vector()用于将分布式矩阵转换为非分布式向量。 Vector 生成给定长度和模式的向量。
    句法:
    // Conversion of any data structure into vector
    as.vector(x)
    

    例子:

    x<-c(a=1, b=2)
      
    # Print x
    print(x)
      
    # Conversion into vector
    y<-as.vector(x)
      
    # Print y
    print(y)
    

    输出:

    a b 
    1 2 
    [1] 1 2
    
  • as.matrix()
    在 R 中,有一个函数as.matrix()用于将 data.table 转换为矩阵,可选择使用 data.table 中的列之一作为矩阵行名称。
    句法:
    // Conversion into matrix
    as.matrix(x)
    

    例子:

    # Importing library
    library(data.table)
    x <- data.table(A = letters[1:5], X = 1:5, Y = 6:10)
      
    # Print x
    print(x)
      
    # Conversion into matrix
    z<-as.matrix(x)
      
    # Print z
    print(z)
    

    输出:

    A X  Y
    1: a 1  6
    2: b 2  7
    3: c 3  8
    4: d 4  9
    5: e 5 10
         A   X   Y   
    [1,] "a" "1" " 6"
    [2,] "b" "2" " 7"
    [3,] "c" "3" " 8"
    [4,] "d" "4" " 9"
    [5,] "e" "5" "10"