将数据框中带有数字的任何列转换为数值 (is.numeric)



我有一个很大的数据框,它是字符、整数和数字列的混合体。从我所看到的,我想成为数字的某些列并不总是数字。我可以手动转换每一个,但我想看看是否有办法检测包含数字的列,然后将其转换为数字。

如果您首先创建带有数字的列名向量,则可以使用 lapp。您可能需要手动创建此列名向量,而不是基于使用 is.numeric 搜索列来创建它,因为您的问题是它们的分类不正确。这是使用library(data.table).

cols <- c("var1", "var2", "var3", "var4")
DT[, (cols) := lapply(.SD, function(x) as.numeric(as.character(x))), .SDcols=cols]

最新更新