价值为负时的条件总和

时间:2017-11-22 13:10:34

标签: r

我是R.的新手。我正在弄清楚如何制定条件陈述。

如果列中的值为负数,则应该加起来为86400.

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

假设您的真实数据集是一个数据框,以下内容将起作用。您需要指定列(在此示例中为列b)并使用ifelse来评估值是否小于0,如果TRUE,则添加86400,否则返回原始值

# Create an example data frame
dt <- data.frame(a = "a", b = -3:3)
dt
#   a  b
# 1 a -3
# 2 a -2
# 3 a -1
# 4 a  0
# 5 a  1
# 6 a  2
# 7 a  3

# Add 86400 to negative value in column `b`
dt$b <- ifelse(dt$b < 0, dt$b + 86400, dt$b)
dt
#   a     b
# 1 a 86397
# 2 a 86398
# 3 a 86399
# 4 a     0
# 5 a     1
# 6 a     2
# 7 a     3

您也可以按如下方式编写上述代码。

dt$b <- with(dt, ifelse(b < 0, b + 86400, b))

答案 1 :(得分:0)

类似的东西:

df[,'col']=df[,'col']+ifelse(df[,'col']<0,86400,0)