У меня есть оператор if с нулевым результатом, но я продолжаю получать ошибки при попытке запустить код.
Например, у моей df есть два столбца цифры c со значениями в диапазоне от 0 до 100 Я хочу создать новый столбец на основе следующего псевдо-кода:
ifelse (df $ column1 == 0, NULL, df $ column2 / df $ column1)
Я пытался switch () , но когда я это делаю, я получаю сообщение об ошибке: EXPR должен иметь длину 1 вектор
Код переключателя:
df$column3 = switch((df$column1[i] != 0) + 1,
NULL,
df$column2/df$column1)
Когда я пытался поместить это в для l oop, чтобы посмотреть на каждую запись отдельно, я получаю еще одну ошибку (аналогичную той, которая была у меня при попытке ifelse (): ошибка в df $ column3 [i] <- n: замена имеет нулевую длину </p>
для l oop:
for (i in 1:nrow(df)) {
n = switch((df$column1[i] != 0) + 1,
NULL,
df$column2/df$column1)
df$column3[i] = n
}
Как настроить это значение для установки значения NULL в столбце, если оно не удовлетворяет определенным критериям.
Любой совет будет очень полезным, пожалуйста Спасибо!