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”的主要内容,如果未能解决你的问题,请参考以下文章