【发布时间】:2017-09-10 02:45:58
【问题描述】:
如果我从vector1开始,并测试看看哪些项目等于1:
vector1 <- c(0, 1, 1, 1, 0, 1, 1, 1, 0, 1)
test <- which(vector1 == 1)
现在测试等于:2、3、4、6、7、8、10
那么,我想随机选择测试中的两个项目:
sample_vector <- sample(test, 2, replace = FALSE)
上面的代码生成了一个sample_vector: 6, 3
我的问题是如何获取 sample_vector 并将其变成:
vector2 <- 0, 0, 1, 0, 0, 1, 0, 0, 0, 0
我本质上只是希望将 sample_vector 中的项目分配为等于 1,并将 vector1 中的其余项目分配为等于 0(即看起来像 vector2)。 vector2 需要在 vector1 处具有相同的长度(10 项)。
谢谢!
【问题讨论】:
-
replace(integer(length(vector1)), sample_vector, 1) -
tabulate(sample_vector,length(vector1))