R 如何从ggplot2的热图中排除异常值?
嗨, 我试图在地图上画出每平方米的平均转换率。这很有效。有问题的是,只有很少记录的正方形经常达到接近0或1的极值。这使得情节很难理解。有没有办法排除未达到特定记录计数的方块?或设置颜色范围,例如0.3-0.7?R 如何从ggplot2的热图中排除异常值?,r,ggplot2,visualization,heatmap,ggmap,R,Ggplot2,Visualization,Heatmap,Ggmap,嗨, 我试图在地图上画出每平方米的平均转换率。这很有效。有问题的是,只有很少记录的正方形经常达到接近0或1的极值。这使得情节很难理解。有没有办法排除未达到特定记录计数的方块?或设置颜色范围,例如0.3-0.7? 代码: library(ggplot2) library(ggmap) manila_map <- get_map("Manila,Philippines", zoom=11) map <- ggmap(manila_map) map + stat_summary_2d(
代码:
library(ggplot2)
library(ggmap)
manila_map <- get_map("Manila,Philippines", zoom=11)
map <- ggmap(manila_map)
map + stat_summary_2d(
geom = "tile",
data = data,
fun = "mean",
binwidth = 0.02,
aes(x = lon, y = lat, z = requested),
alpha = 0.4
) +
scale_fill_gradient2(low = "red", mid = "yellow", high = "#007f00", midpoint=0.5)
库(ggplot2)
图书馆(ggmap)
马尼拉映射首先,将数据集中的异常值更改为NA
data$requested <- ifelse(data$requested <= 0.7 & data$requested >= 0.3,
data$requested, NA)
您有SO用户的示例数据吗?如果是这样的话,你能上传吗?很好的解决方法@Jan Boyer。问题是,如果数据已经有NAs,那么异常值将与缺失值混淆
scale_fill_gradient2(low = "red", mid = "yellow", high = "#007f00", midpoint=0.5,
na.value = "grey50")