是否有一个函数可用于计算R中数组中的1的数量? 我一直在寻找可以节省开销的东西
count = 0;
myarray = c(1,1,0,1,0)
for(i in 1:length(myarray))
{
if(myarray[i] == 1)
{
count = count+1
}
}
答案 0 :(得分:6)
如果是二进制,
sum(!!myarray)
#[1] 3
或
sum(myarray) #based on comments from @thelatemail
如果不是二进制,
sum(myarray==1)
答案 1 :(得分:3)
当然还有table
或tabulate
:
myarray = c(1,1,0,1,0)
table(myarray)
# myarray
# 0 1
# 2 3
tabulate(myarray)
# [1] 3
此外,我更希望sum(as.logical(myarray))
使用!!
进行双重否定,因为在他的回答中使用了@akrun。