R - Создать столбец и заполнить данными, сгруппированными из другого столбца - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть кадр данных в R, называемый hues. В нем есть столбец с именем color, который содержит несколько цветов в виде строк

Я пытаюсь создать новый столбец с именем colorez. Его значения будут именами групп на основе значений вцветной столбец

Мне не удалось правильно использовать ifelse для решения проблемы

hues$colorez <- ifelse(hues$"color == blue,red,purple,black, "primary")
            ifelse(hues$"color == yellow, "secondary")
            ifelse(hues$"color == pink,orange, "tertiary")

Ниже приведено описание того, что я хотел бы создать

color     colorez   
blue      primary
red       primary
yellow    secondary
purple    primary 
pink      tertiary
orange    tertiary
yellow    secondary
red       primary
black     primary
orange    tertiary
yellow    secondary

Ответы [ 2 ]

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

Если вы хотите сохранить некоторые данные, вы можете просто сделать:

hues$colorez <- ifelse(hues$color %in% c("pink", "orange"), "tertiary",
                       ifelse(hues$color == "yellow", "secondary", "primary"))

Предполагая, что у вас нет других цветов, кроме тех, которые указаны в вашем наборе данных, конечно.

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

Я думаю, что проще было бы использовать слияние или объединение.Если вы создадите второй фрейм данных с именем , например, colors, со столбцами color и colorez, как показано в вашем примере, то должно работать что-то вроде:

merge(hues, colors)

,при условии, что каждый hue$color находится в colors$color.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...