x軸に日付、y軸に平均気温の値をとった時系列タイプのグラフをプロットしようとしています。私が作業しているデータフレームには、日付を表す2つの別個の変数があります。
year
整数値を含みます。たとえば、
month
1941、1942などは、「1月」、「2月」、「12月」を含む12レベルの因子変数です。
これは、dputを使用したデータセットのクリップです。申し訳ありませんが、ここで表示できるようにフォーマットする方法がわかりません。
structure(list(year = c(1941L, 1941L, 1942L, 1942L, 1942L), month = structure(c(11L,
12L, 1L, 2L, 3L), .Label = c("January", "February", "March",
"April", "May", "June", "July", "August", "September", "October",
"November", "December"), class = "factor"), meant = c(6.9, 6.5,
4.3, 2.9, 6.3)), row.names = c(NA, 5L), class = c("WeatherData",
"data.frame"))
これまでyear
、およびmonth
文字変数への変換を試みました。2つの文字変数を1つの文字変数に貼り付けてから、yrmonth
この変数を文字タイプから日付タイプに変換して、plot()
関数が日付を正しい形式でプロットできるようにしました。
# convert integer and factor variable to character variable
df$month <- as.character(df$month)
df$year <- as.character(df$year)
# for loop to paste two character variables to yrmonth
yrmonth <- vector(length = length(df$year))
for(i in 1:length(df$year)){
yrmonth[i] <- (paste(df$month[i], df$year[i]))
}
df$yrmonth <- yrmonth
# convert yrmonth to date format
df$yrmonth <- parse_date_time(yrmonth, orders = c('bdy', 'bY' ))
plot(df$yrmonth, df$meant, type = 'l')
df$meant
整数値の変数と同様に、時系列グラフを作成したいと思っています。上記のコードを実行すると、エラーが発生しますerror in plot.window(...) : Need finite 'xlim' values
日付変数の特性を考慮してグラフを作成する方法を誰かが提案できますか?
lubridateパッケージを使用すると仮定すると、それよりもはるかに簡単に日付を作成できます。
df$date = paste(rep(15, nrow(df)), df$month, df$year, sep="/")
# check that date column contains valid dates as strings
df$date = dmy(df$date)
# check that dates have been converted correctly
有効な日付を取得するために、日付を毎月15日に設定しました。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加