我试图遍历虹膜数据集的每一列,并在ggplot中绘制直方图。因此,我期望出现5种不同的直方图。但是,下面的我的for循环什么也不返回。我该如何解决?
library(ggplot2)
for (i in colnames(iris)){
ggplot(iris, aes(x = i))+
geom_histogram()
}
答案 0 :(得分:2)
for
/ tidyverse
不是使用ggplot
循环,而是将数据从宽到长整形,然后使用facet_wrap
library(tidyverse)
iris %>%
gather(key, val, -Species) %>%
ggplot(aes(val)) +
geom_histogram(bins = 30) +
facet_wrap(~key, scales = "free_x")
答案 1 :(得分:1)