读取R中的CSV文件并在读取时格式化日期和时间并避免标记为缺失值?

时间:2014-12-04 16:07:56

标签: r

我正在尝试在R中读取CSV文件。如何在阅读时阅读和格式化日期和时间,并避免标记为?的缺失值。我读取后加载的数据应该是干净的。

我尝试过类似的东西 data< - read.csv(“Data.txt”) 它有效,但日期和时间都是如此。

另外,如何从特定数据范围中提取数据子集?

为此我试过像

这样的东西

subdata< - subset(data,Date == 01/02/2007& Date == 02/02/2007,select = Date:Sub_metering_3)

我收到错误eval中的错误(expr,envir,enclos):找不到对象'日期'

日期是第一列。

1 个答案:

答案 0 :(得分:3)

函数read.csv()read.table()未设置为对可能包含多种格式的日期等详细的奇特转换。当这些功能不能自动完成所需的功能时,我发现最好以文本形式读取数据,然后在事后转换变量。

data <- read.csv("Data.txt",colClasses="character",na.strings="?")
data$FixedDate <- as.Date(data$Date,format="%Y/%m/%d")

或您的日期格式。变量FixedDate将为Date类型,您可以使用相等和其他条件进行子集化。

此外,在您的示例代码中,您将01/02/2007作为裸代码,这导致将1除以2,然后到2007,得到0.0002491281,而不是插入有意义的日期。请考虑使用as.Date("2007-01-02")