gpt4 book ai didi

r - 查找多列具有相同值的行

转载 作者:行者123 更新时间:2023-12-05 01:03:40 25 4
gpt4 key购买 nike

library(tidyverse)
d = data.frame(x=c('A','B','C'), y=c('A','B','D'), z=c('X','B','C'), a=1:3)
print(d)
x y z a
1 A A X 1
2 B B B 2
3 C D C 3
d %>% filter(x==y) # Returns rows 1 and 2
d %>% filter(x==z) # Returns rows 2 and 3
d %>% filter(x==y & x==z) # Returns row 2

如何使用更简洁的语法对任意一组列执行最后一行的操作?例如 filter(all.equal(x,y,z)) 不起作用但表达了想法。

最佳答案

通过比较,在多列上,更简单的选择是取出一列 (x),同时通过循环 if_all 保留其余列,然后执行 ==,因此当该特定行的所有比较结果为 TRUE 时,它只会返回 TRUE

library(dplyr)
d %>%
filter(if_all(y:z, ~ x == .x))

关于r - 查找多列具有相同值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73900198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com