我使用ggplot来使用多个图,所以我构建了自己的函数。
plothist <- function(a) {
ggplot(aes(x = a), data = data) + geom_histogram()
}
p1 <- plothist(data$fixed.acidity)
p2 <- plothist(data$volatile.acidity)
p3 <- plothist(data$citric.acid)
p4 <- plothist(data$residual.sugar)
p5 <- plothist(data$chlorides)
p6 <- plothist(data$free.sulfur.dioxide)
p7 <- plothist(data$total.sulfur.dioxide)
p8 <- plothist(data$density)
p9 <- plothist(data$pH)
p10 <- plothist(data$sulphates)
p11 <- plothist(data$alcohol)
x <- grid.arrange(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11,
top = "Histogram of independent variables")
x
x轴没有变量的名称,我只能看到&#34; a&#34;在每个情节,这使得情节相当无用。你能帮我看看如何在那里显示实际的变量吗?
答案 0 :(得分:2)
使用aes_string
进行此类编程:
library(ggplot2)
plothist <- function(data, column) {
ggplot(data, aes_string(x = column)) + geom_histogram()
}
plothist(data, "fixed.acidity")
答案 1 :(得分:1)
您的功能只需要进行少量修改:
plotHist <- function(inputData, columnToPlot) {
# Load library as your function doesn't know
# what is this ggplot function you want to use
library(ggplot2)
resultPlot <- ggplot(inputData, aes(get(columnToPlot))) +
geom_histogram() +
labs(x = columnToPlot)
return(resultPlot)
}
plotHist(mtcars, "cyl")
columnToPlot
是您要绘制的列的名称。此外,您需要传递inputData
参数,因为您的给定函数不知道dinputData
是什么。