我正在学习关于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创建