使用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