我有一个数据帧mydata_2,我正在为除第一列之外的数据帧中的每一列获取直方图。 我想知道如何生成一个代码,该代码可以获得除第一列之外的每列中的数据的直方图,并将输出保存为工作目录中的.jpeg文件。
我的出发点如下:
hist(mydata_2$age, main="Student age", xlab="age")
我知道其他人已经回答了类似的问题,但我无法完全理解它们。谢谢你的时间。
答案 0 :(得分:1)
library(ggplot2)
str(diamonds)
'data.frame': 53940 obs. of 10 variables:
$ carat : num 0.23 0.21 0.23 0.29 0.31 0.24 0.24 0.26 0.22 0.23 ...
$ cut : Ord.factor w/ 5 levels "Fair"<"Good"<..: 5 4 2 4 2 3 3 3 1 3 ...
$ color : Ord.factor w/ 7 levels "D"<"E"<"F"<"G"<..: 2 2 2 6 7 7 6 5 2 5 ...
$ clarity: Ord.factor w/ 8 levels "I1"<"SI2"<"SI1"<..: 2 3 5 4 2 6 7 3 4 5 ...
$ depth : num 61.5 59.8 56.9 62.4 63.3 62.8 62.3 61.9 65.1 59.4 ...
$ table : num 55 61 65 58 58 57 57 55 61 61 ...
$ price : int 326 326 327 334 335 336 336 337 337 338 ...
$ x : num 3.95 3.89 4.05 4.2 4.34 3.94 3.95 4.07 3.87 4 ...
$ y : num 3.98 3.84 4.07 4.23 4.35 3.96 3.98 4.11 3.78 4.05 ...
$ z : num 2.43 2.31 2.31 2.63 2.75 2.48 2.47 2.53 2.49 2.39 ...
因子变量被删除,因为它们在直方图中没有意义
library(reshape)
d <- melt(diamonds[,-c(2:4)])
ggplot(d,aes(x = value)) +
facet_wrap(~variable,scales = "free_x") +
geom_histogram()
ggsave("plot.jpeg")
图形存储在默认目录中 - 查询getwd()
以了解路径。
melt
允许我们使用生成的grouping variables
(称为variable
)将数据拆分成组,并为每个数据绘制直方图。使用scales = "free_x"
因为每个变量具有明显不同的范围和规模。