我怎样才能重塑ggplot的数据帧?

时间:2014-07-17 22:12:45

标签: r ggplot2

我想使用ggplot绘制这个数据帧。基本上,值1和值2之间的相关图,但是两个面(长> 75且长<75)。我不确定如何使用这种条件重塑数据。能否请你帮忙?我直接在ggplot中直接绘图,直到现在都没有重塑。

num fips    gauge   lat         long        value1    value2 
357 25021   1105600 42.19028    -70.94528   2.8034      3.94
358 25021   1105600 42.19028    -70.94528   12.9691     4.32
359 25021   1103500 42.25611    -70.26056   41.6258     7.99
357 25021   1105600 42.19028    -75.94528   7.8034      11.33
358 25021   1105600 42.19028    -75.94528   14.9691     14.64
359 25021   1103500 42.25611    -75.26056   43.6258     23.44

1 个答案:

答案 0 :(得分:2)

我认为你的问题有点误导,因为我认为没有必要在这里重塑数据。 您需要做的只是围绕“长”变量并按原样绘制(假设dat是您的数据)

dat$long <- floor(dat$long)
library(ggplot2)
ggplot(dat, aes(value1, value2)) + geom_point() + facet_wrap(~ long, scales = "free")

enter image description here

如果您的数据不具代表性,您可以创建一个虚拟变量,然后将其放入facet_wrap而不是long,例如

dat$long2 <- ifelse(dat$long < -75, "< -75", "> -75")
library(ggplot2)
ggplot(dat, aes(value1, value2)) + geom_point() + facet_wrap(~ long2, scales = "free")