例如,我有一个包含整数列和因子列的data.frame.
data <- data.frame(
a = 1:5,
b = factor(c("a", "b", "c", "d", "e")),
c = factor(c("f", "g", "h", "i", "j")))`
Run Code Online (Sandbox Code Playgroud)
我想将b和c因子列转换为字符,并将列a保持为整数.
我尝试了以下代码:
sapply(data, function(x) {if_else(is.factor(x), as.character(x), x)})
它没有得到结果,而是抛出一个错误:
错误:
true
必须是长度1(长度condition
),而不是5
我知道这可以通过dplyr中的mutate_if函数来完成.但我仍然想知道为什么我的代码不能用于这种情况.
非常感谢您的任何建议!