读取同一个文件在较新的 readr 版本中有不同的输出

Reading the same file has different output in newer readr version

在较新的 R 版本中,读取文件不会return相同的输出。

我有一个格式如下的文件:

      Symbol                 Location  N_ind_freqs
     A3GALT2      1:33772367-33786699            1
      ABCB10    1:229652329-229694442            1
       ABCD3      1:94883933-94984222            4
        ABL2    1:179068462-179198819            6

并且曾经使用以下行阅读:

df_out <- read_delim("file.out", delim = " ", trim_ws = TRUE, col_types = "ccd")

您可以观察到第一列中的空格 Symbol 并且需要修剪。此代码片段 return 是预期的数据框(3 列和 4 行)。

但是,readr::read_delim 在较新版本的 R (R 4.1.0) 中不会产生相同的输出 (df_out)。

您认为问题是什么?

我怀疑问题不是新版本的R引起的,而是readr包的新版本引起的(假设你的函数read_delim来自readr) .他们在 7 月中旬发布了 2.0.0 版本,很多细节都发生了变化。

如果这确实是您问题的根源,您应该可以使用 with_edition 函数 return 恢复旧行为。

df_out <- with_edition(1, read_delim("file.out", delim = " ", trim_ws = TRUE, col_types = "ccd"))