小编Atu*_*sal的帖子

if else语句和if_else的不同行为

我试图创建一个函数,将数据框的数据类型转换为factor如果列是类型,char否则我没有改变任何东西.但这里的问题是我能够对if else语句做同样的事情,但是if_else这里没有使用语句是同一个注释的代码 - 我正在使用titanic数据集

changetype = function(x)
  if(class(x) == "character") as.factor(x) else x
changetype2 = function(x)
  if_else(is.character(x),as.factor(x),x)
result1  = sapply(Train$Embarked, changetype)
result2  = sapply(Train$Embarked, changetype2)
Run Code Online (Sandbox Code Playgroud)

result1工作正常,但result2给我一个错误

Error: `false` has type 'character' not 'integer'
Run Code Online (Sandbox Code Playgroud)

请帮忙谢谢

if-statement r dplyr

3
推荐指数
1
解决办法
124
查看次数

标签 统计

dplyr ×1

if-statement ×1

r ×1