Convert summary to data.frame

前端 未结 2 1316
醉话见心
醉话见心 2020-12-05 07:29

I have this admission_table containing ADMIT, GRE, GPA and RANK.

> head(admission_table)
         


        
相关标签:
2条回答
  • 2020-12-05 07:55

    Another way to output a dataframe is:

    as.data.frame(apply(mydf, 2, summary))
    

    Works if only numerical columns are selected.

    And it may throw an Error in dimnames(x) if there are columns with NA's. It's worth checking for that without the as.data.frame() function first.

    0 讨论(0)
  • 2020-12-05 07:58

    You can consider unclass, I suppose:

    data.frame(unclass(summary(mydf)), check.names = FALSE, stringsAsFactors = FALSE)
    #              ADMIT             GRE             GPA            RANK
    # 1 Min.   :0.0000   Min.   :380.0   Min.   :2.930   Min.   :1.000  
    # 2 1st Qu.:0.2500   1st Qu.:550.0   1st Qu.:3.047   1st Qu.:2.250  
    # 3 Median :1.0000   Median :650.0   Median :3.400   Median :3.000  
    # 4 Mean   :0.6667   Mean   :626.7   Mean   :3.400   Mean   :2.833  
    # 5 3rd Qu.:1.0000   3rd Qu.:735.0   3rd Qu.:3.655   3rd Qu.:3.750  
    # 6 Max.   :1.0000   Max.   :800.0   Max.   :4.000   Max.   :4.000  
    str(.Last.value)
    # 'data.frame': 6 obs. of  4 variables:
    #  $     ADMIT: chr  "Min.   :0.0000  " "1st Qu.:0.2500  " "Median :1.0000  " "Mean   :0.6667  " ...
    #  $      GRE : chr  "Min.   :380.0  " "1st Qu.:550.0  " "Median :650.0  " "Mean   :626.7  " ...
    #  $      GPA : chr  "Min.   :2.930  " "1st Qu.:3.047  " "Median :3.400  " "Mean   :3.400  " ...
    #  $      RANK: chr  "Min.   :1.000  " "1st Qu.:2.250  " "Median :3.000  " "Mean   :2.833  " ...
    

    Note that there is a lot of excessive whitespace there, in both the names and the values.

    However, it might be sufficient to do something like:

    do.call(cbind, lapply(mydf, summary))
    #          ADMIT   GRE   GPA  RANK
    # Min.    0.0000 380.0 2.930 1.000
    # 1st Qu. 0.2500 550.0 3.048 2.250
    # Median  1.0000 650.0 3.400 3.000
    # Mean    0.6667 626.7 3.400 2.833
    # 3rd Qu. 1.0000 735.0 3.655 3.750
    # Max.    1.0000 800.0 4.000 4.000
    
    0 讨论(0)
提交回复
热议问题