【发布时间】:2020-12-26 14:45:42
【问题描述】:
希望这不是一个太新手的问题。
我正在尝试从可从此处下载的 GDP UK 数据集中对行进行子集化: http://www.ons.gov.uk/ons/site-information/using-the-website/time-series/index.html
数据框看起来或多或少是这样的:
X ABMI
1 1948 283297
2 1949 293855
3 1950 304395
....
300 2013 Q2 381318
301 2013 Q3 384533
302 2013 Q4 387138
303 2014 Q1 390235
问题是,对于我的分析,我只需要 2004-2013 年的数据,并且我对每年的一个结果感兴趣,所以我想从位于 263 和 303 行之间的数据集中每隔四行获取一次。
基于以下网站:
https://stat.ethz.ch/pipermail/r-help/2008-June/165634.html (加上一些由于链接限制我无法引用的)
我尝试了以下方法,每次都收到一些错误消息:
> GDPUKodd <- seq(GDPUKsubset[263:302,], by = 4)
Error in seq.default(GDPUKsubset[263:302, ], by = 4) :
argument 'from' musi mieæ d³ugoœæ 1
> OddGDPUK <- GDPUK[seq(263, 302, by = 4)]
Error in `[.data.frame`(GDPUK, seq(263, 302, by = 4)) :
undefined columns selected
> OddGDPUKprim <- GDPUK[seq(263:302), by = 4]
Error in `[.data.frame`(GDPUK, seq(263:302), by = 4) :
unused argument (by = 4)
> OddGDPUK <- GDPUK[seq(from=263, to=302, by = 4)]
Error in `[.data.frame`(GDPUK, seq(from = 263, to = 302, by = 4)) :
undefined columns selected
> OddGDPUK <- GDPUK[seq(from=GDPUK[263,] to=GDPUK[302,] by = 4)]
Error: unexpected symbol in "OddGDPUK <- GDPUK[seq(from=GDPUK[263,] to"
> GDPUK[seq(1,nrows(GDPUK),by=4),]
Error in seq.default(1, nrows(GDPUK), by = 4) :
could not find function "nrows"
长话短说:帮助!
【问题讨论】:
-
试试
GDPUK[seq(263, 302, by=4),],看来你只是漏掉了一个逗号,告诉 r 你想要所有的列。 -
欢迎。但是@janos 是正确的,首先清理数据将使您的子集比仅依赖行顺序更健壮。