无效的长度参数

Invalid Length Argument

我想将数据框的所有列转换为数字格式。所以我使用 lapply

 data.frame(lapply(dat, numeric))

但是我看到了一个无效长度参数错误。 但是,当我尝试使用单个列时它正在工作。

 lapply(dat$x.Type, numeric)

但是我又想知道如何用这个更新原始数据框。

我猜我的问题的解决方案是 运行 一个循环应用 lapply 到所有列。 问题是我不知道该怎么做。

有人可以帮我吗?

尝试使用 as.numeric 而不是 numeric:

dat <- as.data.frame(lapply(dat, as.numeric))

如果您已有数据框,另一个不错的选择:

library(dplyr)
dat <- dat %>% mutate_all(as.numeric)