【发布时间】:2021-05-03 21:56:16
【问题描述】:
我可能在做一些愚蠢的事情。但是,我有一个长度为 n 的二进制向量。然后我尝试根据从向量中选择的随机值应用 ifelse 函数。
y <- sample(0:1, 500, replace = TRUE)
y
p=0.2
randomcells <- sample(1:length(y), 20)
randomcells
for (i in 1:length(y)){
if(!i %in% randomcells){
next
}
print(y[i])
print(ifelse(y[i]<-1,log((1-p)/p),log((p/1-p))))
}
}
我希望运行此代码值为y[i] = 0 以返回负值,否则返回正值。不幸的是,无论y[i] 的值如何,它目前都只返回正值。非常感谢任何帮助。
完成此操作后,我希望将正值保存在一个向量中,将负值保存在另一个向量中,但由于当前的问题,这些步骤被证明是困难的。
非常感谢您提供的任何帮助。
山姆
【问题讨论】:
-
y[i]<-1可能不是您所期望的。试试y[i] < -1
标签: r if-statement