首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R- read_csv原因消息:使用‘`spec()’检索该数据的完整列规范

R- read_csv原因消息:使用‘`spec()’检索该数据的完整列规范
EN

Stack Overflow用户
提问于 2022-02-26 15:44:48
回答 1查看 1.7K关注 0票数 2

我刚刚完成了一门学习R数据分析的课程,现在我正在自己做一个案例研究。

由于我是初学者,请帮助我理解这个问题,我没有在课程中。

我已经导入了csv文件,我希望将它们分配给具有更好名称的变量。

我使用以下包装: tidyverse,readr,lubridate,ggplot2,janitor,tidyr,skimr。

这是我的密码:

代码语言:javascript
运行
复制
daily_Activity <- read_csv("../input/bellabeat-dataset/dailyActivity_merged.csv")
daily_Calories <- read_csv("../input/bellabeat-dataset/dailyCalories_merged.csv")
daily_Intesities <- read_csv("../input/bellabeat-dataset/dailyIntensities_merged.csv")
daily_Steps <- read_csv("../input/bellabeat-dataset/dailySteps_merged.csv")
hourly_Calories <- read_csv("../input/bellabeat-dataset/hourlyCalories_merged.csv")
sleep_Day <- read_csv("../input/bellabeat-dataset/sleepDay_merged.csv")
weight_Log <- read_csv("../input/bellabeat-dataset/weightLogInfo_merged.csv")

当我运行代码时,新表是用新名称创建的,但是控制台也向我显示了以下消息:

代码语言:javascript
运行
复制
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

我不太明白这是个问题还是我应该忽视它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-26 16:17:08

资源:

  1. https://readr.tidyverse.org/articles/readr.html
  2. https://readr.tidyverse.org/reference/spec.html
  3. <https://stackoverflow.com/questions/70129365/use-spec-to-retrieve-the-full-column-specification-for-this-data

列规格

如果在读取文件时必须指定每一列的类型,这将是很繁琐的。相反,readr使用一些启发式方法来猜测每一列的类型。您可以使用guess_parser()自己访问这些结果

列规范描述了每一列的类型,以及readr用来猜测类型的策略,因此您不需要提供所有这些类型。

代码语言:javascript
运行
复制
df <- read_csv(readr_example("mtcars.csv"))

将给予:

代码语言:javascript
运行
复制
Rows: 32 Columns: 11                                                            
-- Column specification ---------------------
Delimiter: ","
dbl (11): mpg, cyl, disp, hp, drat, wt, q...

i Use `spec()` to retrieve the full column specification for this data.
i Specify the column types or set `show_col_types = FALSE` to quiet this message.

如果我们然后使用spec(df):

代码语言:javascript
运行
复制
spec(df)

我们会得到:

代码语言:javascript
运行
复制
cols(
  mpg = col_double(),
  cyl = col_double(),
  disp = col_double(),
  hp = col_double(),
  drat = col_double(),
  wt = col_double(),
  qsec = col_double(),
  vs = col_double(),
  am = col_double(),
  gear = col_double(),
  carb = col_double()
)

  • 基本上在有许多文件和列的情况下,如果没有规范,readr就会猜测数据类型。这可能会消耗时间。
  • readr无法猜测数据类型的情况下(例如,混乱的日期输入)。使用spec(),我们必须识别和确定这个特定列的类型.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71278038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档