R(指示符)中的条件语句基于与另一个数据集不匹配的值

R(指示符)中的条件语句基于与另一个数据集不匹配的值,r,logic,conditional,R,Logic,Conditional,我有两个数据集 数据集1,带列FROUT,customer_num 数据集2,第2列,客户数量 假设我使用customer_num作为联接者,对数据集1到数据集2进行左联接。现在我得到了一个数据集,其中fruit和fruit2是列变量 如何创建一个指示符来表示如果fruit==fruit2那么1或者0 ifelse最简单,假设它位于同一数据帧中。使用dplyr包的示例 dataset1 %>% mutate(Match=ifelse(fruit==fruit2,1,0))

我有两个数据集

数据集1,带列FROUT,customer_num

数据集2,第2列,客户数量

假设我使用customer_num作为联接者,对数据集1到数据集2进行左联接。现在我得到了一个数据集,其中fruit和fruit2是列变量


如何创建一个指示符来表示如果fruit==fruit2那么1或者0

ifelse最简单,假设它位于同一数据帧中。使用dplyr包的示例

    dataset1 %>%
    mutate(Match=ifelse(fruit==fruit2,1,0))
这将创建一个名为Match的列,如果匹配,则执行1;如果不匹配,则执行0。您可以这样做(我的示例):

#我创建了customer_num的示例,其中我假设这是数字

水果
dataset1$fruit==dataset2$fruit2
?否则,请尝试添加一个。由于某些原因,它不会将匹配列写入我的DataFrame(我认为我缺少一个结尾)。更新了我的回复
# I've created example of customer_num where I presumed that this are numbers
fruit <- data.frame(customer_num = c(1, 2, 3, 4, 5, 6))
fruit2 <- data.frame(customer_num = c(1, 2, 3, 10, 11, 12))

# Vector in data frame
df <- data.frame(fruit, fruit2)

# And match values / Indicator
dat<-within(df,match <- ifelse (fruit == fruit2,1,0))

# Output
  customer_num customer_num.1 customer_num
1            1              1            1
2            2              2            1
3            3              3            1
4            4             10            0
5            5             11            0
6            6             12            0