我有一个大约 150 列的大数据表。我需要用其中大约 1/3 制作一系列直方图。我不想在我的脚本中放置 50 行相同的绘图命令,而是想循环一个列表,告诉我要使用哪些列。这是一个测试数据集来说明:
d <- data.frame(c(rep("A",5), rep("B",5)),
sample(c(1:10), 10, replace=TRUE),
sample(c(1:10), 10, replace=TRUE),
sample(c(1:10), 10, replace=TRUE),
sample(c(1:10), 10, replace=TRUE),
sample(c(1:10), 10, replace=TRUE))
colnames(d) <- c("col1","col2","col3","col4","col5","col6" )
ggplot(data=d, aes(col2, fill= col1)) + geom_density(alpha = 0.5)
所以,与其写这个 50 次并替换这些aes()
值,我真的想做更多这样的事情......
cols_to_plot <- c("col2","col4","col6")
for (i in length(cols_to_plot)) {
ggplot(data=d, aes(cols_to_plot[i], fill= col1)) + geom_density(alpha = 0.5)
}
但是当然,这不起作用......有没有办法做这种事情?
谢谢!