【问题标题】:Subsetting a large dataset in R by Months按月对 R 中的大型数据集进行子集
【发布时间】:2020-05-18 18:37:47
【问题描述】:

我是使用 R 的新手,并且有一个关于将大型数据集中的数据子集为数月的问题。我试图从一月份的数据开始将数据子集到不同的月份。我加载的包是openair。

我将以下文件加载到有关 COVID 数据中,并将其命名为 COVIDcases:

COVIDcases <- read.csv("https://query.data.world/s/lysuc3ab7q3zubthc6paesbrsff3oo", header=TRUE, stringsAsFactors=FALSE);

加载数据集后,我将日期列转换为日期而不是字符

COVIDcases$Date <- as.Date(paste(COVIDcases$Date), "%m/%d/%y")

然后我执行一个 selectByDate 语句来尝试只分析一月份的数据。

JanuaryCasesdata <-selectByDate(COVIDcases$Date, start = "2020-01-01", end = "2020-01-31")

这是我遇到问题并不断收到错误的地方:

"Error in `[.default`(mydata, , Names) : incorrect number of dimensions"

是否有什么特别是我做错了,例如采取了错误的步骤来对数据进行子集化?

【问题讨论】:

标签: r dataframe subset


【解决方案1】:

selectByDate() 的文档指出第一个参数是

包含date 字段的数据帧,采用每小时或高分辨率格式。

这意味着您需要对代码进行两次更改。

首先,Date 字段需要命名为date(小写d)。从字符转换时可以执行此操作。 (paste() 在这里没有做任何事情,所以你可以摆脱它。)

COVIDcases$date <- as.Date(COVIDcases$Date, "%m/%d/%y")

其次,您需要传递整个数据框,而不仅仅是那一列。

JanuaryCasesdata <- selectByDate(COVIDcases, start = "2020-01-01", end = "2020-01-31")

【讨论】:

    猜你喜欢
    • 2014-11-13
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    • 2020-12-17
    • 2015-02-11
    • 2013-10-25
    • 2021-09-16
    • 1970-01-01
    相关资源
    最近更新 更多