在R中按月份对一个大型数据集进行子集。

问题描述 投票:0回答:1

我是利用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语句,试图只分析1月份的数据。

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

这时我遇到了一个问题,一直得到错误。

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

我是否有什么特别的地方做错了,比如采取了错误的步骤来子集数据?

r dataframe rstudio subset
1个回答
0
投票

文档 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")
© www.soinside.com 2019 - 2024. All rights reserved.