У меня есть ниже ДФMultiple IfElse заявление
var1 var2 a1 a2
1 a b y z
2 b a z y
3 b b z z
создан из следующего кода
help <- data.frame(var1 = c("a", "b", "b"), var2 = c("b", "a", "b"), a1 = c(y, z, z), a2 = c(z, y, z))
мое намерение состоит в том, чтобы создать IfElse заявление, в котором я нахожусь в состоянии (1) заменить все a1 значения to 'bp', когда var1 равно 'a', и (2) заменяют все значения a2 на 'bp', когда var2 равно 'a'. Я не хочу изменять значение, если var1 или var2 не является «a».
Является ли команда ifelse не лучшим способом решить эту проблему? Я начал делать каждый вручную, используя help$a1[help$a1 == "a"] <- "bp"
, однако это займет немного времени, поскольку у меня есть несколько переменных и большой набор данных. Любая помощь будет отличной.
Большое спасибо.
Сколько у вас правил замены? Моя дикая догадка заключается в том, что в вашем случае могут быть полезны дополнительные наборы данных с правилами. 'var1.rules <- c (a = 0, b = 1, c = 2)' и 'var2.rules <- c (a = 0, b = 1, c = 2)' –
Мне пришлось отредактировать сообщение немного из-за необходимости всех векторов символов. У меня есть 60 различных уникальных переменных, которые нужно изменить в var1 и var2 ... но не уверены, отвечает ли это на ваш вопрос ... – bpace
Вы имеете в виду, что имена ваших столбцов выглядят как 'c ('var1', 'var2', ' var3, ..., varN, a1, a2, строка в столбце «aX» равна «a» для любого X от 1 до N? –