2

Rでサブセット化できない理由を突き止めようとしています。

私のデータセット Rdataset には、Epoch、Distance、および BaselineVectorID の 3 つの列があります。私がやりたいのは、エポックの複数の条件に基づいて距離をサブセット化することです。StackOverflow で複数の Q&A を確認し、データセットに対して多くの応答を試みましたが、どれも機能しませんでした。背景は次のとおりです。

まず、2007-11-15 から 2011-03-30 までのエポックで設定します

StartDate <- "2008-01-01"
as.numeric(as.Date(StartDate)); StartDate

次に、時間枠の期間を定量化します

ShortTermDuration <-  30
LongTermDuration  <- 365

次に、時間枠を定義します。

MonthAhead  <- as.Date(StartDate) + ShortTermDuration;  MonthAhead
MonthBehind <- as.Date(StartDate) - ShortTermDuration; MonthBehind

次に、サブセット化してより小さなデータセットを定義し、関連する結果で以下のさまざまな方法をそれぞれ試しました。

1.

Rdataset[Rdataset$Epoch >= "2008-01-01" & Rdataset$Epoch < "2008-02-01"]

結果:

data frame with 0 columns and 703 rows

2.

ShortTermDataset <- subset(Rdataset, Epoch>=MonthBehind & Epoch<=MonthAhead)

結果:

Warning messages:
1: In eval(expr, envir, enclos) :
Incompatible methods ("Ops.POSIXt", "Ops.Date") for ">="
2: In eval(expr, envir, enclos) :
Incompatible methods ("Ops.POSIXt", "Ops.Date") for "<="
[1] Epoch            Distance         BaselineVectorID
<0 rows> (or 0-length row.names)

3.

ShortTerm.df <- Rdataset[Epoch>=MonthBehind & Epoch<MonthAhead, ]

結果:

Error in `[.data.frame`(Rdataset, Epoch >= MonthBehind & Epoch < MonthAhead,  : 
object 'Epoch' not found

したがって、どの方法も機能しません。私の好きなテクニックは#3です。

明確にするために、私の質問は、好みの方法または他の方法のいずれかを使用してサブセット化するにはどうすればよいですか?

4

2 に答える 2

1

あなたはおそらくしたいです

ShortTermDataset <- subset(Rdataset, as.Date(Epoch) >=MonthBehind &
                                     as.Date(Epoch) <=MonthAhead)
于 2013-07-30T01:32:06.483 に答える