read.xlsx 函数正在将我的变量之一读取为“因子”而不是“POSIXct”

Posted

技术标签:

【中文标题】read.xlsx 函数正在将我的变量之一读取为“因子”而不是“POSIXct”【英文标题】:read.xlsx function is reading one of my variables as "factor" instead of "POSIXct" 【发布时间】:2015-05-07 13:37:05 【问题描述】:

我有一个带有许多变量(列)的xlsx 文件。在 .xlsx 文件中以日期格式 (MM/DD YYYY HH:MM A/P) 列出了很多。当我使用read.xlsx将此文件加载到R中时,所有日期格式的变量都加载为POSIXct,除了ONE,它始终加载为factor变量。关于为什么会这样的任何想法?

作为参考,我正在使用类似于下面的代码加载数据:

data <- read.xlsx("file.xlsx", sheetIndex = 1, header = TRUE)

【问题讨论】:

MM/DD YYYY HH:MM A/P 不是 as.POSIXct 读取的数据时间格式,除非提供格式规范。您的解决方案表明您正在报告您在 Excel 窗口中看到的格式,这不是 Excel(或 R 就此而言)存储日期时间的方式。 【参考方案1】:

好吧,我想通了!结果是这个变量的一个条目(数百个)在 xlsx 文件中输入了一些错误(它被列为 15:00 PM,一个不可能的时间!),我想这会抛出 xlsx 包。修复后,数据提取会生成一个包含 POSIXct 条目的列。

希望这可以帮助将来遇到类似问题的其他人!

【讨论】:

看到这个的方法是尝试as.POSIXct(data$troublesome_column),这应该会引发错误。

以上是关于read.xlsx 函数正在将我的变量之一读取为“因子”而不是“POSIXct”的主要内容,如果未能解决你的问题,请参考以下文章

r语言 读取xlsx文件,时间变成了43435 怎么解决?

如何才能拿R读取Excel文件

r语言导入excel后有效数字

为啥自己的r语言中读不了xlsx文件

R中的MemoryError而read.xlsx

R读取xlsx文件