/ /日付範囲を含む文字列を日付に変換し、Rの時間差を見つける-文字列、r、日付、部分文字列

日付範囲を含む文字列を日付に変換し、R - 文字列、r、日付、部分文字列

データの列があります:

dates  <- c("20140106_20140131", "20140106_20140331", "20140201_20140210",
"20140201_20140228", "20140211_20140220", "20140221_20140228",
"20140301_20140310", "20140301_20140331")

Rにこれらの変数が「日付から日付」形式であることを知ってもらいたい

質問

  1. 日付形式に変換するRコードを記述する方法例えば最初の変数:「01/06/2014〜01/31/2014」。
  2. 日付期間の計算方法は?

回答:

回答№1は0
# vector of your date ranges
dates <- c("20140106_20140131", "20140106_20140331", "20140201_20140210",
"20140201_20140228", "20140211_20140220", "20140221_20140228",
"20140301_20140310", "20140301_20140331")

library("stringr")
library("lubridate")

最初に、2列の日付を持つデータフレームを作成します。

date_frame <- data.frame(str_split_fixed(dates, "_", 2))

次に、文字列から日付を使用して変換します lubridate"s ymd() 関数。

date_frame$X1 <- ymd(date_frame$X1)
date_frame$X2 <- ymd(date_frame$X2)

時差の新しい列を作成します。

transform(date_frame, diff = X2 - X1)
X1         X2    diff
1 2014-01-06 2014-01-31 25 days
2 2014-01-06 2014-03-31 84 days
3 2014-02-01 2014-02-10  9 days
4 2014-02-01 2014-02-28 27 days
5 2014-02-11 2014-02-20  9 days
6 2014-02-21 2014-02-28  7 days
7 2014-03-01 2014-03-10  9 days
8 2014-03-01 2014-03-31 30 days