У меня есть фрейм данных с факторных переменныхКак создать логическую переменную на основе логического состояния?
> a <- c("a", "b", "c")
> b <- c("c", "b", "a")
> df <- as.data.frame(cbind(a,b))
> df$a <- as.factor(df$a)
> df$b <- as.factor(df$b)
> df
a b
1 a c
2 b b
3 c a
я создаю новую логическую переменную на основе подобия вар а и вар б.
> df$result <- isTRUE(df$a == df$b)
Но я получаю результат:
> df
a b result
1 a c FALSE
2 b b FALSE
3 c a FALSE
Когда я ожидал
> df
a b result
1 a c FALSE
2 b b TRUE
3 c a FALSE
(я использую факторы, чтобы повторить свои реальные данные)
Что я делаю неправильно? Как я могу достичь своей цели определения аналогичных переменных? Благодаря
Большое спасибо @akrun, это работает! Является ли() надежным для использования внутри функции? – jpinelo
@jpinelo Я думаю, это должно сработать. Я использовал 'with', чтобы избежать вызова' df $ 'каждый раз. BTW, если вы используете это внутри функции, не используйте usign '$' и вместо этого используйте '[' – akrun
Конечно, большое спасибо @akrun. – jpinelo