Уверен, что в этом вопросе были заданы стеки времени, но я не смог найти решение.R Как заменить значение переменной условно
Я пытаюсь условно заменить значение второй переменной на основе значения первой переменной. Вот данные.
MAKE Continent
1 HOLDEN US
2 HOLDEN US
3 FORD US
4 FORD US
if(gsample$MAKE == "HOLDEN") gsample$Continent = "AUS"
Предупреждение Сообщение:
In if (gsample$MAKE == "HOLDEN") gsample$Continent = "AUS" :
the condition has length > 1 and only the first element will be used
Вы можете использовать 'ifelse', который векторизован, т.е.' with (gsample, ifelse (MAKE == 'HOLDEN', 'AUS', Continent)) 'или просто' gsample $ Continent [gsample $ MAKE == 'HOLDEN '] <-' AUS'' (Предположим, что столбец является классом 'character'). Или быстрый вариант с использованием 'data.table' -' library (data.table); setDT (gsample) [MAKE == 'HOLDEN', Continent: = 'AUS'] ' – akrun
' gsample $ Continent <- ifelse (gsample $ MAKE == "HOLDEN", "AUS", gsample $ Continent) ' –
Thankyou Avinash Raj & akrun. –