我做了一个简单的函数来自动绘制数据框中的所有变量。以下是代码,
V1 <- rnorm(50)
V2 <- rnorm(50)
all.data <- data.frame(V1, V2)
My_function <- function(x)
for(i in x) {
hist(i)
}
My_function(all.data)
问题是每个直方图的标题总是“直方图的i”。如果用这个函数制作50个直方图,这可能会让人感到困惑。 我需要知道如何解决这个问题,以便每个直方图都有来自数据框的列标题。换句话说,第一直方图应具有标题“V1的直方图”,第二直方图应具有标题“V2的直方图”。
答案 0 :(得分:5)
如下所示:
V1 <- rnorm(50)
V2 <- rnorm(50)
all.data <- data.frame(V1, V2)
My_function <- function(x)
for(i in 1:ncol(x)) {
hist(x[,i], main = paste("Histogram of",colnames(x)[i]))
}
My_function(all.data)
请注意,i
现在代表列号,而不是列本身的值。