我想使用以下的數據點,以產生等值線圖:生成通過基於值中的R ggmap空間熱圖
- 經度
- 緯度
- 價格
這裏是數據集 - https://www.dropbox.com/s/0s05cl34bko7ggm/sample_data.csv?dl=0。
我希望地圖能夠顯示價格較高和價格較低的區域。它應該最有可能是這樣的(樣本圖像):
這裏是我的代碼:
library(ggmap)
map <- get_map(location = "austin", zoom = 9)
data <- read.csv(file.choose(), stringsAsFactors = FALSE)
data$average_rate_per_night <- as.numeric(gsub("[\\$,]", "",
data$average_rate_per_night))
ggmap(map, extent = "device") +
stat_contour(data = data, geom="polygon",
aes(x = longitude, y = latitude, z = average_rate_per_night,
fill = ..level..)) +
scale_fill_continuous(name = "Price", low = "yellow", high = "red")
我收到以下錯誤信息:
2: Computation failed in `stat_contour()`:
Contour requires single `z` at each combination of `x` and `y`.
我對於如何解決這個問題,或者其他方法來生成這種類型的熱圖,我真的很感激。請注意,我對價格的重量感興趣,而不是記錄的密度。
你確定你在找choropleth嗎?據我所知,大多數人羣使用行政區域,而不是經度/經度。 –
我同意。我認爲正確的術語應該是等高線圖。 – user709413
我可以通過平均每晚的費率(一些x和y組合有多個平均費率,我想是因爲四捨五入關閉)而擺脫了每個組合的單個z錯誤消息。但輪廓仍然沒有畫出。我不知道爲什麼,也沒有說。等值線圖對柵格起作用,所以您可以通過將數據框更改爲柵格並替換缺失值來使其工作。我現在放棄... –