【发布时间】:2014-11-11 22:47:23
【问题描述】:
我正在尝试构造一个 if 语句,如果除数大于零,它将计算一个语句,如果不是则返回零。 我确定我的花括号在正确的位置,但 R 一直给我一条警告消息,说
条件的长度 >1,并且只使用第一个元素。
我理解这意味着 R 只评估第一条语句并忽略 else 位,但我从我的数据中知道 if 条件中的变量肯定有零条目
这是我当前的代码
if (contributions$MEMCONTAMT > 0) {
contributions$CONTAMTRATIO <- contributions$EMPCONTAMT/contributions$MEMCONTAMT
} else {
contributions$CONTAMTRATIO==0
}
提前致谢
【问题讨论】:
-
看看
?ifelse,它是矢量化的。 -
猜猜你想要
=或<-作为 else 行。不是== -
建议提供示例数据和更完整的代码体。
-
变量 MEMCONTAMT 是一个数值变量,可以取任何值。我使用了 summary 命令,它的最小值为 -44,最大值为 740。没有 N/A
-
稍微短一点:contributions$CONTAMTRATIO 0, EMPCONTAMT/MEMCONTAMT, 0))
标签: r