如果 df 的至少两列相等,但以动态方式过滤数据帧。
假设以下数据框:
data.frame(Var1 = c(1,1,1,2,3,4,4),Var2=c(1,2,6,8,2,5,4),Var3=c(1,3,5,6,7,5,6))
Var1 Var2 Var3
1 1 1 1
2 1 2 3
3 1 6 5
4 2 8 6
5 3 2 7
6 4 5 5
7 4 4 6
Run Code Online (Sandbox Code Playgroud)
我想保留根本不相等的值,因此如果至少有两列按行相等,它们将被删除。最终结果应该是:
Var1 Var2 Var3
2 1 2 3
3 1 6 5
4 2 8 6
5 3 2 7
Run Code Online (Sandbox Code Playgroud)
由于我的数据框中的列数应该增加,因此如果它是受 mutate(across()) 语句启发的动态内容,那就更好了。
非常感谢
小智 5
library(tidyverse) \n\ndf %>% \n rowwise() %>% \n filter(n_distinct(c_across()) > 2)\n\n# A tibble: 4 \xc3\x97 3\n# Rowwise: \n Var1 Var2 Var3\n <dbl> <dbl> <dbl>\n1 1 2 3\n2 1 6 5\n3 2 8 6\n4 3 2 7\n
Run Code Online (Sandbox Code Playgroud)\n