使用R中的向量创建While循环

使用R中的向量创建While循环,r,loops,while-loop,sequence,R,Loops,While Loop,Sequence,如何创建一个while循环来测试序列中的每个项目?目标是查看序列中有多少是偶数。在R中,您应该尽可能避免循环。 在您的例子中,如果有一个名为v的向量,则有一个没有循环的解决方案 sum(v%%2==0) 会给你你想要的。 v%%2==0返回一个与v长度相同的向量,其中TRUE where偶数,FALSE where不偶数。取它的总和计算出数字或真元素,这就是你的答案 正如@fmarm所说,在R中使用矢量化操作始终是首选。但是,如果您真的想使用while循环来实现这一点(或者如果您只是将此示例用

如何创建一个
while
循环来测试序列中的每个项目?目标是查看序列中有多少是偶数。

在R中,您应该尽可能避免循环。 在您的例子中,如果有一个名为
v
的向量,则有一个没有循环的解决方案

sum(v%%2==0)
会给你你想要的。
v%%2==0
返回一个与
v
长度相同的向量,其中TRUE where偶数,FALSE where不偶数。取它的总和计算出数字或真元素,这就是你的答案

正如@fmarm所说,在R中使用矢量化操作始终是首选。但是,如果您真的想使用
while
循环来实现这一点(或者如果您只是将此示例用于更复杂的事情),您可以做:

set.seed(1)

myVector对R技术有一些基本知识的人可以使用的一种解决方案是使用ifelse()函数。ifelse()函数是一种比使用while()或for()循环更好的技术

set.seed(5)#使用5复制这些结果

n它将计算不均匀数的数目
    set.seed(5)                          # Use 5 to duplicate these results
    n <- sample(1:100, 25, replace = F)  # select 25 random numbers 
    count = 0                            # start variable w/zero value

    sum(ifelse(n %% 2 == 0, c(count = count + 1), 0))

    10