データセットの例:AからBへ、または逆の順序で移動したデータセット。私は以下のコードに従って私が行った私の旅行パスをプロットしたいと思います。さらに、BとCの距離がAとBよりも大きいことを示すために、yスケールを幾分持っていきたいと思います。旅行ルートはすべての人にとって等しいとみなすことができます。また、私のループのためのいくつかのフィードバックと代替ソリューションに感謝します。ループの回避とggplotのスケールの変更とプロット
マイコード:
library(ggplot2)
df <- data.frame(Checkpoint = rep(c("A", "B", "C"), 3),
Route = as.factor(rep(1:3, each = 3)),
Times = as.POSIXct(c("4:10", "4:25", "5:00", "8:00", "8:22",
"9:00","10:00", "10:15", "10:50"), format = "%H:%M"))
df[7:9,1] <- rev(df[7:9,1])
# If travelled from A to C, then F1, F2
df$Direction <- NA
for(i in 1:length(levels(df$Route))){
y <- which(df$Route == i)
x <- filter(df, Route == i)
l <- ifelse(x[x$Checkpoint == "A", "Times"] < x[x$Checkpoint == "B", "Times"], "F1", "F2")
df$Direction[y] <-l
} ; rm(y,x,l,i)
ggplot(df, aes(x=Times, color = Route, y= Checkpoint, group=Route)) +
geom_line() +
theme_light()
? –
私はこのプロットが何であるか分かりませんが、スケールを変更するのではなく、チェックポイント(およその見積もり)とプロットの距離(x)と時間(y)の間の距離を取得する方が論理的でしょうか? – Wave
@Waveまさに私がやりたいことです。しかし、私はY軸上にチェックポイントA/B/Cを残したいと思っています。 – MLEN