我有一大組數據,我已將它們分成一個列表。下面是從列表中元素的一個小樣本:如何將元素與另一行中的另一個元素和另一列中的另一個元素進行比較
>tes
Bike CheckoutKioskName Checkout_date_time ReturnKioskName Return_date_time
24627 1 67th & Pine 2013-03-12 17:54:22 Shop 2013-03-12 20:32:40
24847 1 67th & Frances 2013-05-17 10:31:44 67th & Frances 2013-05-17 10:51:53
24852 1 67th & Frances 2013-05-18 09:27:13 Aksarben Drive 2013-05-18 10:05:29
24864 1 Aksarben Drive 2013-05-18 10:47:13 Aksarben Drive 2013-05-18 10:52:24
24998 1 Aksarben Drive 2013-06-05 19:48:05 67th & Frances 2013-06-26 17:06:52
25434 1 67th & Frances 2013-06-26 19:10:28 67th & Frances 2013-06-26 20:08:09
我想比較ReturnKioskName
到下一行CheckoutKioskName
,如果他們不匹配,我想要兩個標誌的兩行,將它們放入一個新的數據幀。我試圖用幾種不同的方式來做到這一點,並希望避免創建一個新的數據框,只是爲了移動ReturnKioskName
。我曾嘗試使用:
tes <- tes[tes$CheckoutKioskName != lag(tes$ReturnKioskName),]
但是,這不給我輸出,我想。首選輸出應該如下所示:
24627 1 67th & Pine 2013-03-12 17:54:22 Shop 2013-03-12 20:32:40
24847 1 67th & Frances 2013-05-17 10:31:44 67th & Frances 2013-05-17 10:51:53
這應該是在這個小例子中,因爲這是他們唯一不匹配的時間。我計劃在我通過我的大列表('fz')的每個元素運行它之後,使用此過程創建這些實例的巨大列表。
我感謝您提前幫助您提供任何幫助。
同樣滯後的代碼沒有工作,它實際上給了很多不同的輸出,則基礎R版本。 – Brett
您是否可以提供最少的輸入,並使用提供的解決方案生成不正確的輸出,這將更容易排除故障。你可以在小數據集上使用'dput'並粘貼結果。這將使分析更快捷。 – steveb
我想這應該是對你的問題的編輯而不是答案。我正在使用您的示例,並提供了預期的輸出。 – akrun