将因子转换为数字格式,带有R中的符号

时间:2016-03-02 19:44:22

标签: r

让我有这样一个数据帧(df),其中每个元素都是因子:

df
---
+100.5
+120.2
-30.0
+75.0
-600.3 

如何使用R将df转换为数字df?我很高兴得到任何帮助。非常感谢。

1 个答案:

答案 0 :(得分:1)

从因子到数值的转换有时很复杂,我认为通常需要先将因子转换为字符,然后转换为数值。

这应该有效:

df_n <- as.data.frame(as.numeric(as.character(df[,1])))
colnames(df_n) <- "df_n"

head(df_n)
#    df_n
#1  100.5
#2  120.2
#3  -30.0
#4   75.0
#5 -600.3
class(df_n[,1])
#[1] "numeric"

数据

df <- structure(list(df = structure(c(4L, 5L, 2L, 3L, 1L), 
     .Label = c("-600.3", "-30", "75", "100.5", "120.2"), 
      class = "factor")), .Names = "df", 
      row.names = c(NA, -5L), class = "data.frame")

希望这有帮助。