【发布时间】:2018-03-05 02:47:53
【问题描述】:
我有两列。我想取 col1/col2,但有时 col2 中的值是 0。如何将其更改为 1。我想我可以创建一个运行 if 语句的函数,但这似乎不起作用。
【问题讨论】:
标签: r if-statement null
我有两列。我想取 col1/col2,但有时 col2 中的值是 0。如何将其更改为 1。我想我可以创建一个运行 if 语句的函数,但这似乎不起作用。
【问题讨论】:
标签: r if-statement null
我们可以使用一个简单的赋值
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))
【讨论】: