2
こんにちは、変数Days2010:Days2015に日数を抽出しようとしています。開始日と終了日は、1年以上にわたる場合もあります。開始日と終了日が1年ごとに抽出され、年にまたがっていない可能性があります
df <- data.frame(BEGIN_DT = c("12/12/2013", "01/14/2013", "02/12/2012", "09/23/2013", "10/18/2013"),
END_DT = c("09/04/2015", "06/01/2013", "04/01/2013", "11/09/2015", "11/12/2014"))
rownames(df) <- c(16:20)
df$BEGIN_DT <- as.Date(df$BEGIN_DT, "%m/%d/%Y")
df$END_DT <- as.Date(df$END_DT, "%m/%d/%Y")
`BEGIN_DT END_DT
16 2013-12-12 2015-09-04
17 2013-01-14 2013-06-01
18 2012-02-12 2013-04-01
19 2013-09-23 2015-11-09
20 2013-10-18 2014-11-12`
So, for row 16, I would end up with
Days2012 = 19;
Days2013 = 365;
Days2014 = 365;
Days2015 = 246.
ありがとうございます!エキス年、日付のシーケンスを作成し、あなたが各行を通過
apply(df, 1, function(x) {
dates <- seq.Date(as.Date(x[1]), as.Date(x[2]), by = 'days')
table(format(dates, '%Y'))
}
)
とクロス集計を行います。ここでは
applyコマンドが既にリストを提供し、私は、データフレームに変換するためのコードを追加しましたオプション。 – Gopala
これは完璧です!あなたの非常に有益な答えに感謝します! – Borderlands54
はい、私はそれを最終的に考え出しました。ありがとうございました。私は今データフレームに持っています。今私はこれを私の実際のdfに適用する必要があります。再度、感謝します! – Borderlands54