列列表上的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!我将继续我的问题陈述。我正在努力添加示例。谢谢。我已经更新了示例。