Группировка различных значений в столбце и создание нового столбца в R (аналогично AS в SQL) - PullRequest
0 голосов
/ 12 февраля 2019

новичок в R. Я пытался найти ответ на свой вопрос в течение последнего часа или около того, но не смог, поэтому я задам его здесь.Я хочу сгруппировать некоторые переменные в столбце и сохранить его в новом столбце.Я попытаюсь объяснить лучше на примере:

Предположим, у меня есть набор данных под названием Животные.

Animal_type  Name
  Lion       Leo
  Tiger      Tigre
  Lion       Leon
  Dog        Rex
  Hyena      Sid

Итак, в основном я пытаюсь сгруппировать типы животных в более распространенную группу, такую ​​как «Большие кошки».Я использую Tidyverse, и я попробовал это, но это не сработало:

   Animals <- Animals %>% mutate(Species = ifelse('Animal_Type' == 
"Lion" | 'Animal_Type' == "Tiger", "Big_Cat", ifelse('Animal_Type' == 
"Dog" | 'Animal_Type' == "Hyena", "Big_Dog", "Other_Animal")))

Однако, это не работает и меняет все на Other_Animal.Animal_type имел классовый фактор, но проблема не была устранена после того, как я попробовал его после изменения класса animal_type на персонаж.Это, наверное, очень легко, но я буду признателен за вашу помощь.

1 Ответ

0 голосов
/ 12 февраля 2019

R чувствителен к регистру имен.В данных «Animal_type» с небольшим «t», но в коде с верхним регистром «T».И переменные используются без кавычек в mutate.Так работает следующий код:

Animals <- Animals %>% mutate(Species = ifelse(Animal_type ==  "Lion" | Animal_type == "Tiger", "Big_Cat", 
                                    ifelse(Animal_type ==   "Dog" | Animal_type == "Hyena", "Big_Dog", 
                                           "Other_Animal")))
...