0

例えば:

Data1:
      customer_id  product sales
1           1       mixer     3
2           2       mixer     3
3           3       mixer     3
4           4       toaster   3
5           5       toaster   2
6           6       lcd tv    2
7           7       lcd tv    1
8           8       lcd tv    1


Data2:

    customer_id       No_of_products_ordered    response
1           2                    two             positive
2           4                    two             positive
3           6                    two             negative
4           8                  three             positive
5          10                  three             positive
6          12                   five             negative
7          14                   five             negative

出力は次のようになります。

       customer_id  product sales

1           1       mixer     3
3           3       mixer     3
5           5       toaster   2
7           7       lcd tv    1

つまり、データ 2 にもあるデータ 1 から ID を削除します。

4

3 に答える 3

0

これは sqldf を使用したものです。

data5 <- sqldf("select a.customer_id , a.name
from Data1 a
left join Data2 b
on a.customer_id = b.customer_id
where b.No_of_products_ordered is null")

于 2013-08-12T10:25:42.993 に答える
0

私はさまざまなことを試し、この答えに行き着きました(マージを使用して):
data3 <- merge(x=Data1,y=Data2,by="customer_id",all.x=TRUE)
data4 <- data3[is.na(data3 $No_of_products_ordered),]

次の出力が得られます。

customer_id    name            product   sales      No_of_products_ordered  response
       1       Rahul Ranjan    mixer     3                   <NA>           <NA>
       3       P Paul          mixer     3                   <NA>           <NA>
       5       Sunny Tiwari    toaster   2                   <NA>           <NA>
       7       Ambreen Khan    lcd tv    1                   <NA>           <NA>
于 2013-08-12T10:02:39.053 に答える