将数据帧的一列除以另一列:避免除以零

时间:2014-05-01 13:31:11

标签: r dataframe

我想通过另一列的相应值来分隔数据框中一列的值。只要第二列为0(零),结果就不应该是Inf而是NA。目前我有以下解决方案:

d<-data.frame(x=1:10, y=sample(0:1, 10, replace=TRUE))
d$z <- d$x / d$y
d[d$z==Inf,]$z<-NA

但是,有没有办法避免在第3个语句中用Inf替换NA,例如通过在第二个操作中使用类似条件语句的内容d$x / d$y

1 个答案:

答案 0 :(得分:2)

您可以使用ifelsey进行测试,然后根据该测试选择正确的操作,如下所示:

d$z<-ifelse(d$y==0, NA, d$x/d$y)
相关问题