错误:尝试在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循环中使用零长度变量名的主要内容,如果未能解决你的问题,请参考以下文章