对于文本数据集,我需要为每行返回True或False,如下所示:
df<-data.frame(c("blue","green","red"),c("red","green","blue"))
names(df)<-c("df.x","df.y")
df
df.x df.y
1 blue red
2 green green
3 red blue
结果需要为True或False并添加到data.frame中。最简单的方法是什么?
由于
答案 0 :(得分:0)
library(plyr)
library(dplyr)
df <- df %>% mutate(df.equal = ifelse(x == y, "True", "False"))
根据您以后是否要将该数据用作布尔值,您还可以使用...
df <- df %>% mutate(df.equal = ifelse(x == y, TRUE, FALSE))
答案 1 :(得分:0)
使用基础R
和within
:
df <- within(df, {
df.z = df.x == df.y
})
df
这会产生
df.x df.y df.z
1 blue red FALSE
2 green green TRUE
3 red blue FALSE
答案 2 :(得分:0)
或者我们可以将do.call
与==
df$df.z <- do.call(`==`, df)
df$df.z
#[1] FALSE TRUE FALSE