R:两个结构相同的Excel文件在数据框中返回不同的数据类型

时间:2018-11-10 18:23:15

标签: r readxl

我有两个不同的Excel文件,excel1excel2

我正在使用单独但相同的功能来阅读它们:

df1<- readxl::read_xlsx("excel1.xlsx", sheet= "Ad Awareness", skip= 7)
df2<- readxl::read_xlsx("excel2.xlsx", sheet= "Ad Awareness", skip= 7)

但是,当我在每一个上运行head()时,df都会返回以下内容:

calDate             Score
  <dttm>              <dbl>
1 2016-10-17 00:00:00  17.8
2 2016-10-18 00:00:00  17.2
3 2016-10-19 00:00:00  20.3

这是df2返回的内容:

  calDate Score
    <dbl> <lgl>
1   43025 NA   
2   43026 NA   
3   43027 NA   

任何原因为何读取的数据类型都不相同?这些文件没有什么不同。

1 个答案:

答案 0 :(得分:1)

read_xlsx()将根据您的数据猜测变量类型(有关更多信息,请参见here)。

所以您所描述的可能是由于:

  • 不同文件中的数据量不同(其中一个文件中的数据不足以进行正确猜测)

  • 您可能在Excel中对单元格格式进行了更改(这些更改在Excel中并不总是在视觉上很明显)

没有看到您的数据,很难给您比这更多的答案。

但是您可以使用col_types参数来控制它:

  

col_types:“ NULL”以从电子表格中猜测所有内容,或者             字符向量,其中每列包含一个条目             选项:“跳过”,“猜测”,“逻辑”,“数字”,“日期”,             “文本”或“列表”。如果只指定了一个“ col_type”,             将被回收。跳过列中单元格的内容             永远不会读取,并且该列将不会出现在数据中             帧输出。列表单元格将一列作为长度列表加载             1个向量,使用向量中的类型猜测逻辑来输入             “ col_types = NULL”,但基于每个单元格。