我從來沒有真正使用dplyr並想知道如何在以下上下文中使用它。所以,我有以下兩個數據幀:使用dplyr根據兩個數據幀中的一列中的公共值對數據進行子集合
trainData <- read.csv("train.csv", header = TRUE, stringsAsFactors = FALSE)
subscriptionData <- read.csv("subscriptions.csv", header = TRUE, stringsAsFactors = FALSE)
> head(trainData)
account.id total
1 001i000000NuOGY 0
2 001i000000NuS8r 0
3 001i000000NuPGw 0
4 001i000000NuO7a 0
5 001i000000NuQ2f 0
6 001i000000NuOQz 0
> head(subscriptionData)
account.id season package no.seats location section price.level total multiple.subs
1 001i000000LhyR3 2009-2010 Quartet 2 San Francisco Premium Orchestra 1 1.0 no
2 001i000000NuOeY 2000-2001 Full 2 San Francisco Orchestra 2 2.0 no
3 001i000000NuNvb 2001-2002 Full 2 Berkeley Saturday Balcony Front 3 2.0 no
4 001i000000NuOIz 1993-1994 Quartet 1 Contra Costa Orchestra 2 0.5 no
5 001i000000NuNVE 1998-1999 Full 2 Berkeley Sunday Balcony Rear 4 2.0 no
現在我想利用基於trainData
的account.id
的subscriptionData
子集。我基本上想要採取subscriptionData
與account.id
子集也存在於trainData
。
我知道這是一個非常基本的問題,但我是全新的dplyr,並沒有任何線索。
'subscriptionData%>%的過濾器(account.id在%$ trainData%account.id)'假設ID是唯一的。 – KFB 2014-11-03 04:56:02
@hmi你可以使用'inner_join',即'inner_join(subscriptionData,trainData [,'account.id',drop = FALSE],by ='account.id')' – akrun 2014-11-03 06:05:46
謝謝你們。解決了它:) – hmi 2014-11-03 08:38:56