r - For 语句嵌套在 while 语句中不起作用

标签 r for-loop while-loop

我正在学习如何使用 while 和 for 循环,但在 while 循环内执行 for 循环时遇到困难。我试图在向量上递归一个简单的过程,并让 while 循环设置对向量的哪些部分进行操作的条件。这实际上只是作为了解如何结合使用 for 和 while 循环的练习。

data <- c(1:200)

n=0   

while(n < 100){
for(x in data){
n=x+1
if(x >= 10 & x < 100){
   print("double digit")
} else {
   print("single digit")
}}}

当过程达到从 1:200 开始运行的向量的 x=100 时,我想停止 while 循环。但相反,for 循环从 1:200 开始遍历向量中的每个元素,当 n 达到 100 时无法停止执行。

非常感谢任何可以帮助新编码员的建议,谢谢。

我也尝试过

for(x in data){
n=x+1
while(n < 100){
if(x >= 10 & x < 100){
  print("double digit")
} else {
  print("single digit")
}}}

但是代码并没有停止执行。

最佳答案

首先让我们尝试一下 for 循环。每次执行时,n 都会被设置为循环计数器加 1。如果结果在 10 到 100 之间,则打印一条消息,如果不打印其他内容。请注意,没有循环依赖于 n

data <- c(1:200)

n = 0

for (x in data) {
    n = x + 1
    if (n < 100) {
        if (x >= 10 && x < 100) {
            print("double digit")
        } else {
            print("single digit")
        }
    }
}
x
#[1] 200

n
#[1] 201

现在进行 while 循环。我相信它更简单,它只涉及一个变量,n

n <- 0
while (n < 100) {
    n = n + 1
    if (n < 100) {
        if (n >= 10) {
            print("double digit")
        } else {
            print("single digit")
        }
    }
}
n
#[1] 100

关于r - For 语句嵌套在 while 语句中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48845180/

相关文章:

r - 使用 alpha 和 geom_polygon 时防止混合

r - ggplot2-如何在离散刻度轴值中绘制连续值?

r - 使用 roxygen2 自动记录 S4 泛型的所有方法

javascript - 如何在 JavaScript 中动态获取对象的属性值?

for-loop - WMI Win32_Directory 在 For 循环中失败,错误为 800706BE 远程过程调用失败

c - 根据输入的字符数循环打印错误消息

c - while 循环会检查每个条件吗?

r - 如何绘制survreg生成的生存曲线(R的包装生存期)?

java - 我在另一个 'for loop' 中的 'for loop' 不工作

c++ - C++中while循环执行中的printout语句