错误:尝试在For循环中使用零长度变量名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误:尝试在For循环中使用零长度变量名相关的知识,希望对你有一定的参考价值。

我正在尝试创建此循环,但我不断收到“错误:尝试使用零长度变量名”,但不确定我要去哪里或如何解决此错误。 TIA :)

提示:现在让我们编写一个for循环,该循环将总结“后期制作”中电影的运行时间。 for循环内的函数将检查影片是否处于后期制作中,如果是,它将在该影片的总运行时间中添加该影片的运行时间。

sum= 0
   for (row in 1:nrow(movies)) {
   if (row$status == "Post Production") {
   sum <- sum + row$runtime
      }
      }
答案

row是一个整数,其值在1到数据帧影片中的行数之间(因为您将其定义为采用'1:nrow(movies)'中的值)。因此,row $ status等效于写入1 $ status。我想您想做的是:

sum= 0
   for (row in 1:nrow(movies)) {
     if (movies$status[row] == "Post Production") {
       sum <- sum + row$runtime
     }
   }

这里movies $ status [row]将连续访问'status'列的第一,第二,第三,...元素

以上是关于错误:尝试在For循环中使用零长度变量名的主要内容,如果未能解决你的问题,请参考以下文章

如何获取在 for 循环中创建的变量名

Vue.js v-for 循环遍历数组不起作用(非零长度的零元素)

动态变量名称以在 for 循环中改变变量

js数组遍历方法总结

如何用变量名添加数字? [复制]

如何在shell中为for循环添加前导零? [复制]