列列表上的R-Dplyr

列列表上的R-Dplyr,r,dplyr,apply,R,Dplyr,Apply,我将两个数据帧合并,然后将所有.x列与所有.y列进行比较,以确保它们相同。我在下面留下了一个可复制的代码示例,其中包含一个输入示例和所需的输出。您可以看到,我正在使用dplyr来选择、变异、和筛选进行每列比较,然后将rbind组合在一起以获得一个df 我希望能够使用某种grep调用.x和.y的所有列,然后使用sapply循环所有列。有什么方法可以更优雅地做到这一点吗 library(dplyr) df <- data.frame(FoundOn = letters[1:10], Item

我将两个数据帧合并,然后将所有
.x
列与所有
.y
列进行比较,以确保它们相同。我在下面留下了一个可复制的代码示例,其中包含一个输入示例和所需的输出。您可以看到,我正在使用
dplyr
选择
变异
、和
筛选
进行每列比较,然后将
rbind
组合在一起以获得一个
df

我希望能够使用某种
grep
调用
.x
.y
的所有列,然后
使用sapply
循环所有列。有什么方法可以更优雅地做到这一点吗

library(dplyr)

df <- data.frame(FoundOn = letters[1:10], ItemId = 1:10,
                 Brand = rep(c("Nike", "UnderArmor"), 5),
                 Product = rep(c("shoes", "shorts", "hat", "shirt", "pants"),2),
                 color.x = c(rep(c("red", "green", "blue"), 3), "red"),
                 color.y = c(rep(c("blue", "green", "red", "red"), 2), "blue", "green"),
                 price.x = rep(c(100,50, 25, 60, 80), 2),
                 price.y = rep(c(125,50, 30, 60, 80), 2))

ColorCheck <- df %>%
  select(FoundOn, ItemId, Brand, Product, color.x, color.y) %>%
  mutate(Check = color.x == color.y, CheckFrom = "ColorCheck") %>%
  filter(Check == F)

PriceCheck <- df %>%
  select(FoundOn, ItemId, Brand, Product, price.x, price.y) %>%
  mutate(Check = price.x == price.y, CheckFrom = "PriceCheck") %>%
  filter(Check == F)

#desired output:
Checks <- rbind(ColorCheck %>% rename(From.x = color.x, From.y = color.y),
                PriceCheck %>% rename(From.x = price.x, From.y = price.y))
库(dplyr)
df%
变异(Check=color.x==color.y,CheckFrom=“ColorCheck”)%>%
过滤器(检查==F)
价格支票%
选择(FoundOn、ItemId、品牌、产品、price.x、price.y)%>%
变异(Check=price.x==price.y,CheckFrom=“PriceCheck”)%>%
过滤器(检查==F)
#期望输出:
检查%rename(From.x=color.x,From.y=color.y),
PriceCheck%>%重命名(From.x=price.x,From.y=price.y))

在寻求帮助时,您应该提供一个简单的示例输入和所需输出,用于测试和验证可能的解决方案。抱歉!我想你上次叫我@MrFlick!我将继续我的问题陈述。我正在努力添加示例。谢谢。我已经更新了示例。