R匹配数据框的值与另一个

时间:2018-04-02 16:44:21

标签: r dataframe merge

我是R的新手。我需要一种更快的方法来匹配两个数据帧,因为它们非常广泛。这是我想要做的一个例子。

clients <- c('client1', 'client2', 'client3')
prod1 <- c(1,0,2)
prod2 <- c(0,3,1)
prod3 <- c(2,0,1)
df1 <- data.frame(clients, prod1, prod2, prod3)

client1 <- c('prod1', 'prod2', 'prod3')
client2 <- c('prod2', 'prod1', 'prod3')
client3 <- c('prod1', 'prod3', 'prod2')
df2 <- data.frame(client1, client2, client3)

如果每个客户购买了产品,我想检查df2并删除df1中存在0的产品名称。输出应该是这样的:

client1 <- c('prod1', 0, 'prod3')
client2 <- c('prod2', 0, 0)
client3 <- c('prod1', 'prod3', 'prod2')
df3 <- data.frame(client1, client2, client3)

到目前为止,我只能通过匹配功能进行操作,并逐一检查匹配位置是否为0然后更换。我想知道是否有更有效的方法,因为我有成千上万的客户和成千上万的产品。非常感谢,我为此苦苦挣扎。

0 个答案:

没有答案