我使用 R 包broom
将我的结果作为 data.frame 从lm()
. 这很好用,但会导致我的ifelse
命令出现问题。在安装扫帚包之前运行良好的脚本如下:
df$newvariable <- ifelse((df$oldvariable == 0) | is.na(df$oldvariable), 0,
ifelse((df$oldvariable == 1), 1, df$newvariable))
现在它给出以下错误:
ifelse((df$oldvariable == 1), 1, df$newvariable) 中的错误:
替换长度为零此外:警告消息:1:未知列 'newvariable' 2:在 rep(no,length.out = length( ans)) : 'x' 为 NULL,因此结果将为 NULL
如果我不安装broom
软件包,我仍然可以避免这种情况。未对可能导致此问题的原始 data.frame 进行任何更改。
为什么broom
包会导致ifelse
命令失败?