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