为什么我在 r 中使用 read.csv 时没有得到"Parsed with column specification"?



我正在学习关于tidyverse的教程。它从一个我可以复制的非常简单的例子开始:

library(readr)
menu <- read_csv("http://joeystanley.com/data/menu.csv")
#> Parsed with column specification:
#> cols(
#>   Category = col_character(),
#>   Item = col_character(),
#>   Oz = col_double(),
#>   Calories = col_double(),
#>   Fat = col_double(),
#>   Sugars = col_double()
#> )

但是,当我从自己的计算机上读取csv文件时,我不会收到Parsed with column specification消息。为什么?

library(readr)
df1 <- data.frame(ID = c(1, 2, 3, 4, 5),
var1 = c('a', 'b', 'c', 'd', 'e'),
var2 = c(1, 1, 0, 0, 1))
write.csv(df1,"./df1.csv", row.names = TRUE)
read.csv(file = './df1.csv')
#>   X ID var1 var2
#> 1 1  1    a    1
#> 2 2  2    b    1
#> 3 3  3    c    0
#> 4 4  4    d    0
#> 5 5  5    e    1

我尝试过使用options(readr.num_columns = 1),但没有任何变化。

我使用的是read.csv而不是read_csv。对于后者,它可以按预期工作:

library(readr)
df1 <- data.frame(ID = c(1, 2, 3, 4, 5),
var1 = c('a', 'b', 'c', 'd', 'e'),
var2 = c(1, 1, 0, 0, 1))
write.csv(df1,"./df1.csv", row.names = TRUE)
read_csv(file = './df1.csv')
#> Warning: Missing column names filled in: 'X1' [1]
#> Parsed with column specification:
#> cols(
#>   X1 = col_double(),
#>   ID = col_double(),
#>   var1 = col_character(),
#>   var2 = col_double()
#> )
#> # A tibble: 5 x 4
#>      X1    ID var1   var2
#>   <dbl> <dbl> <chr> <dbl>
#> 1     1     1 a         1
#> 2     2     2 b         1
#> 3     3     3 c         0
#> 4     4     4 d         0
#> 5     5     5 e         1

由reprex包(v0.3.0(于2021-04-05创建

相关内容

最新更新