ベースマップ(TMap)に対して複数のマップを生成したいと思います。基本的に同じ地図ですが、週別に分類されています。scale_color_gradientのDateTimeの制限は、forループの中でのみ機能しません。
library(ggplot2)
library(ggmap)
library(lubridate)
map=TMap + geom_point(aes(x=Lon, y=Lat, size=count, color=as.Date(y$`2016-35`$DateTime)), data=y$`2016-35`, alpha=1) +
scale_colour_gradient(limits=as.Date(c(min(y$`2016-35`$DateTime), max(y$`2016-35`$DateTime))),low="navy", high="orange", name="Date", trans="date")
ggsave(map,path=dir,filename = paste("l","test",".png", sep=""))
Y =私が働いているデータフレームのリストです:
さて、ここでの基本コードです。
'2016-35' =これはちょうど1週間のデータ、つまりyリストのデータフレームの1つです。
データフレームのそれぞれ次のようになります。
Tower Tag_ID HourID count week Lon Lat DateTime day
T01 53 2016-38_3_22 95 2016-38 -94.44542 42.81252 2016-09-21 22:00:00 Wed
T01 53 2016-38_4_1 95 2016-38 -94.44542 42.81252 2016-09-22 01:00:00 Thurs
T01 53 2016-35_7_22 82 2016-35 -94.44542 42.81252 2016-08-28 22:00:00 Sun
T01 53 2016-35_7_21 177 2016-35 -94.44542 42.81252 2016-08-28 21:00:00 Sun
T01 53 2016-35_6_1 143 2016-35 -94.44542 42.81252 2016-09-03 01:00:00 Sat
> str()
'data.frame': 671 obs. of 9 variables:
$ Tower : chr "T01" "T01" "T01" "T01" ...
$ Tag_ID : int 53 53 53 53 53 53 53 53 53 53 ...
$ HourID : chr "2016-38_3_22" "2016-38_4_1" "2016-35_7_22" "2016-35_7_21" ...
$ count : int 95 95 82 177 143 103 75 85 107 162 ...
$ week : chr "2016-38" "2016-38" "2016-35" "2016-35" ...
$ Lon : num -94.4 -94.4 -94.4 -94.4 -94.4 ...
$ Lat : num 42.8 42.8 42.8 42.8 42.8 ...
$ DateTime: POSIXct, format: "2016-09-21 22:00:00" "2016-09-22 01:00:00" ...
$ day : chr "Wed" "Thurs" "Sun" "Sun" ...
私は一度に1週間それらを行う場合には、このコードは、私がしたい正確に何吐き出す:
BEA-美しい。しかし、それをforループに入れてみると、すべてsh * tになります。 ()C(分(のy $のNM [i]は$のDateTime)、最大(のy $のNM [i]は$のDateTime))as.Date.numericで エラー:
dir=choose.dir()
nm <- names(y)
for (i in 1:length(nm)) {
map=TMap + geom_point(aes(x=Lon, y=Lat, size=count, color=as.Date(y$nm[i]$DateTime)), data=y$nm[i], alpha=1) +
scale_colour_gradient(limits=as.Date(c(min(y$nm[i]$DateTime), max(y$nm[i]$DateTime))),low="navy", high="orange", name="Date", trans="date")
ggsave(map,path=dir,filename = paste("l",nm[i],".png", sep=""))
}
私は、次のエラーメッセージが表示されます: 'origin'を指定する必要があります
私が変更したのは、nm16 [35]と[2016-35]を入れ替えただけです。私は構文の周りにシフトしてみました。私はさまざまなエラーメッセージを受け取りますが、それは主に上記のものです。私は、原点を供給するとき、それは私がそれを置くどのような形式に関係なく、私は次のエラーを与えない
がcharToDateでエラーが発生しましたが、(X):。 文字列が
どれ手がかりにとして標準明確なフォーマットではありませんなぜこれがForループでうごめくだけになっているのか、大変感謝しています。ループを構造化してデータを読み込む必要がありますか?私は以下を使用する必要があります:
for i in seq_along(nm) #???
私は迷っています!