r - 为什么在 r 中使用 read.csv 时没有得到“使用列规范解析”?
问题描述
我正在关注关于 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 包于 2021-04-05 创建(v0.3.0)
推荐阅读
- objective-c - 在 Xcode 中使用 Objective-C 初始化 NSWindowController 时出现“缺少 setter 或实例变量”日志消息:
- javascript - 如何仅使用本地 json 文件或网络服务器中的 javascript 显示 json 数据?
- xamarin - 如何为 Xamarin Forms 中的特定页面使用不同的主题?
- spring - 关于 HEADERS 的 Spring Integration HttpRequestExecutingMessageHandler 问题
- jquery - 当用户单击发送按钮时,从 twitter 引导模式传递值
- c# - Asp.Net MVC 5 测试 IoC + 依赖注入
- css - 如何在没有弹性盒的情况下使图像使用最佳空间量
- javascript - 无法使用 PHP 执行查询,其中相同的查询在 phpmyadmin 中可以正常工作
- typescript - Redux 4.0 中存储增强器的 TypeScript 输入问题
- android - Android 模拟器作为`LowRamDevice`