R 检测一列的单元格是否与其他列的相应行相同

R 检测一列的单元格是否与其他列的相应行相同,r,tidyverse,R,Tidyverse,例如,我有一个数据框,我想知道列“x”中的单元格是否与其他列的对应行相同 mydf一个dplyr选项可能是: mydf %>% mutate(result = rowSums(select(., starts_with("y")) == x) > 0) x y_1 y_2 y_3 result 1 a a z q TRUE 2 b f x f FALSE 3 c g l d FALSE 4 d h q c FALSE

例如,我有一个数据框,我想知道列“x”中的单元格是否与其他列的对应行相同


mydf一个
dplyr
选项可能是:

mydf %>%
 mutate(result = rowSums(select(., starts_with("y")) == x) > 0)

  x y_1 y_2 y_3 result
1 a   a   z   q   TRUE
2 b   f   x   f  FALSE
3 c   g   l   d  FALSE
4 d   h   q   c  FALSE
5 e   k   n   e   TRUE

一个小提示:我在
data.frame()
函数中使用了
stringsAsFactors=FALSE
参数,因此没有将字符串转换为因子。

一个
dplyr
选项可能是:

mydf %>%
 mutate(result = rowSums(select(., starts_with("y")) == x) > 0)

  x y_1 y_2 y_3 result
1 a   a   z   q   TRUE
2 b   f   x   f  FALSE
3 c   g   l   d  FALSE
4 d   h   q   c  FALSE
5 e   k   n   e   TRUE

一个小提示:我在
data.frame()
函数中使用了
stringsAsFactors=FALSE
参数,因此没有将字符串转换为因子。

首先,转换为字符,这样我们就不会比较不同级别的因子

mydf[] <- lapply(mydf, as.character)

首先,转换为角色,这样我们就不会比较不同级别的因素

mydf[] <- lapply(mydf, as.character)
下面是另一个:

size=ncol(mydf)
我的函数这里是另一个:

size=ncol(mydf)
my_函数