Rでcsvファイルをインポートすると問題が発生します。
インポートする行の例:
2010-07-27;91
2010-07-26;93
2010-07-23;88
私はステートメントを使用します:
data <- read.csv2(file="...", sep=";", dec=".", header=FALSE)
このデータを、cbind
を使用した統計分析によって作成された他のデータと集計しようとすると、日付は因子としてインポートされたため、整数として表示されます。
as.character
を使用して文字列として表示しようとすると、数値データも文字に変換されるため、統計的手順には使用できません。
colClasses
引数を使用:
data <- read.csv2(file="...", sep=";", dec=".", header=FALSE,
colClasses=c("Date",NA))
NA
は「デフォルトとして続行」を意味します
インポート後、factor
をDate
に変換できます
data[[1]] <- as.Date(data[[1]])
おそらく、文字値を意味のある時間値に変換したいでしょう。その場合、POSIXt時間オブジェクトが適切な選択です。
あなたのデータファイルを考えると、私は次のようなことをします。
data <- read.table(file="...", sep = ";", as.is = TRUE)
data[,1] <- strptime(data[,1], "%Y-%m-%d")
詳細については、ヘルプでstrptimeを参照してください。
注:ファイルのすべてのプロパティを指定する場合は、read.tableを使用します。他のすべてのread.xxxバージョンの唯一の目的は、デフォルトが設定されているため、式を単純化することです。ここでは、デフォルトでsep = ';'になっているため、read.csv2を使用しました。したがって、再度指定しないでください。コマンドが存在する理由はそれだけです。個人的には、すべてのバリアントの名前/デフォルトを思い出せないため、read.tableのみを使用しています。あなたの場合、それはあなたのheaderとdecのデフォルトを満たすので、最も簡単な呼び出しでもあります。
追加 as.is=TRUE
からread.csv
呼び出し。