首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R readr::read_fwf使用fwf_widths忽略字符

R readr::read_fwf使用fwf_widths忽略字符
EN

Stack Overflow用户
提问于 2016-08-16 05:00:09
回答 1查看 1.3K关注 0票数 0

我想知道是否有一种简单的方法可以使用R的readr包中的read_fwf跳过字符。

例如,修改文档中的一个示例

代码语言:javascript
复制
library(readr)
fwf_sample <- system.file("extdata/fwf-sample.txt", package = "readr")
read_fwf(fwf_sample, fwf_widths(c(2, -3,2, 3)))

抛出错误:

代码语言:javascript
复制
Error: Begin offset (2) must be smaller than end offset (-1)

但是,使用基本的read.fwf函数可以很好地工作:

代码语言:javascript
复制
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来模仿这种行为呢?(我感兴趣的主要是性能原因)。

EN

回答 1

Stack Overflow用户

发布于 2016-08-16 05:38:41

帮助页面建议使用fwf_positions

代码语言:javascript
复制
> 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   lan
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38962983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档