如何在rgbif中搜索搜索中的出现数据

时间:2017-04-05 12:02:03

标签: r dataframe save

我是新用户,我有兴趣使用rgbif下载一组特定的数据。我做了:

occ_search(scientificName = "Lupinus", hasCoordinate = TRUE, continent = c('africa', 'europe', 'asia'),
       basisOfRecord = "PRESERVED_SPECIMEN", decimalLatitude = '-1.50750278, 47.62390556',
       decimalLongitude = '-18.75250000, 52.85138889',
       fields = c('scientificName', 'decimalLatitude', 'decimalLongitude', 'country'), return = 'data')

哪个搜索工作正常。但是,我想要做的是将搜索保存为对象以创建它的.csv文件。如果我去:

OS <- occ_search(scientificName = "Lupinus", hasCoordinate = TRUE, continent = c('africa', 'europe', 'asia'),
       basisOfRecord = "PRESERVED_SPECIMEN", decimalLatitude = '-1.50750278, 47.62390556',
       decimalLongitude = '-18.75250000, 52.85138889',
       fields = c('scientificName', 'decimalLatitude', 'decimalLongitude', 'country'), return = 'data')

然后

OS1 <- as.data.frame(OS)

我收到以下错误:

Error in as.data.frame.default(occ) : cannot coerce class ""gbif"" to a data.frame

我也尝试过这样使用occ_download

OD <- occ_download("scientificName = Lupinus",
                       "hasCoordinate = TRUE",
                       "continent = africa,europe,asia",
                       "basisOfRecord = PRESERVED_SPECIMEN",
                       "decimalLatitude >= -1.50750278", 
                       "decimalLatitude <= 47.62390556",
                       "decimalLongitude >= -18.75250000",
                       "decimalLongitude <= 52.85138889")                        

我得到的是一个包含0个观察值和235列的文件。

任何帮助都将受到高度赞赏!

2 个答案:

答案 0 :(得分:1)

occ_search输出与as.data.frame不兼容的原因在于continent = c('africa', 'europe', 'asia')参数。如果您查看length(OS)str(OS),您会发现它实际上有三个data.frames。您可以访问以下各个元素:

OS$europe
# or
OS['europe']
# or
OS[[1]]

您可以将这些结合起来

OC1 <- rbind(OS$africa, OS$europe, OS$asia)

或者,如果你不知道所有不同的名字,如下:

do.call(rbind, OS)

答案 1 :(得分:0)

要将带有class "gbif"的对象转换为data.frame,您可以执行OS.df <- do.call(rbind.data.frame, OS)

对于occ_download,您需要设置用户名,电子邮件和密码。由gbif网站(http://www.gbif.org/developer/occurrence#download) 发生下载是异步创建的 - 用户请求下载,一旦完成,就会发送并通过电子邮件发送一个指向生成文件的链接。

OD <- occ_download(user = "name", pwd = "pass", email = "e@mail.com", "scientificName = Lupinus", "hasCoordinate = TRUE", "continent = africa,europe,asia","basisOfRecord = PRESERVED_SPECIMEN","decimalLatitude >= -1.50750278", "decimalLatitude <= 47.62390556", "decimalLongitude >= -18.75250000", "decimalLongitude <= 52.85138889")

返回类gbif download的对象,您应该收到每封邮件的下载链接或访问http://www.gbif.org/user/download直接下载。这可以通过gbif.org的下载选项完成。

<<gbif download>> Username: philipprobeck E-mail: phill@gmx.li Download key: 0078579-160910150852091