我有两列。我想取col1 / col2,但有时col2中的值是0.我怎么能把它改为1.我想我可以创建一个运行if语句的函数,但这似乎不起作用。
我们可以使用简单的任务
df1$col2[df1$col2==0] <- 1
或者与ifelse
df1$col2 <- with(df1, ifelse(col2 == 0, 1, col2))
然后做分工
或者,如果它仅用于除法而不是永久更改值
with(df1, col1/(pmax(1, col2)))
假设没有负值,值是整数
df1 <- data.frame(col1 = 1:5, col2 = c(0, 1, 2, 0, 4))