如何在r

时间:2018-08-02 15:25:40

标签: r ggplot2 plot graph graphics

我的数据是“波士顿住房数据集”,我想生成一个像这样的图形:enter image description here

该图的代码在Python中进行(不幸的是,我不仅仅知道python r)。代码的链接:kaggle.com/prasadperera/the-boston-housing-dataset。 但是我需要用y ='crim'代替其余的y ='medv​​',以便找到与犯罪有有趣关系的预测变量。  我尝试在r中执行此操作,我的代码是:enter image description here

非常感谢您的帮助,谢谢!

1 个答案:

答案 0 :(得分:2)

在ggplot中执行类似操作的一种方法是使用构面。这就是可能的样子

library(ggplot2)
library(dplyr)
library(tidyr)
data(Boston, package="MASS")

Boston %>% 
  select(crim, lstat, indus, nox, ptratio, rm, tax, dis, age) %>% 
  gather(obs, val, -crim) %>% 
  ggplot(aes(val, crim, color=obs, fill=obs)) + 
  geom_smooth(method="lm", se=TRUE) +
  geom_point() +
  facet_wrap(~obs, scales="free_x") +
  scale_color_discrete(guide=FALSE) + 
  scale_fill_discrete(guide=FALSE)

基本键是重塑数据,以便您可以绘制一个图并对其进行分面,而不是绘制许多图并进行排列。

enter image description here