美文网首页R语言学习笔记
《R语言实战》学习笔记---Chapter4(5) 基础数据管理

《R语言实战》学习笔记---Chapter4(5) 基础数据管理

作者: RSP小白之路 | 来源:发表于2023-08-12 08:48 被阅读0次

    类型转换

    R中提供了一系列用来判断某个对象的数据类型和将其转换为另一种数据类型的函数。

    • 类型转换函数
    判断 转换
    is.numeric() as.numeric()
    is.character() as.character()
    is.vector() as.vector()
    is.matrix() as.matrix()
    is.data.frame() as.data.frame()
    is.factor() as.factor()
    is.logical() as.logical()

    is.datatype() 这样的函数返回TRUEFALSE ,而as.datatype() 这样的函数则将其参数转换为对应的类型
    is.datatype()这样的函数将是强大的工具,和控制流结合使用时,允许根据具体数据类型以不同方式处理数据。
    as.datatype() 函数可以让你在分析之前先行将数据转换为要求的格式

    数据排序order函数

    在R中, 可以使用order() 函数对一个数据框进行排序。默认的排序顺序是升序。 在排序变量的前边加一个减号即可得到降序的排序结果。

    依然以管理者服从度信息数据为例进行数据集排序的说明。

    manager <- c(1, 2, 3, 4, 5)
    date <- c("10/24/08", "10/28/08", "10/1/08", "10/12/08", "5/1/09")
    country <- c("US", "US", "UK", "UK", "UK")
    gender <- c("M", "F", "F", "M", "F")
    age <- c(32, 45, 25, 39, 99)
    q1 <- c(5, 3, 3, 3, 2)
    q2 <- c(4, 5, 5, 3, 2)
    q3 <- c(5, 2, 5, 4, 1)
    q4 <- c(5, 5, 5, NA, 2)
    q5 <- c(5, 5, 2, NA, 1)
    leadership <- data.frame(manager, date, country, gender, age,
    q1, q2, q3, q4, q5, stringsAsFactors=FALSE)
    > print(leadership )
      manager     date country gender age q1 q2 q3 q4 q5
    1       1 10/24/08      US      M  32  5  4  5  5  5
    2       2 10/28/08      US      F  45  3  5  2  5  5
    3       3  10/1/08      UK      F  25  3  5  5  5  2
    4       4 10/12/08      UK      M  39  3  3  4 NA NA
    5       5   5/1/09      UK      F  99  2  2  1  2  1
    
    • 1. 根据年龄升序排序
    newdata1 <- leadership[ order(leadership$age),]
    > print(newdata1 )
      manager     date country gender age q1 q2 q3 q4 q5
    3       3  10/1/08      UK      F  25  3  5  5  5  2
    1       1 10/24/08      US      M  32  5  4  5  5  5
    4       4 10/12/08      UK      M  39  3  3  4 NA NA
    2       2 10/28/08      US      F  45  3  5  2  5  5
    5       5   5/1/09      UK      F  99  2  2  1  2  1
    
    • 2. 根据女性到男性、同性别按年龄升序排序
    attach(leadership)
    newdata2 <- leadership[order(gender, age),]
    detach(leadership)
    > print(newdata2)
      manager     date country gender age q1 q2 q3 q4 q5
    3       3  10/1/08      UK      F  25  3  5  5  5  2
    2       2 10/28/08      US      F  45  3  5  2  5  5
    5       5   5/1/09      UK      F  99  2  2  1  2  1
    1       1 10/24/08      US      M  32  5  4  5  5  5
    4       4 10/12/08      UK      M  39  3  3  4 NA NA
    
    • 3. 根据女性到男性、同性别按年龄降序排序
    attach(leadership)
    newdata2 <- leadership[order(gender, -age),]
    detach(leadership)
    > print(newdata2)
      manager     date country gender age q1 q2 q3 q4 q5
    5       5   5/1/09      UK      F  99  2  2  1  2  1
    2       2 10/28/08      US      F  45  3  5  2  5  5
    3       3  10/1/08      UK      F  25  3  5  5  5  2
    4       4 10/12/08      UK      M  39  3  3  4 NA NA
    1       1 10/24/08      US      M  32  5  4  5  5  5
    

    相关文章

      网友评论

        本文标题:《R语言实战》学习笔记---Chapter4(5) 基础数据管理

        本文链接:https://www.haomeiwen.com/subject/iukwpdtx.html