table1[, 1] <- sapply(table1[, 1], function(x) { if (all(grepl("^\\d+(\\.\\d+)?$", x))) { as.numeric(x) } else { x } })
时间: 2023-12-06 22:05:30 浏览: 68
R基础学习-控制流、函数、pply族1
这段代码会将表格 table1 的第一列中的所有字符串转换成数字(如果可以被解释为数字的话),并且将转换后的结果重新赋值给第一列。具体来说,它使用了 sapply 函数将第一列中的每个元素都传递给一个匿名函数进行处理。这个匿名函数会首先使用正则表达式判断这个元素是否可以被解释为数字,如果可以,则使用 as.numeric 函数将其转换成数字并返回;否则,直接返回原始字符串。最终,sapply 函数会将所有处理后的结果拼接成一个向量,并将其赋值给 table1 的第一列。
阅读全文