我正在学习R,我正在尝试创建一个复合直方图,其中包含三组的直方图,由数据框中“cluster”列的值定义。
数据如下所示:
-t
我使用的代码如下:
TOTAL_Estimated_Collateral_value_sum cluster
1 -0.17499342 1
2 -0.86443362 1
3 0.22211949 2
4 0.01007717 1
5 -0.77617685 2
6 -1.43518056 1
7 -0.19705983 1
8 -0.39170108 1
9 -0.94073376 1
10 1.20525601 2
TOTAL_Estimated_Collateral_value_sum cluster
Min. :-1.7697 Min. :1.000
1st Qu.:-0.7626 1st Qu.:1.000
Median :-0.1322 Median :1.000
Mean : 0.0000 Mean :1.329
3rd Qu.: 0.8459 3rd Qu.:2.000
Max. : 1.8782 Max. :3.000
> table(df_all$cluster)
1 2 3
24342 8565 1350
我得到的图像如下:
正如您所看到的,观察结果并没有像我期望的那样以群集的价值着色。
您能否向我解释为什么会出现这种情况以及我应该如何修复我的代码并获得预期的输出?
答案 0 :(得分:4)
您需要将cluster
映射到fill
,而不是color
,而cluster
必须是一个因素,如果它还没有。所以试试:
ggplot(df_all, aes(x=TOTAL_Estimated_Collateral_value_sum, fill=cluster)) +
geom_histogram(alpha = 0.7, position="dodge")
或者,如果cluster
不是因素:
ggplot(df_all, aes(x=TOTAL_Estimated_Collateral_value_sum, fill=as.factor(cluster))) +
geom_histogram(alpha = 0.7, position="dodge")