首页 > 解决方案 > 扫描(文件...读取 convert.inp 时出现错误和不同数量的观察结果

问题描述

我正在尝试使用 RMark 包中的 convert.inp() 读取数据集。

我的数据集包含个人 ID 号、重新捕获历史(即 0101..00101...)、地点、物种、年龄、性别、体重和寄生虫负担。我将数据格式化为 .inp 格式,将站点作为组 - 紧接在重新捕获历史之后 - 并将物种作为第二个 .inp 文件中的组。这两个文件都有/* */列标题和唯一 ID 号的注释。站点作为组文件可以很好地读取 22 个变量的 213 个观测值。作为组文件的物种产生以下错误:

Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec,  : 
line 2 did not have 37 elements

如果我删除/* */列标题注释,该文件将读入,但只有 13 个变量的 211 个观察值。

为什么我首先会收到此错误?为什么通过简单地删除列标题我在第二个文件中的观察结果更少?

这是我尝试过的代码:

文件 1 站点作为组:

SiteGroup <- convert.inp("SiteGroup.inp", group.df = data.frame(Site= c("Albany Pine Bush", "SChroon Lake")), covariates = c("Peromyscus", "Tamias striatus", "Myodes gapperi", "Blarina brevicauda", "Sorex cinereus", "Tamiasciurus hudsonicus", "Glacomys volans", "Glacomys sabrinus", "Napeaozapus insignis", "Mustela frenata", "Sorex hoyi", "Male", "Female", "Juvenile", "Adult", "Weight (g)", "dWeight (g)", "Length (cm)", "Avg Tick Burden"), use.comments = TRUE)

*给出强制引入的警告 NA - 我缺少 1 个人的体重

文件 2 物种作为组与列标题:

SpeciesGroup <- convert.inp("SpeciesGroup.inp", group.df = data.frame(Species = c("Peromyscus", "Tamias striatus", "Myodes gapperi", "Blarina brevicauda", "Sorex cinereus", "Tamiasciurus hudsonicus", "Glacomys volans", "Glacomys sabrinus", "Napeaozapus insignis", "Mustela frenata", "Sorex hoyi")), covariates = c("Albany Pine Bush", "Schroon Lake", "Male", "Female", "Juvenile", "Adult", "Weight (g)", "dWeight (g)", "Length (cm)", "Avg Tick Burden"), use.comments = TRUE)

文件 2 输出:

Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec,  : 
line 2 did not have 37 elements

标签: rfilermark

解决方案


将转换后的数据框导出为 .csv 后,我能够将物种组文件中的每一行与源文件进行比较,发现 2 个人在物种代码的所有字段中都有 0。


推荐阅读