Creating a summary statistical table from a data frame

前端 未结 5 998
醉酒成梦
醉酒成梦 2020-11-27 15:47

I have the following data frame (df) of 29 observations of 5 variables:

    age   height_seca1 height_chad1 height_DL weight_alog1
1   19         1800                


        
5条回答
  •  孤街浪徒
    2020-11-27 15:51

    Or using what you have already done, you just need to put those summaries into a list and use do.call

    df <- structure(list(age = c(19L, 19L, 21L, 21L, 21L, 18L, 19L, 19L, 21L, 17L, 28L, 22L, 19L, 19L, 18L, 18L, 19L, 19L, 18L, 21L, 19L, 31L, 26L, 19L, 18L, 19L, 26L, 20L, 18L), height_seca1 = c(1800L, 1682L, 1765L, 1829L, 1706L, 1607L, 1578L, 1577L, 1666L, 1710L, 1616L, 1648L, 1569L, 1779L, 1773L, 1816L, 1766L, 1745L, 1716L, 1785L, 1850L, 1875L, 1877L, 1836L, 1825L, 1755L, 1658L, 1816L, 1755L), height_chad1 = c(1797L, 1670L, 1765L, 1833L, 1705L, 1606L, 1576L, 1575L, 1665L, 1716L, 1619L, 1644L, 1570L, 1777L, 1772L, 1809L, 1765L, 1741L, 1714L, 1783L, 1854L, 1880L, 1877L, 1837L, 1823L, 1754L, 1658L, 1818L, 1755L), height_DL = c(180L, 167L, 178L, 181L, 170L, 160L, 156L, 156L, 166L, 172L, 161L, 165L, 155L, 177L, 179L, 181L, 178L, 174L, 170L, 179L, 185L, 188L, 186L, 185L, 182L, 174L, 165L, 183L, 175L), weight_alog1 = c(70L, 69L, 80L, 74L, 103L, 76L, 50L, 61L, 52L, 65L, 66L, 58L, 55L, 55L, 70L, 81L, 77L, 76L, 71L, 64L, 71L, 95L, 106L, 100L, 85L, 79L, 69L, 84L, 67L)), class = "data.frame", row.names = c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29"))
    
    tmp <- do.call(data.frame, 
               list(mean = apply(df, 2, mean),
                    sd = apply(df, 2, sd),
                    median = apply(df, 2, median),
                    min = apply(df, 2, min),
                    max = apply(df, 2, max),
                    n = apply(df, 2, length)))
    tmp
    
                       mean        sd median  min  max  n
    age            20.41379  3.300619     19   17   31 29
    height_seca1 1737.24138 91.919474   1755 1569 1877 29
    height_chad1 1736.48276 92.682492   1755 1570 1880 29
    height_DL     173.37931  9.685828    175  155  188 29
    weight_alog1   73.41379 14.541854     71   50  106 29
    

    or...

    data.frame(t(tmp))
    
                 age height_seca1 height_chad1  height_DL weight_alog1
    mean   20.413793   1737.24138   1736.48276 173.379310     73.41379
    sd      3.300619     91.91947     92.68249   9.685828     14.54185
    median 19.000000   1755.00000   1755.00000 175.000000     71.00000
    min    17.000000   1569.00000   1570.00000 155.000000     50.00000
    max    31.000000   1877.00000   1880.00000 188.000000    106.00000
    n      29.000000     29.00000     29.00000  29.000000     29.00000
    

提交回复
热议问题