Я застрял в простом аргументе проблемы с функцией ifelse
в R. Я новый пользователь R, и я пытаюсь заполнить пробелы в столбце («первый столбец») в зависимости от значения в другом столбце («второй столбец»).R и функция ifelse
Как я пытаюсь ifelse
функцию, я получаю эту ошибку "argument "no" is missing, with no default"
Все, что мне нужно: если тест (условие) ЛОЖЬ, держать значения (от переменной фактора) в «первой колонке» как они есть.
Это пример моего кадра данных, который имеет ~ 6000 набл
#
# first second third
# 1 Cluster 1 Chest Pain 1
# 2 Coronary Artery Diseases 1
# 3 Cluster 6 Anemia 5
# 4 Cluster 7 Hypertension and Cerebrovascular Disease 4
# 5 Chronic Obstructive Pulmonary Disease 2
# 6 Cluster 5 Diabetes 10
Моя попытка является
sample$first= ifelse(sample$second=="Coronary Artery Diseases","Cluster 10",sample$first)
Результатом этого является заполнение «кластера 10» в первом столбце, если есть «Болезни коронарной артерии» во втором столбце, но все остальное обследование в первом столбце я получаю. Проблема в том, что «первая» - это фактор-переменная, и мне нужно, чтобы она была фактором.
Любые предложения?
данные
sample <- structure(list(first = c("Cluster 1", "", "Cluster 6", "Cluster 7",
"", "Cluster 5"), second = c("Chest Pain", "Coronary Artery Diseases",
"Anemia", "Hypertension and Cerebrovascular Disease",
"Chronic Obstructive Pulmonary Disease", "Diabetes"),
third = c("1", "1", "5", "4", "2", "10")),
.Names = c("first", "second","third"),
class = "data.frame", row.names = c(NA, -6L))
Можете ли вы показать свой код, пожалуйста. Но должен быть по строкам 'ifelse ((первый столбец пуст), (второй столбец), (первый столбец))' или с использованием подмножества 'firstcolumn [(первый столбец пуст)] <- второй столбец' – user20650
Спасибо за ваш Обновление, для проблемы в вашем обновлении вы можете обойти проблему 'factor', используя' as.character', например: 'sample $ first = ifelse (sample $ second ==" Болезни коронарной артерии "," Кластер 10 " , as.character (пример $ first)). Если это не поможет. не могли бы вы опубликовать свой ожидаемый результат, пожалуйста, спасибо – user20650
Спасибо !!! оно работает! НО У меня есть один вопрос. Если я использую функцию as.character, это не изменяет характер моей переменной, которая является фактором один? –