恢复因子变量原始值

时间:2019-05-28 08:36:15

标签: r numeric factors

我有因子变量(精度w / 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)的内部编码。无论如何,我可以转换为factor并将其恢复为原始值吗? 您是否认为这可能会影响后续的物流分析?

投放

Accuracy = structure(c(1L, 1L, 1L, 2L, 1L, 2L), .Label = c("1", "2"), class = "factor")

2 个答案:

答案 0 :(得分:0)

尝试一下:

# 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)

让我知道它是否有效。

答案 1 :(得分:0)

这是一种方法,只需将级别降低一个即可:

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