【发布时间】:2021-09-10 07:13:13
【问题描述】:
我有一个包含值的列表,我需要从该列表中选择大于或等于 3 且小于/等于 4 的值,但我不知道如何使用 while 和 if 循环来执行此操作。谁能告诉我如何解决这个问题?
【问题讨论】:
标签: r while-loop
我有一个包含值的列表,我需要从该列表中选择大于或等于 3 且小于/等于 4 的值,但我不知道如何使用 while 和 if 循环来执行此操作。谁能告诉我如何解决这个问题?
【问题讨论】:
标签: r while-loop
如果我正确理解您的想法,您可以使用以下解决方案。假设我们有一个长度为 20 的向量,称为vec:
out,以便在每次迭代(如果有)期间将我们的结果存储在其中i设置为其第一个值(这里我们将初始值设置为1)虽然循环从测试条件开始(i =3 & out)。然后它将一个添加到迭代器并再次评估条件等等。
vec <- sample(1:10, size = 20, replace = TRUE)
out <- c()
i <- 1
while(i <= length(vec)) {
if(vec[i] <= 4 & vec[i] >= 3) {
out <- c(out, vec[i])
}
i <- i + 1
}
out
[1] 4 3
【讨论】:
其实你不需要任何while/if 语句,你可以简单地申请
x[x >= 3 & x <= 4]
如果你必须使用while 和if 来制作它,下面是一种选择
k <- 1
res <- c()
while(k < length(x)) {
if (x[k] >= 3 & x[k] <= 4) {
res <- append(res,x[k])
}
k <- k + 1
}
【讨论】: