我有一些数据框,其中有一些数字列是因式分解的,我需要将它们转换为数字。下面是一个示例:将因子转换为数字而忽略nas
y <- structure(list(y = structure(c(2L, NA, 3L, 1L, 4L, 2L), .Label = c(" 1,000,000.00 ", " 1,200,000.00 ", " 150,000.00 ", " 200,000.00 "), class = "factor")), .Names = "y", row.names = c(NA, -6L), class = "data.frame")
数据帧中包含NAS,所以当我尝试因子水平转换成数字,我得到的所有NAS的回报。这是我试过的。
y <- as.data.frame(y)
y <- as.numeric(levels(y))
y$y <- as.numeric(levels(y$y)[y$y])
而且这只返回NA。如何将这些因子水平转换为数字,同时将nas保留为na?
你会需要摆脱所有的逗号首先,如果你想使用'as.numeric',例如'gsub'。 – joran