小编Min*_*Shi的帖子

将所有因子列转换为data.frame中的字符,而不会影响非因子列

例如,我有一个包含整数列和因子列的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函数来完成.但我仍然想知道为什么我的代码不能用于这种情况.

非常感谢您的任何建议!

r dataframe

5
推荐指数
1
解决办法
5077
查看次数

标签 统计

dataframe ×1

r ×1