美文网首页R语言学习笔记
《R语言实战》学习笔记---Chapter5(9) 高级数据管理

《R语言实战》学习笔记---Chapter5(9) 高级数据管理

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

    转置

    转置,也就是行变列,列变行。R中自带基础函数t(),可以对矩阵或者数据框进行结构重构。使用R中自带的数据集(数据框)mtcars进行演示:

    > small <- mtcars[1:5, 1:6]
    > print(small)
                       mpg cyl disp  hp drat    wt
    Mazda RX4         21.0   6  160 110 3.90 2.620
    Mazda RX4 Wag     21.0   6  160 110 3.90 2.875
    Datsun 710        22.8   4  108  93 3.85 2.320
    Hornet 4 Drive    21.4   6  258 110 3.08 3.215
    Hornet Sportabout 18.7   8  360 175 3.15 3.440
    > t(small)
         Mazda RX4 Mazda RX4 Wag Datsun 710 Hornet 4 Drive Hornet Sportabout
    mpg      21.00        21.000      22.80         21.400             18.70
    cyl       6.00         6.000       4.00          6.000              8.00
    disp    160.00       160.000     108.00        258.000            360.00
    hp      110.00       110.000      93.00        110.000            175.00
    drat      3.90         3.900       3.85          3.080              3.15
    wt        2.62         2.875       2.32          3.215              3.44
    

    之前在帮老师做PCA分析时,会用到t()函数进行表达矩阵的转置。

    aggregate 函数整合数据

    aggregate 函数我用的不多,书中说,

    在R中使用一个或多个by变量和一个预先定义好的函数来折叠(collapse) 数据

    使用格式如下:

    aggregate(x, by, FUN)
    

    x 是待折叠的数据集
    by 是变量名列表,注意by 中的变量必须在一个列表中(即使只有一个变量)
    fun 是一个描述性统计函数的函数名

    试用书中的例子,根据气缸数和档位数对数据mtcars进行整合,

    > aggregate(mtcars, by = list(mtcars$cyl, mtcars$gear), mean)
      Group.1 Group.2    mpg cyl     disp       hp     drat       wt    qsec  vs   am gear     carb
    1       4       3 21.500   4 120.1000  97.0000 3.700000 2.465000 20.0100 1.0 0.00    3 1.000000
    2       6       3 19.750   6 241.5000 107.5000 2.920000 3.337500 19.8300 1.0 0.00    3 1.000000
    3       8       3 15.050   8 357.6167 194.1667 3.120833 4.104083 17.1425 0.0 0.00    3 3.083333
    4       4       4 26.925   4 102.6250  76.0000 4.110000 2.378125 19.6125 1.0 0.75    4 1.500000
    5       6       4 19.750   6 163.8000 116.5000 3.910000 3.093750 17.6700 0.5 0.50    4 4.000000
    6       4       5 28.200   4 107.7000 102.0000 4.100000 1.826500 16.8000 0.5 1.00    5 2.000000
    7       6       5 19.700   6 145.0000 175.0000 3.620000 2.770000 15.5000 0.0 1.00    5 6.000000
    8       8       5 15.400   8 326.0000 299.5000 3.880000 3.370000 14.5500 0.0 1.00    5 6.000000
    

    也即,每个气缸值分别和每个挡位值对应对数据进行分组,然后每组数据中的每个变量被计算了平均值。
    fun可以是R自带函数,也可以是自编函数。

    相关文章

      网友评论

        本文标题:《R语言实战》学习笔记---Chapter5(9) 高级数据管理

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