在 R 中使用 ggplot 的直方图矩阵

Matrix of Histograms Using ggplot in R

我是 R 的新手,一直在尝试使用 'attitude' 数据集为每一列创建直方图。

我可以通过输入以下内容手动实现:

par(mfrow=c(1,7)) hist(attitude$rating) hist(attitude$complaints) hist(attitude$privileges) hist(attitude$learning) hist(attitude$raises) hist(attitude$critical) hist(attitude$advance)

但是,我想做的是使用单个函数绘制所有直方图,可能使用 ggplot。这是我在 Whosebug 上搜索后使用的命令:

ggplot(attitude, aes(x=variable)) + geom_histogram()

但自从收到这条消息后,我似乎做错了:

eval(expr, envir, enclos) 错误:未找到对象 'variable'

对于这方面的任何指点,我将不胜感激。谢谢。

您需要先将姿态数据转换为长数据格式 - 例如,通过使用 melt from reshape2:

attitudeM <- melt(attitude)

然后您可以按变量对 ggplot 进行分面,并自动为每个维度创建单独的直方图。

g <- ggplot(attitudeM,aes(x=value))
g <- g + geom_histogram()
g <- g + facet_wrap(~variable)
g