Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何解决这个问题;引用字符串中的EOF“;在网页抓取功能中?_R_Web Scraping - Fatal编程技术网

R 如何解决这个问题;引用字符串中的EOF“;在网页抓取功能中?

R 如何解决这个问题;引用字符串中的EOF“;在网页抓取功能中?,r,web-scraping,R,Web Scraping,因此,我使用了这个网络抓取函数boldseqspec,它根据“分类单元”参数中给出的分类群向量返回几个物种标本的数据,如下所示: df<-bold_seqspec(taxon=c("group1","group2","group3"), format = "tsv") 我以前在read.delim中遇到过这个问题,但我解决了这个问题: df<-read.delim("file.txt",quote = "",comment.char = "") dftsv输出似乎同时包含双引号和

因此,我使用了这个网络抓取函数
boldseqspec
,它根据“分类单元”参数中给出的分类群向量返回几个物种标本的数据,如下所示:

df<-bold_seqspec(taxon=c("group1","group2","group3"), format = "tsv")
我以前在read.delim中遇到过这个问题,但我解决了这个问题:

df<-read.delim("file.txt",quote = "",comment.char = "")

dftsv输出似乎同时包含双引号和单引号,这就是解析出错的原因(有关此问题的更多信息,实际上也是关于生物数据集的,请参阅)

因此,如果您不能设置引号,我建议您使用一种变通方法,通过设置
format=“xml”
并在下一步使用库
xml
(或
xml2
?)和
dplyr
将xml转换为数据帧

library(XML)
library(dplyr) 
xml = bold_seqspec(taxon=c("Cnidaria","Hippocampus"), format = "xml", marker="COI-5P")
df= xmlToDataFrame(xml , stringsAsFactors = FALSE,) %>% 
                        mutate_all(~type.convert(., as.is = T))

希望这能有所帮助。

tsv输出似乎同时包含双引号和单引号,这就是解析出错的原因(有关此问题的更多信息,实际上也是关于生物数据集的,请参阅)

因此,如果您不能设置引号,我建议您使用一种变通方法,通过设置
format=“xml”
并在下一步使用库
xml
(或
xml2
?)和
dplyr
将xml转换为数据帧

library(XML)
library(dplyr) 
xml = bold_seqspec(taxon=c("Cnidaria","Hippocampus"), format = "xml", marker="COI-5P")
df= xmlToDataFrame(xml , stringsAsFactors = FALSE,) %>% 
                        mutate_all(~type.convert(., as.is = T))

希望这能有所帮助。

可复制的示例不会给我带来任何错误。对不起,我现在已经更正了它,它应该会输出错误。我试图运行您的示例。它给了我你也提到过的警告,但它会产生结果。是的,它会输出结果,但数据集比没有发出警告时的数据集要小得多。与我使用“read.delim”函数得到警告时类似,数据集总是更小,并且我正在丢失数据。可复制的示例不会抛出错误。对不起,我现在已经更正了它,它应该会输出错误。我尝试运行您的示例。它给了我你也提到过的警告,但它会产生结果。是的,它会输出结果,但数据集比没有发出警告时的数据集要小得多。与使用“read.delim”函数收到警告时类似,数据集总是较小,并且我正在丢失数据。第一行运行正常,没有错误,但运行第二行返回以下错误:error in(function(class,fdef,mtable):找不到签名“xml_document”、“missing”、“missing”、“missing”、“missing”、“missing”的函数“xmlToDataFrame”的继承方法第一行运行正常,没有错误,但运行第二行会返回以下错误:函数中的错误(类、fdef、mtable):找不到签名“xml_文档”、“缺少”、“缺少”、“缺少”、“缺少”、“缺少”的函数“xmlToDataFrame”的继承方法
library(XML)
library(dplyr) 
xml = bold_seqspec(taxon=c("Cnidaria","Hippocampus"), format = "xml", marker="COI-5P")
df= xmlToDataFrame(xml , stringsAsFactors = FALSE,) %>% 
                        mutate_all(~type.convert(., as.is = T))