考虑以下代码:
x=c(1,1,1,2,2,2,2,5,5,5,5,5)
x
# [1] 1 1 1 2 2 2 2 5 5 5 5 5
sum(x==1,2)
# [1] 5
sum(x==1,2)
在做什么?
答案 0 :(得分:4)
查看help(sum)
,我们看到所有未命名为na.rm
的参数都在...
参数中,这意味着该函数将尝试添加它们。
您正在传递sum
向量c(x==1, 2)
。在此向量中,x==1
返回的逻辑向量将转换为数字类型,然后获取总和。
> x
## 1 1 1 2 2 2 2 5 5 5 5 5
> x==1
## TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
> c(x==1, 2)
## 1 1 1 0 0 0 0 0 0 0 0 0 2
> sum(c(x==1,2))
## 5
> sum(x==1,2)
## 5