我想生成一个循环:
group1 = c(1,3,7,25)
for (ii in 1:25){
if (ii == any(group1)){test = 5} else {test=1}
}
我收到一条关于强制我的类型' double'合乎逻辑的。结果是只使用了我的else语句。这是什么意思,我该如何解决这个问题?谢谢。
答案 0 :(得分:1)
目前还不清楚你想要什么。可能
test <- c(1,5)[1+(1:25) %in% group1]
结果如下:
test <- ifelse( 1:25 %in% group1, 5, 1)
哦,好的,我也会制作for
- loopy版本:
test <- integer(25)
for (ii in 1:25){
if (ii %in% group1){test[ii] <- 5} else {test[ii] <- 1}
}
test
答案 1 :(得分:0)
你使用了错误的任何功能
any(iterable)
如果iterable的任何元素为true,则返回True。如果iterable为空,则返回False。