首页 > 解决方案 > R dplyr 查找所有变异的行

问题描述

我想识别 tibble 之后已更改的所有行 mutate。我的真实数据有多个列,并且mutate函数一次更改多个列。

# library 
library(tidyverse)

# get df
df <- tibble(name=c("A","B","C","D"),value=c(1,2,3,4))

# mutate df
dfnew <- df %>% 
  mutate(value=case_when(name=="A" ~ value+1, TRUE ~value)) %>% 
  mutate(name=case_when(name=="B" ~ "K", TRUE ~name))

reprex 包(v0.3.0)于 2020-04-26 创建

现在我寻找一种方法来比较dfwith的dfnew所有行并识别所有行至少有一个变化。

所需的输出将是:

# desired output:
# 
# # A tibble: 4 x 2
# name  value
# <chr> <dbl>
# 1 A         2
# 2 K         2

标签: rdplyr

解决方案


你可以做:

anti_join(dfnew, df)

  name  value
  <chr> <dbl>
1 A         2
2 K         2

推荐阅读