Ошибка: дискретное значение передается в ggmap непрерывного масштаба - PullRequest
0 голосов
/ 11 мая 2018

Я читаю данные о землетрясениях с сайта.Я попытался построить график с помощью getmap, но получил сообщение об ошибке, которое не могу решить.

# Loading necessary packages:
library(rvest)
library(ggmap)
library(ggplot2)
library(dplyr)

##reading data set
widths <- c(11,10,10,10,14,5,5,5,48,100)
dat <- "http://www.koeri.boun.edu.tr/scripts/lst5.asp" %>%
  read_html %>%
  html_nodes("pre") %>%
  html_text %>%
  textConnection %>%
  read.fwf(widths = widths, stringsAsFactors = FALSE) %>%
  setNames(nm = .[6,]) %>%
  tail(-7) %>%
  head(-2)

##converting to numeric vector
dat$"Boylam(E)" <- as.numeric(as.character(dat$"Boylam(E)"))
dat$"Enlem(N)" <- as.numeric(as.character(dat$"Enlem(N)"))

#I removed duplicates.
dat<- dat[, -c(3,4)]

##adding range to ML
dat$range = case_when(dat$ML>0 & dat$ML<=1 ~ 1, #0<ML<=1
                  dat$ML>1 & dat$ML<=2 ~ 2,#1<ML<=2
                  dat$ML>2 & dat$ML<=3 ~ 3,#2<ML<=3
                  dat$ML>3 & dat$ML<=4 ~ 4,#3<ML<=4
                  dat$ML>4 & dat$ML<=5 ~ 5,#4<ML<=5
                  dat$ML>5 & dat$ML<=6 ~ 6,#5<ML<=6
                  dat$ML>6 & dat$ML<=7 ~ 7)#6<ML<=7


##first ploting Country
map <- get_map("Turkey", zoom = 5, maptype = "roadmap")
ggmap(map) + 
  geom_point(data = dat,
             aes(x = "Boylam(E)", y = "Enlem(N)"),
                 size = range, alpha = .5)

Мое сообщение об ошибке:

Ошибка: дискретное значение передано непрерывномумасштаб

1 Ответ

0 голосов
/ 12 мая 2018

Заменить x = "variable.name" на x = `variable.name`.Пакет ggplot2 (как и другие пакеты в tidyverse) использует нестандартную оценку (NSE), поэтому обычно принимает имена переменных в своих функциях без ".Для имен переменных, таких как Boylam(E), которые можно интерпретировать как функции, вместо них заключите их в обратные ноты `.

ggmap(map) + 
  geom_point(data = dat,
             aes(x = `Boylam(E)`, y = `Enlem(N)`, size = range), 
             alpha = .5)

Кроме того, я предполагаю, что вы предполагали, что size = range будет внутри aes()?

plot

...