У меня есть dataframe «домашние животные», который выглядит так:Как использовать значения в списке для динамического создания столбцов в фрейме данных с использованием каждого значения в R?
PERSON | WEEK | CAT | DOG | BIRD
------------------------------------------------
000001 | 2016-08-29 | CAT | 0 | 0
000002 | 2016-07-25 | 0 | DOG | BIRD
И в настоящее время у меня есть код, который заменяет все экземпляры «САТ», «DOG» и «птица» в соответствующих столбцах с 1 :
pets$cat <- ifelse(pets$cat== "cat", 1, 0)
pets$dog <- ifelse(pets$dog== "dog", 1, 0)
pets$bird <- ifelse(pets$bird== "bird", 1, 0)
Что я ищу сделать, это использовать уже определенный список, чтобы сделать весь этот процесс менее руководство, когда один день, я добавляю новую колонку под названием «LIZARD». Список, который я могу просто обновить любые изменения:
animals <- c("cat","dog","bird")
Есть ли способ в R, чтобы использовать этот список в основном запустить цикл, который делает «для каждого элемента в животных, запустить pet$item<- ifelse(pets$item== "item", 1, 0)
»?
Очень ценю помощь. Не удалось найти похожие вопросы.
'домашних животных [, животные] <- + (домашние животные [, животные] = 0!)' Являются столбцы только 0s и имя столбца или есть другие метки, кроме "0" и "САТ" в Например, колонка «CAT»? – rawr
@rawr Может быть, сравнение должно быть '! =" 0 "'? – lmo
@lmo 'all (factor (0) == 0, factor ('0') == 0, '0' == 0)' – rawr