恢复因子变量原始值

restore a factor variable original values

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

dput

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

试试这个:

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

让我知道它是否有效。

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

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