2017-06-15 82 views
0

我是這個論壇的新手,所以如果我在第一次啓動時沒有得到我的問題,請原諒。我在論壇上已經研究過尋找我的問題的答案,但還沒有找到合適的解決方案。
我想比較兩個使用線性迴歸和散點圖的時間序列。時間序列應每2分鐘進行一次測量,但實際情況如此,有時數據記錄器根本不寫入數值,有時僅在3分鐘後寫入數值。所以我試圖找到所有對(x,y)具有相同的時間戳並消除其餘的。R時間序列不同長度的散點圖

   Time   x 
1 2016-08-15 09:58:00 2.7421 
2 2016-08-15 10:02:00 2.7731 
3 2016-08-15 10:04:00 2.7603 
4 2016-08-15 10:06:00 2.7426 
5 2016-08-15 10:08:00 2.7481 
6 2016-08-15 10:10:00 2.7294 
7 2016-08-15 10:12:00 2.7428 
8 2016-08-15 10:15:00 2.7371 
9 2016-08-15 10:16:00 2.7677 
10 2016-08-15 10:18:00 2.7449 



      Time   y 
1 2016-08-15 10:00:00 1.3656 
2 2016-08-15 10:02:00 1.3680 
3 2016-08-15 10:04:00 1.3785 
4 2016-08-15 10:06:00 1.3819 
5 2016-08-15 10:08:00 1.3720 
6 2016-08-15 10:10:00 1.3702 
7 2016-08-15 10:12:00 1.3550 
8 2016-08-15 10:14:00 1.3696 
9 2016-08-15 10:16:00 1.3603 
10 2016-08-15 10:18:00 1.3813 

在此示例中,應取消1和8的值。

回答

0

用散點圖:

ndf = merge(df1, df2, by = "Time", all = FALSE) 

p = ggplot(ndf, aes(x, y)) + 
    geom_point(colour = "red", size = 2) 

p 
+0

謝謝!這對我有效。可能值得一提的是,這僅適用於日期的POSIXct格式,而不適用於POSIXlt格式。 – Janite

0
> library(lubridate) 

Attaching package: ‘lubridate’ 

The following object is masked from ‘package:base’: 

    date 


> df1$Time=mdy_hm(paste(df1$Time)) 
> df1 
        Time  x 
1 2016-08-15 09:58:00 2.7421 
2 2016-08-15 10:02:00 2.7731 
3 2016-08-15 10:04:00 2.7603 
4 2016-08-15 10:06:00 2.7426 
5 2016-08-15 10:08:00 2.7481 
6 2016-08-15 10:10:00 2.7294 
7 2016-08-15 10:12:00 2.7428 
8 2016-08-15 10:15:00 2.7371 
9 2016-08-15 10:16:00 2.7677 
10 2016-08-15 10:18:00 2.7449 

> df2$Time=mdy_hm(paste(df2$Time)) 
> df2 
        Time  y 
1 2016-08-15 10:00:00 1.3656 
2 2016-08-15 10:02:00 1.3680 
3 2016-08-15 10:04:00 1.3785 
4 2016-08-15 10:06:00 1.3819 
5 2016-08-15 10:08:00 1.3720 
6 2016-08-15 10:10:00 1.3702 
7 2016-08-15 10:12:00 1.3550 
8 2016-08-15 10:14:00 1.3696 
9 2016-08-15 10:16:00 1.3603 
10 2016-08-15 10:18:00 1.3813 


> merge(df1,df2,by="Time") 
        Time  x  y 
    1 2016-08-15 10:02:00 2.7731 1.3680 
    2 2016-08-15 10:04:00 2.7603 1.3785 
    3 2016-08-15 10:06:00 2.7426 1.3819 
    4 2016-08-15 10:08:00 2.7481 1.3720 
    5 2016-08-15 10:10:00 2.7294 1.3702 
    6 2016-08-15 10:12:00 2.7428 1.3550 
    7 2016-08-15 10:16:00 2.7677 1.3603 
    8 2016-08-15 10:18:00 2.7449 1.3813