2017-08-31 7 views
0

個人の特定の日付範囲内にデータをプロットしようとしています。私はこれまでに働いたサンプルコードを貼り付けましたが、私はすべてのデータを壁にするわけではなく、ちょうど11/30/2016の後に何が起こるのですか。私はここに示した解決策(Select Data After Specific Date)を試しましたが、「エラー:無効な入力:date_transはDateクラスのオブジェクトのみで動作します」というメッセージが表示されます。何か案は?ggplot2で特定の日付範囲をプロット

mydf<- data.frame(Date = as.Date(Subject$date, format = "%m/%d/%Y"), 
        variable1 = (Subject$var1), 
        variable2 = (Subject$var2), 
        variable3 = (Subject$var3), 
        variable4 = (Subject$var4)) 

ggplot(mydf, aes(Date > "2016-11-30", variable1)) + 
    geom_point() + 
    stat_smooth(color = "blue", fill = "lightskyblue") + 
    theme(axis.title.x = element_blank()) + 
    ylab("") + xlab("")+ 
    ggtitle("Variable 1 units") + 
    scale_x_date(date_breaks = "months", 
       date_labels = "%b%y") + 
    theme_hc() 
+0

あなたは、データをサブセットする必要があり、ggplot 'のようなもの(mydf [mydfの$日> "2016年11月30日" 、]、aes(日付、変数1)) '。 'Date>" 2016-11-30 "'それ自身は 'TRUE' /' FALSE'値のベクトルを生成します。 – Marius

+0

データをサブセット化してからggplotにフィードしますか? – useR

答えて

2

このようなggplotにそれを供給しながらデータフレームをサブセット化してみてください。

ggplot(data=mydf[which(mydf$Date>"2016-11-30"),], 
     aes(x=Date, y=variable1)) + 
     geom_point() + 
     stat_smooth(color = "blue", fill = "lightskyblue") + 
     theme(axis.title.x = element_blank()) + 
     ylab("") + xlab("")+ 
     ggtitle("Variable 1 units") + 
     scale_x_date(date_breaks = "months", 
        date_labels = "%b%y") + 
     theme_hc() 
+0

"2016-11-30"は文字列です。 'as.Date(" 2016-11-30 "、format ="%Y-%m-%d ")'のようなものではないでしょうか? –

+0

ありがとう、それは言及するのが良い点ですが、このケースでは 'as.Date'の有無にかかわらず同じ方法で動作します。これをテストするには、 "2016-11-30"> "2016-11-29"のバリエーションを実行し、Rコンソールにtrue/falseを表示するかどうかを確認します。ここに示したケースは真である。 – www

+0

完璧!ありがとうございました – SportSci

関連する問題