переменная shapefile plot: ошибка неверного уровня серого, должна быть в [0,1]. р - PullRequest
0 голосов
/ 11 ноября 2018

У меня есть шейп-файл, который я прошел через модель пространственной регрессии в R.

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

Вот мой код:

     plot(shapefile,col=gray(shapefile@data$residuals))

Я получаю эту ошибку:

  invalid gray level, must be in [0,1].

Правильно ли я считаю, что это связано со значениями остатков? Они охватывают от -40 до +20. Есть ли способ изменить эту шкалу с 0-1 на большую? или проще, пожалуйста, заговор?

Я также пробовал spplot:

     spplot(shape@data$residuals)

и получите ошибку:

 Error in (function (classes, fdef, mtable)  : 
  unable to find an inherited method for function ‘spplot’ for signature 
  ‘"numeric"’

1 Ответ

0 голосов
/ 11 ноября 2018

col = grey() создает HEX-коды для серой шкалы на основе значений, размещенных внутри. Да, эти цифры должны быть между 0: 1. Если вы пытаетесь получить отдельный серый HEX-код для каждого уникального остатка, вы можете сделать это с помощью функций length и unique. Ниже приведен пример, где у нас разные серые шкалы, для каждой группы наш фрейм данных:

Group <- c(1,1,1,1,2,2,2,2,3,3,3,3)
Year <- c(2006,2007,2008,2009,2006,2007,2008,2009,2006,2007,2008,2009)
Qtr.1 <- as.numeric(c(15,13,22,13,12,16,13,23,11,15,17,14))
DF <- data.frame(Group,Year,Qtr.1)

#to get HEX for each unique input
c <- grey(1:length(unique(DF$Group))/length(unique(DF$Group)))

c
> [1] "#555555" "#AAAAAA" "#FFFFFF"

 #Without Grey
plot(DF$Year,DF$Qtr.1)

#With Grey
plot(DF$Year,DF$Qtr.1, col = c[Group])

Обратите внимание, что я не сделал выбор в отношении созданных серых HEX-кодов, а HEX-код группы 3 настолько слабый, что его трудно обнаружить. Кроме того, нам нужно было индексировать Group в конце аргумента col. Как уже упоминали другие, вероятно, есть лучшие способы сделать это, чем серая шкала и функция базового графика. Взгляд на другие пакеты, вероятно, является лучшим вариантом для настраиваемой визуализации (например, ggplot или того, что заметили другие).

Проверьте это хорошее резюме для получения дополнительной информации о col

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...