2015-10-19 2 views
1

Здесь я столкнулся с множеством вопросов, касающихся проблемы преобразования коэффициентов в числовые переменные, но ни один из них не касается того, что я пытаюсь сделать.R - Преобразование коэффициентов в числовое число с использованием сопоставления с образцом

Я хочу создать новый столбец в dataframe, который содержит числовые представления существующего фактора. Я пробовал:

df$num = as.numeric(df$factor) 

Который преобразовал факторы, но не заказывал их по мере необходимости. Как я могу однозначно определить числовое значение каждого фактора? Что-то вдоль линий:

df$num = ("1" if factor == "GB", "2" if factor == "YT", "3" if factor == "BF") 
+0

Если вы хотите указать числовое значение, вы должны избавиться от котировок вокруг 1,2 и 3. – CCurtis

+0

Вы просмотрели [levels] (https://stat.ethz.ch/R-manual /R-devel/library/base/html/levels.html) или [gl] (https://stat.ethz.ch/R-manual/R-devel/library/base/html/gl.html)? – David

+0

Воспроизводимый пример был бы восхитительным. –

ответ

0

Если у вас есть фактор переменной num с 3 уровнями (GB, YT, BF), которые вы хотите, чтобы проанализировать как числовой.

я решил аналогичную проблему путем преобразования в символ первого, напр:

df$num <- as.character(df$num) 

Тогда перекодирование числовых значений

df$num <- recode(df$num, "GB" = 1, "YT" = 2, "BF" = 3) 

Это не элегантное, но эта стратегия работала мою подобная проблема.