我在R中使用具有这两个变量的数据库。伪装和检测。值为二进制,0表示显眼,1表示伪装。检测到1,未检测到0。但是,在我的分析过程中,我在Detection变量中添加了名为Unknown的值。我想用1然后0来置换Unknown,看看每个排列是否会影响我正在使用的glm的重要性。排列可以是所有未知变为0或1,或者一些变为1而其他变为0.随机排列。这可能很简单,只是因为我没有真正的R功能。
答案 0 :(得分:0)
试试这个:
camouf = c(1,NA,0,0,1,0,NA,NA,NA,0,1)
perm <- function(vec, chance = 0.5){
unknown <- which(is.na(camouf))
vec[unknown] <- sample(0:1, size=length(unknown),
prob = c(1-chance,chance), replace = TRUE)
return(vec)
}
perm(camouf) # do it once
replicate(50, perm(camouf)) # do it many times
它定义了一个函数perm
来执行您所谓的0
和1
向量的置换,并随机放入0
或1
那些原始地方有NA
的地方。 1
的概率可以通过chance =
参数给出。