首页 > 解决方案 > R'All'函数在for循环中不起作用

问题描述

当该行和所有以下 5 行都高于某个值(高于平均值 2 个标准差)时,我试图标记我的数据集中的每一行。这是我正在使用的代码:

for (row in 1:nrow(linnaeus)){
    if (all((linnaeus$delta[row:row+5]) > ((linnaeus$mean_delta[row]) +((linnaeus$sd_delta[row])*2)))
    ){
(linnaeus$start[row] <- 1)
}}

在此处输入图像描述

但是,正如您在图片中看到的那样。现在,当向下 5 行的行足够高(红色)时,它会标记一行(蓝色)。如果我专门为这些行打印代码,则输出为 FALSE。然而在这个 for 循环中它似乎不起作用。为清楚起见,我只想标记一行,当它和所有以下 5 行均高于平均值 2 个 SD 时。

标签: rfor-loop

解决方案


推荐阅读