R: Наименование карты с элементами из столбца и имя ее файла с элементами из другого столбца в кадре данных с помощью forloop - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть данные с географической привязкой в ​​фрейме данных с именем dados, и я делаю из него карты с помощью forloop:

Есть еще один фрейм данных с именем nomes, в котором есть имена переменных, которые я хочуграфик в столбце nomes и переменные метки

# A tibble: 18 x 3
index nomes                  label                                       
<dbl> <chr>                  <chr>                                       
1     1 v_a_s_emp_3112         Variação anual média: Total de empregados e~
2     2 v_a_s_emp_medio        Variação anual média: Soma do emprego medio~
3     3 v_a_emprego_total      Variação anual média: Emprego total (BNDES) 
4     4 v_a_h                  Variação anual média: Total de contratações 
5     5 v_a_s                  Variação anual média: Total de desligamentos
6     6 v_a_prop_emprego_3     Variação anual média: Proporção de estab. c~
7     7 v_a_estab              Variação anual média: Número de estabelecim~
8     8 v_a_emprego_medio      Variação anual média: Média de empregados n~
9     9 v_a_emprego_medio_ent~ Variação anual média: Média do emprego dos ~
10    10 v_a_nascimento_data    Variação anual média: Número de estab. entr~
11    11 v_a_nascimento_rais    Variação anual média: Número de estab. entr~
12    12 v_a_morte_rais         Variação anual média: Número de estab. ause~
13    13 v_a_tx_sobrev          Variação anual média: Taxa de sobrevivência~
14    14 v_a_n_solicitacao      Variação anual média: Número de estabelecim~
15    15 v_a_prop_idade_3       Variação anual média: Proporção de estab. c~
16    16 v_a_n_uso              Variação anual média: Número de estabelecim~
17    17 v_a_valorfinanc        Variação anual média: Valor financiado em R~
18    18 v_a_valor_invest       Variação anual média: Bens de investimento ~

Код, который генерирует и сохраняет карты, - вот этот, и он работает.

for (n in nomes$nomes) {

png(filename = paste("mapa_", n,".png", sep = ""), width = 1200,
height = 700, res = 200)

print(spplot(dados, c(n),
       col.regions = cores,
       at = intervalos,
       colorkey = list(at = c(-15, 0,20,40,60,80,100)),
       par.settings = my.settings,
       main = n) #title

)

dev.off()

}

Проблема в том, что у карт есть имена, которые трудно понять и представить.

enter image description here

Я хочу, чтобы заголовок карты был элементом в nomes$label в той же строке элемента в nomes$nomes при построении.

Я попытался изменить параметр main и установить его равным nomes$label[n], но я получаю это сообщение об ошибке:

Error in if (with(lab, is.null(label) || (is.character(label) && (label ==  : 
missing value where TRUE/FALSE needed

К сожалению, я не могу предоставить данные для воспроизведениякарты полностью, потому что это административный.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 28 сентября 2018

Может быть, это сработает: измените вызов for следующим образом:

for (n in seq_along(nomes$nomes)) 

и замените каждый экземпляр n на nomes$nomes[n].Тогда вы можете заменить main=n на

main = nomes$label[n]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...