Data.tableに、日付範囲でサブセット化したい大きなデータセットがあります。私のデータセットは次のようになります。
testset <- data.table(date=as.Date(c("2013-07-02","2013-08-03","2013-09-04",
"2013-10-05","2013-11-06")),
yr = c(2013,2013,2013,2013,2013),
mo = c(07,08,09,10,11),
da = c(02,03,04,05,06),
plant = LETTERS[1:5],
product = as.factor(letters[26:22]),
rating = runif(25))
yr
、mo
、またはda
列を使用せずに、as.Date
列から日付範囲を直接選択できるようにしたいと思います。現在、私はmo
によってサブセット化していますが、特に年が切り替わるときは非常に不格好です。これを行うよりエレガントな方法は、私の人生を限りなく楽にします。
前もって感謝します!
何故なの:
testset[date>="2013-08-02" & date<="2013-11-01"]
こちらもご覧ください:
?`%between%`
このように動作します:
testset[date %between% c("2013-08-02", "2013-11-01")]
あなたはサブセットをしていると述べましたが、Rでサブセットfnを使用しているかどうかは明確ではありません。
Rコンソールに?subsetと入力して、Rのサブセット()関数の詳細を確認します。この関数は、「条件を満たすサブセットのベクトル、マトリックス、またはデータフレームを返します」。次に、上記のトロイが投稿した方法の一部を使用して、日付範囲を選択します
thisYear <- subset(testset, date > "2015-01-01" & date < "2015-12-31")