library(rgbif)
library(dplyr)
splist<-c("Acantholyda serbica",
"Acromyrmex lobicornis",
"Anthostomella pedemontana",
"Anthostomella sabinianae",
"Aphelenchoides stammeri",
"Aphrophora saratogensis")
keys <- sapply(splist, function(x) name_suggest(x)$key[1], USE.NAMES=T)
mydata<-occ_data(taxonKey=keys, hasCoordinate=TRUE, return="data")
mydata现在是一个包含几个列表和一个称为数据的数据帧的列表
我需要将所有来自不同物种的数据帧合并到一个数据帧中
我将return =“ data”添加到了occ_data女巫中,简化了仅返回到我想要的内容的过程。但是,现在的问题是绑定不同大小的数据帧。
此循环很好地打印了数据帧
for (i in seq(data)){
print(data[[i]])
}
这行不通,但是显示了我正在尝试的内容
for (i in seq(data)){
select(data[[i]], name, decimalLatitude, decimalLongitude) %>%
bind_rows()
}
我需要整理其中的几个
cbind(c(data[[2]]$name),
c(data[[2]]$decimalLatitude),
c(data[[2]]$decimalLongitude))
我正在为数百种动物做这件事,因此任何建议将不胜感激
谢谢
答案 0 :(得分:0)
我在此博客文章中找到了我的问题的答案:
通过使用来自library(data.table)的rbindlist和lapply解决的问题
df<- rbindlist(lapply(data, function(x) x$data), fill = TRUE, use.names = TRUE)
从此处无法选择
dplyr::select(df, name, decimalLatitude, decimalLongitude)