R 如何引用条件表达式中向量的元素?
我随机从向量中选择一个特定元素,然后测试它是否匹配多个数字:R 如何引用条件表达式中向量的元素?,r,R,我随机从向量中选择一个特定元素,然后测试它是否匹配多个数字: counter=0 variable1=0 a=c(rep(0,10),11,12,13,14,15,16) for (i in 1:1000) { num=sample(1:16) if(a[num]==11){ variable_1=11 counter=counter+1 } } 当我运行这段代码时,我得到以下警告:在if(a[num]==11){…: 条件的长度大
counter=0
variable1=0
a=c(rep(0,10),11,12,13,14,15,16)
for (i in 1:1000) {
num=sample(1:16)
if(a[num]==11){
variable_1=11
counter=counter+1
}
}
当我运行这段代码时,我得到以下警告:在if(a[num]==11){…:
条件的长度大于1,并且只使用第一个元素
这里出了什么问题?看起来您想用替换品对a进行1000次采样,并计算11次。一种简单的方法是:
a=c(rep(0,10),11,12,13,14,15,16)
allnums <- sample(a, 1000, replace = TRUE)
tot11 <- sum(allnums == 11)
a=c(代表(0,10),11,12,13,14,15,16)
allnums使用replace
而不是if
。另外,请共享您正在使用的所有OBJ/变量的几行。我运行了?replace,它似乎改变了向量中的值。它就是这样做的吗?至于代码,cc_sample是一个包含16个元素的向量,num是一个随机数1-16,而在黑板上是一个红色的整数在整个程序中定义,如果您创建一个小的可复制示例以及预期输出,那么会更容易提供帮助。请阅读。感谢您的反馈,@RonakShah。我已经用我认为最小可复制示例编辑了这篇文章。您确定这行是正确的吗?a=c(rep(0,10),11,12,13,14,15,16)
。