让我有这样一个数据帧(df),其中每个元素都是因子:
df
---
+100.5
+120.2
-30.0
+75.0
-600.3
如何使用R将df转换为数字df?我很高兴得到任何帮助。非常感谢。
答案 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")
希望这有帮助。