修正方法: 文字列は明確な標準形式ではありません


R で発生する可能性のある一般的なエラーは次のとおりです。

 Error in as.POSIXlt.character(x, tz, ...): 
  character string is not in a standard unambiguous format

このエラーは通常、R のオブジェクトを日付形式に変換しようとしたときに、そのオブジェクトが現在文字または因子である場合に発生します。

このエラーを修正するには、まずオブジェクトをデジタルに変換する必要があります。

このチュートリアルでは、このエラーを実際に修正する方法を説明します。

エラーを再現する方法

R に次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (date=c('1459397140', '1464397220', '1513467142'),
                 sales=c(140, 199, 243))

#view data frame
df

        dirty date
1 1459397140 140
2 1464397220 199
3 1513467142 243

ここで、日付列の値を日付形式に変換しようとしているとします。

 #attempt to convert values in date column to date
df$date <- as. POSIXct (df$date, origin=' 1970-01-01 ')

Error in as.POSIXlt.character(x, tz, ...): 
  character string is not in a standard unambiguous format

現在、日付列の値が文字形式になっており、 as.POSIXct()関数で処理できないため、エラーが発生します。

エラーを修正する方法

このエラーを修正するには、 as.numeric()を使用して、最初に日付列の値を数値形式に変換する必要があります。これは、 as.POSIXctが処理できる形式です。

 #convert values in date column to date
df$date <- as. POSIXct (as. numeric (as. character (df$date)), origin=' 1970-01-01 ')

#view updated data frame
df

                 dirty date
1 2016-03-31 04:05:40 140
2 2016-05-28 01:00:20 199
3 2017-12-16 23:32:22 243

今回は、最初に値を数値形式に変換したため、エラーは発生せず、日付列の値を日付形式に正常に変換できます。

追加リソース

次のチュートリアルでは、R の他の一般的なエラーを修正する方法について説明します。

修正方法: オブジェクト (リスト) に「double」を強制的に入力することはできません
R での修正方法: ExtractVars の無効なテンプレート式
R での修復方法: 置換の長さはゼロです

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です