R で文字列を日付に変換する方法 (例付き)
多くの場合、日付と時刻のデータを R にインポートする場合、値は文字列としてインポートされます。
R で文字列を日付に変換する最も簡単な方法は、次の構文を使用するas.Date()関数を使用することです。
like.Date(x, 形式)
金:
- x:単一の文字列値または文字列値のベクトル。
- format:日付に使用する形式。デフォルトは YYYY-MM-DD です。
R で?strftimeコマンドを使用すると、日付形式に使用できる使用可能な引数の完全なリストを表示できますが、最も一般的なものは次のとおりです。
- %d: 10 進数で表した日付 (01 ~ 31)
- %m: 10 進数で表した月 (01 ~ 12)
- %y:世紀のない年 (例: 04)
- %Y:世紀付きの年 (例: 2004)
このチュートリアルでは、 as.Date()関数の実際的な使用例をいくつか示します。
例 1: 単一の文字列を日付に変換する
次のコードは、単一の文字列値を日付に変換する方法を示しています。
#create string value x <- c(" 2021-07-24 ") #convert string to date new <- as.Date(x, format=" %Y-%m-%d ") new [1] "2021-07-24" #check class of new variable class(new) [1] “Date”
例 2: 文字列のベクトルを日付に変換する
次のコードは、文字列のベクトルを日付に変換する方法を示しています。
#create vector of strings x <- c(" 2021-07-24 ", " 2021-07-26 ", " 2021-07-30 ") #convert string to date new <- as.Date(x, format=" %Y-%m-%d ") new [1] "2021-07-24" "2021-07-26" "2021-07-30" #check class of new variable class(new) [1] “Date”
例 3: データ フレーム列を日付に変換する
次のコードは、データ ブロックチェーンの列を日付に変換する方法を示しています。
#create data frame df <- data.frame(day = c(" 2021-07-24 ", " 2021-07-26 ", " 2021-07-30 "), sales=c(22, 25, 28), products=c(3, 6, 7)) #view structure of data frame str(df) 'data.frame': 3 obs. of 3 variables: $ day: Factor w/ 3 levels "2021-07-24","2021-07-26",..: 1 2 3 $ sales: num 22 25 28 $products: num 3 6 7 #convert day variable to date df$day <- as.Date(df$day, format=" %Y-%m-%d ") #view structure of new data frame str(df) 'data.frame': 3 obs. of 3 variables: $day: Date, format: "2021-07-24" "2021-07-26" ... $ sales: num 22 25 28 $products: num 3 6 7
例 4: 複数の日付フレーム列を日付に変換する
次のコードは、データ ブロックチェーンの複数の列を日付に変換する方法を示しています。
#create data frame df <- data.frame(start = c(" 2021-07-24 ", " 2021-07-26 ", " 2021-07-30 "), end = c(" 2021-07-25 ", " 2021-07-28 ", " 2021-08-02 "), products=c(3, 6, 7)) #view structure of data frame str(df) 'data.frame': 3 obs. of 3 variables: $ start: Factor w/ 3 levels "2021-07-24","2021-07-26",..: 1 2 3 $ end: Factor w/ 3 levels "2021-07-25","2021-07-28",..: 1 2 3 $products: num 3 6 7 #convert start and end variables to date df[,c(' start ', ' end ')] = lapply (df[,c(' start ', ' end ')], function(x) as.Date(x, format=" %Y-%m-%d ")) #view structure of new data frame str(df) 'data.frame': 3 obs. of 3 variables: $start: Date, format: "2021-07-24" "2021-07-26" ... $end: Date, format: "2021-07-25" "2021-07-28" ... $products: num 3 6 7
この例で使用されているラップリー()関数の詳細については、こちらをご覧ください。
追加リソース
次のチュートリアルでは、R で日付を操作する方法に関する追加情報を提供します。