stat_density2d: 删除包含非有限值的行
stat_density2d: removed rows containing non-finite values
你好~我看到有人讨论过这个,但是好像回答的不多。所以我在城市地图上画了一个density/heatmap。
df = data.frame(lon=rnorm(1000, mean=-87.62, sd=0.01),
lat=rnorm(1000, mean=41.88, sd=0.01))
map = get_googlemap('chicago', zoom=14, color='bw')
ggmap(map, extent='device') +
stat_density2d(
aes(x=lon, y=lat, fill=..level.., alpha =..level..),
size = 2, bins = 4,
data = df,
geom = "polygon"
) +
scale_fill_gradient(low='green', high='red') +
scale_alpha(guide=FALSE)
绘图没问题但显示:
Warning message:
Removed 96 rows containing non-finite values (stat_density2d).
使用真实的城市犯罪数据,它实际上报告删除了大部分行。所以这让我担心,也许情节没有反映真实的分布。
这是什么意思?我应该担心情节没有反映数据吗?谢谢!
我认为这意味着您的某些数据超出了地图范围。
在 运行 你上面的代码之后,这个数字与我在地图警告中排除的行数相匹配。
bb <- attr(map, "bb")
sum(df$lat < bb$ll.lat |
df$lat > bb$ur.lat |
df$lon < bb$ll.lon |
df$lon > bb$ur.lon)
这也可能是因为您的绘图中使用的变量有一些缺失值。使用 is.na(dataframe$variable) 检查会有所帮助。
你好~我看到有人讨论过这个,但是好像回答的不多。所以我在城市地图上画了一个density/heatmap。
df = data.frame(lon=rnorm(1000, mean=-87.62, sd=0.01),
lat=rnorm(1000, mean=41.88, sd=0.01))
map = get_googlemap('chicago', zoom=14, color='bw')
ggmap(map, extent='device') +
stat_density2d(
aes(x=lon, y=lat, fill=..level.., alpha =..level..),
size = 2, bins = 4,
data = df,
geom = "polygon"
) +
scale_fill_gradient(low='green', high='red') +
scale_alpha(guide=FALSE)
绘图没问题但显示:
Warning message:
Removed 96 rows containing non-finite values (stat_density2d).
使用真实的城市犯罪数据,它实际上报告删除了大部分行。所以这让我担心,也许情节没有反映真实的分布。
这是什么意思?我应该担心情节没有反映数据吗?谢谢!
我认为这意味着您的某些数据超出了地图范围。
在 运行 你上面的代码之后,这个数字与我在地图警告中排除的行数相匹配。
bb <- attr(map, "bb")
sum(df$lat < bb$ll.lat |
df$lat > bb$ur.lat |
df$lon < bb$ll.lon |
df$lon > bb$ur.lon)
这也可能是因为您的绘图中使用的变量有一些缺失值。使用 is.na(dataframe$variable) 检查会有所帮助。