【发布时间】:2020-08-21 17:10:21
【问题描述】:
我希望 ifelse 循环遍历向量,如果条件为真(值 = 2 或 3),我想对一个集合进行采样,如果不将值设置为零。此代码有效,但似乎只进行一次采样,并且回收了相同的值。是否可以让它对数组的每个值执行采样?
vec1 <- sample(1:7, 5, replace = TRUE)
vec2 <- ifelse (vec1 == 2 | vec1 == 3,
sample(0:3, 1),
0
)
vec2
[1] 3 3 0 0 3
它有效,但我希望 vec2 位置 1,2 和 5 有不同的值,而不是每次都发生相同的值。所以我希望看到随机抽样,最终得到 p>
vec2 [1] 1 3 0 0 3
或
vec2 [1] 1 2 0 0 3
我的逻辑和/或代码中缺少某些内容。 谢谢,J
【问题讨论】:
-
我认为您不是在“循环”向量,而是在比较整个向量。
标签: r loops if-statement sample