【问题标题】:How to boxplot the summary of and data frame in R如何对R中的摘要和数据框进行箱线图绘制
【发布时间】:2021-12-04 04:45:50
【问题描述】:

我有一个包含 80 个不同特征的数据框。 使用summary(data) 我可以看到每列的最小最大值和平均值。我知道想要做的是用绘图将这些可视化。

我希望能够查看每列的最小最大范围以及平均值。目标是能够直观地看到异常值和数据范围。我尝试使用箱线图来绘制,但找不到正确的绘制方法。

任何帮助表示赞赏。我已经在执行以下操作的数据框中获得了摘要:

summary <- as.data.frame(apply(data[,2:(ncol(data)-1)],2,summary))

数据预览:

    f1  f2  f3  f4
1   1   0   0   0
2   0   0   0   0
3   0   0   0   0
4   1   0   0   1
5   0   0   0   0
6   2   1   0   0
7   2   0   0   0
8   0   0   0   0
9   0   0   0   0
10  0   0   0   0

structure(list(feat_1 = c(1L, 0L, 0L, 1L, 0L, 2L, 2L, 0L, 0L, 
0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), feat_2 = c(0L, 0L, 
0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L), feat_3 = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 
2L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), feat_4 = c(0L, 0L, 0L, 1L, 
0L, 0L, 0L, 0L, 0L, 0L, 2L, 1L, 0L, 1L, 0L, 2L, 0L, 0L, 0L, 0L
)), row.names = c(NA, 20L), class = "data.frame")

【问题讨论】:

  • 请使用dput()分享您的一些数据。
  • 嘿马丁,刚刚添加了数据结构

标签: r dataframe plot


【解决方案1】:

这是我尝试使用reshapeggplot

  df <-structure(list(feat_1 = c(1L, 0L, 0L, 1L, 0L, 2L, 2L, 0L, 0L, 
0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), feat_2 = c(0L, 0L, 
0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L), feat_3 = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 
2L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), feat_4 = c(0L, 0L, 0L, 1L, 
0L, 0L, 0L, 0L, 0L, 0L, 2L, 1L, 0L, 1L, 0L, 2L, 0L, 0L, 0L, 0L
)), row.names = c(NA, 20L), class = "data.frame")

加载包

library(reshape2)
library(ggplot2)

融化数据框

df.melted <- melt(df)

使用 ggplot,这里alpha 是透明度,并获得平均使用stat_summaryfun=mean

ggplot(df.melted,aes(factor(variable),value,fill=variable))+
geom_boxplot(alpha=0.6)+
stat_summary(fun=mean, geom="point",shape=21,size=3)

输出:

查看?ggplot了解更多详情

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多