Мой набор данных состоит из ответов об опросах в колледже с такими столбцами, как «Карьера» и «Q1.a», где первая является принадлежностью колледжа (например, «Мед» или «Мед», Bus "или" UCol "), а последний записывает ответ участника на этот конкретный вопрос.R: Группа по условию + Изменить значения столбцов группы
Учитывая разнообразие вариантов карьеры, я хотел бы сгруппировать их так, чтобы все карьеры, начинающиеся с «U», группировались вместе, чтобы представлять студентов, в то время как те, которые начинаются с «G», представляют выпускников, а остальные - другие профессиональные школы. Мотивация заключается в том, чтобы увидеть, как эти разные группы ответили по-разному на различные вопросы опроса. Я не мог найти способ сделать это на месте, поэтому создал три разных кадра данных и модифицировал их с надеждой на их слияние позже. С этой целью, мой наивный подход был:
careers <- as.character(df$Career)
Ucol <- df[startsWith(careers,'U'),]
Ucol$Career = "UCOL"
Grad <- df[startsWith(careers,'G'),]
Grad$Career = "GRAD"
Rest <- df[(!startsWith(careers, 'U') & !startsWith(careers, 'G')),]
Rest$Career = "PROF"
Я надеялся, что я мог бы объединить Ucol, Град и отдых вместе, но это не похоже на работу. В частности,
new_data <- rbind(Ucol, Grad, Rest)
Но
summary(new_data)
уступает только
Class :character
, который не является полезным.
Итак, мой вопрос: как группировать по условию, а затем изменять имена этих сгруппированных значений столбцов?
я понял, что мог бы сделать Ucol $ Карьера = as.factor ("UCOL"), но спасибо @ joel.wilson за сжатое ответ. – chunjy92