[英]R: Naming a map with elements from a column and naming its file with elements from another column in a dataframe with a forloop
我已經在稱為dados
的數據幀中對數據進行了地理參考,並且正在使用forloop從中創建地圖:
還有一個稱為nomes
的數據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()
}
問題在於地圖的名稱很難理解和呈現。
我希望地圖的標題是nomes$nomes
被繪制元素的同一行中nomes$label
中的元素。
我嘗試更改main
參數並將其設置為等於nomes$label[n]
,但收到以下錯誤消息:
Error in if (with(lab, is.null(label) || (is.character(label) && (label == :
missing value where TRUE/FALSE needed
遺憾的是,由於它是管理性的,因此我無法為您提供完整再現地圖的數據。 任何幫助表示贊賞。
也許可以這樣做:如下更改for
調用:
for (n in seq_along(nomes$nomes))
並將n
每個實例替換為nomes$nomes[n]
。 然后您可以將main=n
替換為
main = nomes$label[n]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.