美文网首页R语言
初识R语言—排序和选取子集

初识R语言—排序和选取子集

作者: 超级无敌大蜗牛 | 来源:发表于2020-04-02 16:49 被阅读0次

    排序

    • order()
      R自带
    attach(data)
    > data[order(mpg),]##升序
                       mpg cyl disp
    Valiant           18.1   6  225
    Hornet Sportabout 18.7   8  360
    Mazda RX4         21.0   6  160
    Mazda RX4 Wag     21.0   6  160
    Hornet 4 Drive    21.4   6  258
    Datsun 710        22.8   4  108
    
    > data[order(-mpg),]##降序
                       mpg cyl disp
    Datsun 710        22.8   4  108
    Hornet 4 Drive    21.4   6  258
    Mazda RX4         21.0   6  160
    Mazda RX4 Wag     21.0   6  160
    Hornet Sportabout 18.7   8  360
    Valiant           18.1   6  225
    
    > data[order(mpg,cyl),]##mpg为主要排序依据,cyl为次要参考
                       mpg cyl disp
    Valiant           18.1   6  225
    Hornet Sportabout 18.7   8  360
    Mazda RX4         21.0   6  160
    Mazda RX4 Wag     21.0   6  160
    Hornet 4 Drive    21.4   6  258
    Datsun 710        22.8   4  108
    
    • dplyr包中的arrange()
    > arrange(data,mpg)##默认升序
       mpg cyl disp
    1 18.1   6  225
    2 18.7   8  360
    3 21.0   6  160
    4 21.0   6  160
    5 21.4   6  258
    6 22.8   4  108
    
    > arrange(data,mpg,disp)##两个关键词排序
       mpg cyl disp
    1 18.1   6  225
    2 18.7   8  360
    3 21.0   6  160
    4 21.0   6  160
    5 21.4   6  258
    6 22.8   4  108
    
    > arrange(data,-mpg,disp)##降序
       mpg cyl disp
    1 22.8   4  108
    2 21.4   6  258
    3 21.0   6  160
    4 21.0   6  160
    5 18.7   8  360
    6 18.1   6  225
    

    取子集

    • subset
    > subset(data,mpg>=20 & vs == 0)##筛选出mpg大于等于20,并且vs等于0的数据集
                  mpg cyl disp  hp drat    wt  qsec vs am gear carb
    Mazda RX4      21   6  160 110  3.9 2.620 16.46  0  1    4    4
    Mazda RX4 Wag  21   6  160 110  3.9 2.875 17.02  0  1    4    4
    
    > subset(data,mpg>=20 & vs == 0,mpg)##只返回mpg这一列
                  mpg
    Mazda RX4      21
    Mazda RX4 Wag  21
    > subset(data,mpg>=20 & vs == 0,1)##只返回第一列,既mpg这一列
                  mpg
    Mazda RX4      21
    Mazda RX4 Wag  21
    > subset(data,mpg>=20 & vs == 0,1:3)##只返回1-3列
                  mpg cyl disp
    Mazda RX4      21   6  160
    Mazda RX4 Wag  21   6  160
    
    • dplyr包中的filter函数
    library(dplyr)
    > filter(data,mpg>=20,vs==0)##且
      mpg cyl disp  hp drat    wt  qsec vs am gear carb
    1  21   6  160 110  3.9 2.620 16.46  0  1    4    4
    2  21   6  160 110  3.9 2.875 17.02  0  1    4    4
    
    > filter(data,mpg>=20|vs==0)##或
       mpg cyl disp  hp drat    wt  qsec vs am gear carb
    1 21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
    2 21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
    3 22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
    4 21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
    5 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
    

    总结,用order

    相关文章

      网友评论

        本文标题:初识R语言—排序和选取子集

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