我想在两个不同的日期之间子集我的数据集。我将文本文件中的数据以“;”作为分隔符加载到R中。
x <- read.table("household_power_consumption.txt", sep = ";", header = TRUE)
head(x)
给我这个:
[head(x)][1]
数据集包含超过200000行,所以我只需要子集两个特定日期的数据。所以我试了一下:
x[Date >= as.Date("2007-02-01") | Date <= as.Date("2007-02-02")]
但我看到以下错误:
Error in `[.data.frame`(x, Date >= as.Date("2007-02-01") | Date <= as.Date("2007-02-02")) : object 'Date' not found
那么这里有什么问题呢?如何对数据进行子集?
发布于 2016-02-07 12:31:13
您的代码中有几个问题。
x$Date
而不是Date
。OR
相关联),或
x$Date >= as.Date("2007-02-01")及x$Date <= as.Date("2007-02-02")
(与逻辑AND
连接)。代码中的版本选择任何可能的日期,因此没有用处。编辑
由于不知道存储列x$Date
的格式,所以将该内容包装到as.Date()
中也可能有帮助。
总之,这可能是可行的:
x[as.Date(x$Date) >= as.Date("2007-02-01") & as.Date(x$Date) <= as.Date("2007-02-02"),]
https://stackoverflow.com/questions/35258548
复制相似问题