【发布时间】:2021-05-05 13:38:30
【问题描述】:
我是 R 新手,想了解为什么“ifelse”在我的情况下会失败。
我有一个经度和半径的向量。如果 lons = 0 则应计算 lons + (zrad/dxy)。
一些示例数据:
lons <- c(-80,4)
zrad <- c(747,576)
dxy <- 222
test <- ifelse(lons < 0 | lons >= 0, lons - (zrad/dxy), lons + (zrad/dxy))
View(test)
这给了我
1 -83.364865
2 1.405405
但是,lons - (zrad/dxy) 是
-83.364865 1.405405
而 lons + (zrad/dxy) 是
-76.635135 6.594595
但正确的结果应该是
-83.364865 6.594595
我是否需要使用 for 循环以便“测试”包含第一次和第二次计算的结果? 或者有没有更简单的方法来区分这两种情况(条件)?
【问题讨论】:
标签: r for-loop if-statement conditional-statements