假设我在 R 中有一个像这样的数据框
x = c(2, 3.432, 5)
y = c(4.5345, NA, "text")
z = c(8.13451, 3.12451, 6.12341)
A = data.frame(x, y, z)
如何将轮函数应用于数据帧的适当元素?
基本上我想:
我在很多地方都读到循环在 R 中不是一个好主意。
A$y[is.numeric(A$y)] <- round(A$y, digits = 3)
不起作用
最佳答案
我们可以试试 lapply
A[] <- lapply(A, function(x) if(is.numeric(x)) round(x, 3) else x)
如果我们需要更改
character/factor
中数字元素的格式类列也是A[] <- lapply(A, function(x) {
x1 <- type.convert(as.character(x), as.is=TRUE)
ifelse(grepl("^[0-9.]+$", x1), round(as.numeric(x1), 3), x1)})
关于r - 将轮函数应用于数据帧中的每个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41517987/