首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >涉及数字(0)值的加法

问涉及数字(0)值的加法
EN

Stack Overflow用户
提问于 2020-10-07 09:57:23
回答 2查看 327关注 0票数 3

假设x是一个实数,或一个向量。I是有价值的--False。然后xi将返回numeric(0)。我想把它当作一个实数0,或者整数0,它们都适合加法。

与任何实数相加的numeric(0)将返回numeric(0),而我希望获得被相加的实数作为结果。如何转换数值(0)?提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-07 09:58:40

只有当我们做+的时候,它才是一个问题。如果我们使用sum就可以避免这种情况

代码语言:javascript
复制
sum(numeric(0), 5)
#[1] 5
sum(numeric(0), 5, 10)
#[1] 15

或者,如果我们需要使用+,一个简单的选择是与0连接,选择第一个元素。如果元素为numeric(0),则替换为0,对于其他情况,第一个元素保持不变

代码语言:javascript
复制
c(numeric(0), 0)[1]
#[1] 0

使用一个小示例

代码语言:javascript
复制
lst1 <- list(1, 3, numeric(0),  4, numeric(0))
out <- 0
for(i in seq_along(lst1)) {
       out <- out + c(lst1[[i]], 0)[1]
  }

out
#[1] 8
票数 2
EN

Stack Overflow用户

发布于 2020-10-07 15:54:48

当input为numeric(0)时,您可以使用带有0的max/min来获取0作为输出。

代码语言:javascript
复制
x <- 1:10
max(x[FALSE], 0)
#[1] 0

min(x[FALSE], 0)
#[1] 0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64236145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档