У меня есть фактор переменной (точность с 2 уровнями: «0», «1»). Тем не менее, я по ошибке преобразовал в число, используя

Task_df_Acc_Exp$Accuracy <- as.numeric(Task_df_Acc_Exp$Accuracy)

Теперь, когда ищем переменную, похоже, что базовая внутренняя кодировка (1, 2) перезаписала исходные значения коэффициента.

Accuracy: Factor w/ 2 levels "1","2": 1 1 1 2 1 2 2 2 2 1 ...

Я попытался преобразовать обратно в факторную переменную, но эта переменная все еще является внутренней кодировкой (1, 2). Можно ли как-то преобразовать в фактор и восстановить исходные значения обратно? Считаете ли вы, что это может повлиять на любой последующий логистический анализ?

< Сильный > dput

Accuracy = structure(c(1L, 1L, 1L, 2L, 1L, 2L), .Label = c("1", "2"), class = "factor")
-2
azizi tamimi 28 Май 2019 в 11:36

2 ответа

Лучший ответ

Вот способ сделать это, оправдать снижение уровня на единицу:

levels(Task_df_Acc_Exp$Accuracy) <- as.numeric(levels(Task_df_Acc_Exp$Accuracy)) - 1
0
Clemsang 28 Май 2019 в 08:59

Попробуй это:

# decrease by one while it's numeric
Task_df_Acc_Exp$Accuracy = Task_df_Acc_Exp$Accuracy - 1    

# convert back to factor
Task_df_Acc_Exp$Accuracy <- as.factor(Task_df_Acc_Exp$Accuracy)

Дайте мне знать, если это работает или нет.

0
Leevo 28 Май 2019 в 08:58