首页 > 解决方案 > 如何在R中的for循环中排列项目?

问题描述

我想对小标题中未指定的行范围应用 for 循环。

我必须修改以下代码,在 tibble 中的特定行数上应用 for 循环:

for(times in unique(dat$wname)[1:111]){...} 

在这个小标题中,从 1:111 开始的范围对应于一个特定的文件,实际上,“文件”列的值重复了 111 次。但是,在我的数据中,我不知道同一个文件重复了多少次。例如,我可以有一个重复 80 行的文件,另一个重复 85 行的文件。如何告诉循环仅在列文件中的行具有相同名称的范围内查找?

我有话要说:

for(times in unique(dat$wname)["for each row in the column File with the same name"]){...}

我该怎么做?

标签: rfor-loop

解决方案


如果您想在 dat 变量或长度中使用列,您可以使用 nrow 或 ncol 计算行数,unique(dat$wname)并执行以下操作:

rows= nrow(dat) # OR
rows=length(unique(dat$wname))

for(times in unique(dat$wname)[1:rows]){...}

但是一个可重复的例子会让事情更容易理解/回答


推荐阅读