0

日付に基づいて新しい変数「PERIOD」を作成しようとしています。サンプルデータを以下に示します。

Date
1/10/2012
1/11/2012
1/12/2012
1/13/2012
1/14/2012
1/15/2012
1/16/2012
1/17/2012
1/18/2012

新しいデータセットを調整すると、次のようになります。

  Date      PERIOD
1/10/2012     Y1
1/11/2012     Y1
1/12/2012     Y1
1/13/2012     Y1
1/14/2012     Y1
1/15/2012     Y2
1/16/2012     Y2
1/17/2012     Y2
1/18/2012     Y2

私が使用していたコードは

dat$PERIOD<-{If '1/10/2012' <=  as.Date(dat$Date) <= '1/14/2012' dat$PERIOD='Y1' else
    If '1/15/2012' <=  as.Date(dat$Date) <= '1/18/2012'dat$PERIOD='Y2'
}

しかし、エラーが発生します:

Error: unexpected string constant in dat$PERIOD<-{If '1/10/2012'

ありがとうございました。よろしく、

4

1 に答える 1

2

?as.Date正しい日付形式については、を参照してください。
あなたの条件文はほとんど間違っています。Rでは大文字と小文字が区別されます。を使用する必要がありますif。以下のサンプルコードを見つけてください。

d <- data.frame(Date=as.Date(paste(2012, 1, 10:18, sep="/")), stringsAsFactors=FALSE)
d$PERIOD <- ifelse(as.Date("2012/1/15") > d$Date, "Y1", "Y2")
于 2012-10-14T08:27:33.800 に答える