Я хочу добавить новый столбец в фрейм данных df на основе условия из существующих столбцов, например,
df$TScore = as.factor(0)
df$TScore =
if_else(df$test_score >= '8.0', 'high',
if_else(!is.na(df$test_score), 'low', 'NA'))
Проблема, с которой я сталкиваюсь, заключается в том, что в некоторых случаях TScore - это то, чего я ожидалбыть «высоким», когда оценка 8 или выше, но в некоторых случаях это не правильно. Есть ли ошибка в приведенном выше коде? В этих данных много NA.
Я также борюсь с тем, как написать это с помощью dplyr (). Пока что я написал это:
df$TScore = df %>%
filter(test_score >= 8) %>%
mutate(TScore = 'high')
Но, как и следовало ожидать, размеры не совпадают. Следующая ошибка дана:
Error in `$<-.data.frame`(`*tmp*`, appScore, value = list(cluster3 = c(1L, : replacement has 126 rows, data has 236
Любой совет будет принята с благодарностью.