У меня есть фрейм данных, состоящий из названий видов, долготы и координат широты. Есть 115 различных видов с 25000 лат / длинные координаты. Мне нужно сделать отдельные карты, которые показывают наблюдения для каждого конкретного вида.
Во-первых, я создал функцию, которая будет генерировать тот тип карты, который я хочу, называемый platmaps. когда я вызываю функцию для моего полного набора данных (platmaps(df1)
), она создает карту, отображающую все латинские наблюдения.
Затем я построил цикл for, который должен был подставить мою df по названию вида, и вставитьэто подмножество данных в моей функции platmaps. Он работает пару минут, а потом ничего не происходит.
поэтому я затем разделил фрейм данных по названию вида, создал список фреймов данных (out1) и использовал lapply(out1, platmaps)
, но он только возвратил список имен моих dfs.
Тогда я попробовал вариант примера, который я видел здесь, но он также не работал.
функция
platmaps<-function(df1){
wm <- wm <- borders("world", colour="gray50", fill="gray50")
ggplot()+
coord_fixed()+
wm +
geom_point(data =df1 , aes(x = decimalLongitude, y = decimalLatitude),
colour = "pink", size = 0.5)
подмножество
for(i in 1:nrow(PP)){
query<-paste(PP$species[i])
p<-subset(df1, df1$species== query))
platmaps(p)
}
список
for (i in 1:length(out1)){
pp<-out1[[i]]
platmaps(pp)
}
прикладной пример
p =
wm <- wm <- borders("world", colour="gray50", fill="gray50")
ggplot()+
coord_fixed()+
wm +
geom_point(data =df1 , aes(x = decimalLongitude, y = decimalLatitude),
colour = "pink", size = 0.5)
plots = df1 %>%
group_by(species) %>%
do(plots = p %+% . + facet_wrap(~species))
ошибка дляприменяемый пример:
Ошибка: невозможно добавить объекты ggproto вместе. Вы забыли добавить этот объект в объект ggplot?
Поскольку я новичок в R (и в кодировании), я предполагаю, что синтаксис получен неправильно, или неправильно применяю свою функциюв любой из моих циклов, или я в корне неправильно понимаю, как работает цикл.
образец фрейма данных
species decimalLongitude decimalLatitude
Platanthera lacera -71.90000 42.80000
Platanthera lacera -90.54861 40.12083
Platanthera lacera -71.00889 42.15500
Platanthera lacera -93.20833 45.20028
Platanthera lacera -72.45833 41.91666
Platanthera bifolia 5.19800 59.64310
Platanthera sparsiflora -117.67472 34.36278
фиксированная функция platmaps
ggplot(data=df1 %>% filter(species == s))+
coord_fixed()+
borders("world", colour="gray50", fill="gray50")+
geom_point(aes(x = decimalLongitude, y = decimalLatitude),
colour = "pink", size = 0.5)+
labs(title=as.character(s))