readr - 不读取缺少 headers 的列
readr - does not read columns with missing headers
在 header 行缺少数据集中最后几列的条目的文件上使用 read_tsv 时,我 运行 遇到了麻烦。 readr 确实指示 warning/problem 发生了什么,但这似乎 运行 与 readr 应该处理这些情况的方式相反,如下所示:
https://github.com/tidyverse/readr/issues/189
此调用 read_csv 的示例取自上述 link:
read_csv("a,b\n1,2,3,4")
#> Warning: 1 parsing failure.
#> row # A tibble: 1 x 5 col row col expected actual file expected <int> <chr> <chr> <chr> <chr> actual 1 1 <NA> 2 columns 4 columns literal data file # A tibble: 1 x 5
#>
#> # A tibble: 1 x 2
#> a b
#> <int> <int>
#> 1 1 2
#> Warning message:
#> In rbind(names(probs), probs_f) :
#> number of columns of result is not a multiple of vector length (arg 2)
注意,我使用的是 R v3.4.2 和 readr v1.1.1。根据以前使用 readr(以及上面的 link)的经验,readr 应该仍然读取缺少 header 的列,并自动为它们分配名称 X1 和 X2。 readr 是否改变了处理这些案件的方式?这是小标题吗side-effect?
也许只使用 base R 就可以解决这个问题?
file_path <- getwd("a,b\n1,2,3,4")
read.csv(file_path, stringsAsFactors = FALSE)
但是,如果您坚持使用 readr,那么或许可以尝试从 github 下载最新的开发版本,看看是否可以解决问题
devtools::install_github("tidyverse/readr")
如果这不起作用,请安装以前的版本。
library(checkpoint)
checkpoint("2015-04-26")
install.packages("readr")
我听从了 MrFlick 的建议并将其发布到读者的 gitHub 页面。看起来这实际上是一个错误:https://github.com/tidyverse/readr/issues/762。
希望我们能在下一个版本中看到修复。
在 header 行缺少数据集中最后几列的条目的文件上使用 read_tsv 时,我 运行 遇到了麻烦。 readr 确实指示 warning/problem 发生了什么,但这似乎 运行 与 readr 应该处理这些情况的方式相反,如下所示: https://github.com/tidyverse/readr/issues/189
此调用 read_csv 的示例取自上述 link:
read_csv("a,b\n1,2,3,4")
#> Warning: 1 parsing failure.
#> row # A tibble: 1 x 5 col row col expected actual file expected <int> <chr> <chr> <chr> <chr> actual 1 1 <NA> 2 columns 4 columns literal data file # A tibble: 1 x 5
#>
#> # A tibble: 1 x 2
#> a b
#> <int> <int>
#> 1 1 2
#> Warning message:
#> In rbind(names(probs), probs_f) :
#> number of columns of result is not a multiple of vector length (arg 2)
注意,我使用的是 R v3.4.2 和 readr v1.1.1。根据以前使用 readr(以及上面的 link)的经验,readr 应该仍然读取缺少 header 的列,并自动为它们分配名称 X1 和 X2。 readr 是否改变了处理这些案件的方式?这是小标题吗side-effect?
也许只使用 base R 就可以解决这个问题?
file_path <- getwd("a,b\n1,2,3,4")
read.csv(file_path, stringsAsFactors = FALSE)
但是,如果您坚持使用 readr,那么或许可以尝试从 github 下载最新的开发版本,看看是否可以解决问题
devtools::install_github("tidyverse/readr")
如果这不起作用,请安装以前的版本。
library(checkpoint)
checkpoint("2015-04-26")
install.packages("readr")
我听从了 MrFlick 的建议并将其发布到读者的 gitHub 页面。看起来这实际上是一个错误:https://github.com/tidyverse/readr/issues/762。 希望我们能在下一个版本中看到修复。