我想知道是否有一种简单的方法可以使用R的readr包中的read_fwf跳过字符。
例如,修改文档中的一个示例
library(readr)
fwf_sample <- system.file("extdata/fwf-sample.txt", package = "readr")
read_fwf(fwf_sample, fwf_widths(c(2, -3,2, 3)))抛出错误:
Error: Begin offset (2) must be smaller than end offset (-1)但是,使用基本的read.fwf函数可以很好地工作:
read.fwf(fwf_sample, widths = c(2,-3,2,3))
# V1 V2 V3
#1 12 67 890
#2 12 67 890
#3 12 67 890
#4 12 67 890
#5 12 67 890有没有办法让我用readr::read_fwf来模仿这种行为呢?(我感兴趣的主要是性能原因)。
发布于 2016-08-16 05:38:41
帮助页面建议使用fwf_positions
> read_fwf(fwf_sample, fwf_positions(c(1, 5, 8), c(2, 7, 10), col_names=paste0("V", 1:3)) )
Parsed with column specification:
cols(
V1 = col_character(),
V2 = col_character(),
V3 = col_character()
)
# A tibble: 3 x 3
V1 V2 V3
<chr> <chr> <chr>
1 Jo Sm ith
2 Ma Ha rtf
3 Ev No lanhttps://stackoverflow.com/questions/38962983
复制相似问题