美文网首页Cook RR. python新手日记R语言从零开始
R语言第二章数据处理④数据框排序和重命名

R语言第二章数据处理④数据框排序和重命名

作者: 柳叶刀与小鼠标 | 来源:发表于2018-12-08 01:41 被阅读275次

    目录

    R语言第二章数据处理①选择列
    R语言第二章数据处理②选择行
    R语言第二章数据处理③删除重复数据
    R语言第二章数据处理④数据框排序和重命名

    ================================================

    这一篇主要介绍如何通过一个或多个列(即变量)的值对数据中的行进行重新排序。
    您将学习如何轻松地:

    • 使用R函数arrange()[dplyr包]按升序(从低到高)进行排序
    • 使用arrange()结合函数desc()[dplyr package]以降序(从高到低)对行进行排序
    library(tidyverse)
    my_data <- as_tibble(iris)
    my_data
    ## # A tibble: 150 x 5
    ##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
    ##          <dbl>       <dbl>        <dbl>       <dbl> <fct>  
    ## 1          5.1         3.5          1.4         0.2 setosa 
    ## 2          4.9         3            1.4         0.2 setosa 
    ## 3          4.7         3.2          1.3         0.2 setosa 
    ## 4          4.6         3.1          1.5         0.2 setosa 
    ## 5          5           3.6          1.4         0.2 setosa 
    ## 6          5.4         3.9          1.7         0.4 setosa 
    ## # ... with 144 more rows
    

    对行进行排序

    dplyr函数arrange()可用于通过一个或多个变量对行重新排序(或排序)。

    • 按Sepal.Length按升序重新排序行
    #根据Sepal.Length值排序(升序)
    my_data %>% arrange(Sepal.Length)
    #根据Sepal.Length值排序(降序)
    my_data %>% arrange(desc(Sepal.Length))
    #根据Sepal.Length值排序(降序)
    arrange(my_data, -Sepal.Length)
    #根据Sepal.Length/Sepal.Width值排序(升序)
    my_data %>% arrange(Sepal.Length, Sepal.Width)
    
    • 使用dplyr :: rename()重命名列

    将列Sepal.Length重命名为sepal_length,将Sepal.Width重命名为sepal_width:

    my_data %>% 
      rename(
        sepal_length = Sepal.Length,
        sepal_width = Sepal.Width
        )
    
    • 使用Rbase函数重命名列

    要将列Sepal.Length重命名为sepal_length,过程如下:

    • 使用函数名称()或colnames()获取列名称
    # Rename column where names is "Sepal.Length"
    names(my_data)[names(my_data) == "Sepal.Length"] <- "sepal_length"
    names(my_data)[names(my_data) == "Sepal.Width"] <- "sepal_width"
    my_data
    
    • 根据列位置重命名
    names(my_data)[1] <- "sepal_length"
    names(my_data)[2] <- "sepal_width"
    
    

    相关文章

      网友评论

      • 木䬕:as_tibble是干嘛的,有啥用?iris本身不是date.frame的吗?
        柳叶刀与小鼠标:@木䬕 tibble是R语言中一个用来替换data.frame类型的扩展的数据框,tibble继承了data.frame,是弱类型的,同时与data.frame有相同的语法,使用起来更方便。

      本文标题:R语言第二章数据处理④数据框排序和重命名

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