我试图解决的问题是,我需要读取多个固定宽度的文件,每个文件可能具有不同的列宽。因此,我希望遍历一些文件,并将其与正确的模式进行匹配,然后在正确的位置使用拆分读取数据。
我还没有找到将模式文件传递给read.fwf或read_fwf的方法,并且不想进行硬编码,所以我将列长度放入下面的变量简化代码中
widths <- "10,5,5,10"
widths <- noquote(widths)
read_fwf("file.txt", fwf_widths(c(widths)))但是会得到如下的错误
Error in abs(widths) : non-numeric argument to mathematical function Error in abs(widths) : non-numeric argument to mathematical function是否可以以这种方式传递变量,或者它将始终将其读取为文本。
发布于 2020-06-08 21:29:15
来自@GKi的答案可以完成这项工作。
read.fwf("file.txt",as.integer(strsplit(widths,",“)[1L])
https://stackoverflow.com/questions/62262052
复制相似问题