Если значение в любом столбце для строки автоматически помечает всю строку R - PullRequest
0 голосов
/ 28 марта 2020

Я помещаю в свой фрейм данных множество переменных, и если строка содержит значение 1 для любого столбца, мне нужно пометить эту строку. Какой хороший способ сделать это?

Ответы [ 2 ]

1 голос
/ 28 марта 2020

Вы можете использовать rowSums:

df$has_1 <- rowSums(df == 1, na.rm = TRUE) > 0
df

#  a b c has_1
#1 0 0 0 FALSE
#2 0 0 1  TRUE
#3 1 0 0  TRUE
#4 0 0 0 FALSE
#5 1 0 1  TRUE

data

df <- data.frame(a = c(0, 0, 1, 0, 1), b = 0, c = c(0, 1, 0, 0, 1))
0 голосов
/ 28 марта 2020

Мы можем использовать any с apply

df$has_1 <- apply(df, 1, any)

data

df <- data.frame(a = c(0, 0, 1, 0, 1), b = 0, c = c(0, 1, 0, 0, 1))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...