Бинарное условное кодирование в Dplyr - PullRequest
0 голосов
/ 26 октября 2019

Я пытаюсь выполнить двоичное условное кодирование в R:

Допустим, мы хотим создать новые столбцы в наборе данных mtcars с именем binary_col, которые будут равны 1, если столбцы qsec больше или равны16 и 0.

Использование приведенного ниже кода не работает:

library(ggplot2)
library(dplyr)

df <- mtcars
df %>% head


df %>% mutate(binary_col = if (qsec >= 16) {
  binary_col = 1
})

df %>% head

Ответы [ 2 ]

2 голосов
/ 26 октября 2019

try

df%>% mutate (binary_col = ifelse (qsec> = 16, 1,0))

1 голос
/ 29 октября 2019

Вам не нужно использовать if_else для этого. Следующее работает совершенно нормально:

mtcars %>%
  mutate(binary_col = qsec >= 16)

Если вы хотите 0 и 1, вам просто нужно использовать as.integer() в двоичном векторе.

...