R - read_csv 原因消息:使用 `spec()` 检索此数据的完整列规范
R - read_csv cause message: Use `spec()` to retrieve the full column specification for this data
我刚刚完成了用于数据分析的 R 课程学习,现在我正在独立研究案例。
由于我是初学者,请帮助我理解这个我在课程中没有遇到的问题。
我已经导入了 csv 文件,我想将它们分配给具有更好名称的变量。
我正在使用以下软件包:tidyverse、readr、lubridate、ggplot2、janitor、tidyr、skimr。
这是我的代码:
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")
当我 运行 使用新名称创建新表的代码时,但控制台也向我显示此消息:
ℹ 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.
我不太明白这是个问题还是我应该忽略它。
资源:
列规范
如果在读取文件时必须指定每一列的类型,那将是乏味的。相反 readr
,使用一些试探法来猜测每一列的类型。您可以使用 guess_parser()
:
自行访问这些结果
列规范描述了每列的类型以及 readr 用于猜测类型的策略,因此您无需全部提供。
df <- read_csv(readr_example("mtcars.csv"))
将给予:
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):
spec(df)
我们将得到:
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()
我们必须识别并确定此特定列的类型。
我刚刚完成了用于数据分析的 R 课程学习,现在我正在独立研究案例。
由于我是初学者,请帮助我理解这个我在课程中没有遇到的问题。
我已经导入了 csv 文件,我想将它们分配给具有更好名称的变量。
我正在使用以下软件包:tidyverse、readr、lubridate、ggplot2、janitor、tidyr、skimr。
这是我的代码:
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")
当我 运行 使用新名称创建新表的代码时,但控制台也向我显示此消息:
ℹ 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.
我不太明白这是个问题还是我应该忽略它。
资源:
列规范
如果在读取文件时必须指定每一列的类型,那将是乏味的。相反 readr
,使用一些试探法来猜测每一列的类型。您可以使用 guess_parser()
:
列规范描述了每列的类型以及 readr 用于猜测类型的策略,因此您无需全部提供。
df <- read_csv(readr_example("mtcars.csv"))
将给予:
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):
spec(df)
我们将得到:
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()
我们必须识别并确定此特定列的类型。