Мне нужно вывести свою базу данных на карту мира. Я использую карту:
#importation of the map of the world
theme_set(theme_bw())
world <- ne_countries(scale = "medium", type="countries", returnclass = c("sf"))
class(world)
#convert sf to sp (as the prof)
worldmap<-as(world,"Spatial")
class(worldmap)
Моя база данных содержит 78 стран, но, поскольку мне нужно сопоставить столбец «код» моей базы данных с кодом карты, мне пришлось включить все страны и писать NA, где у меня не было данных.
# A tibble: 241 x 12
code country sales2010 gdp gdppc population Export Import tradecost skills
<chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 ABW Aruba NA NA NA NA NA NA NA NA
2 AFG Afghan… NA NA NA NA NA NA NA NA
3 AGO Angola NA NA NA NA NA NA NA NA
4 AIA Anguil… NA NA NA NA NA NA NA NA
5 ALB Albania NA NA NA NA NA NA NA NA
6 ALD Aland NA NA NA NA NA NA NA NA
7 AND Andorra NA NA NA NA NA NA NA NA
8 ARE United… NA NA NA NA NA NA NA NA
9 ARG Argent… 44287 4.24e11 10386. 40788453 8.11e10 6.88e10 2.83 9.48
10 ARM Armenia 4 9.26e 9 3218. 2877319 2.21e 9 4.54e 9 1.37 10.9
# … with 231 more rows, and 2 more variables: investmentcost <dbl>, distance <dbl>
Когда я пытаюсь запустить код, который сопоставляет данные с картой, появляется следующая ошибка:
> worldmap@data <- data.frame(database,worldmap@data
+ [match(database[, "code"],worldmap@data[, "gu_a3"]),])
Warning message:
In data.frame(database, worldmap@data[match(database[, "code"], :
row.names ricavati da una variabile con pochi elementi e quindi non utlizzabili
Что означает : "row.names получены из переменной с несколькими элементами и, следовательно, не могут быть использованы"
> lJenks2013 <- classIntervals(var = worldmap@data$sales2010,
+ n = 5,
+ style = "jenks")
Warning message:
In classIntervals(var = worldmap@data$sales2010, n = 5, style = "jenks") :
var has missing values, omitted in finding classes
Я также попытался заменить все NA на 0, просто чтобы посмотреть, была ли это проблема NA, и она возвращает мне то же самое предупреждение! Как я могу решить это? Более того, он все равно возвращает карты со значениями зависимой переменной!
введите описание изображения здесь