R带有重置的变量的累加和

问题描述 投票:0回答:1

我是兼职R用户,我正在寻找有关以下查询的建议:

我正在尝试创建一个SPC图,该图将基于落在均值以上/以下均值的数据点来逐步增加或降低。我知道那里有经过检验的R包,例如qcc,可以很容易地生成漂亮的SPC图,但不幸的是,它并没有按照我们想要的方式显示,这是根据控制极限来提高或降低低于或超过8分。 (至少从我所看到的)。

手动创建平均值和控制限制后,我最初的想法是创建一个变量,该变量将在数据低于或超过限制时分配一个TRUE或FALSE值,然后使用来创建TRUE / FALSE值的运行计数运行程序包,然后是另一个变量,当> = 9时,该变量将重置运行计数。我发现的是,当运行计数达到9时,计数将重置为1,但是直到变量在两次之间再次更改之前,它才重新按预期进行计算真假。请以下面的代码和数据输出为例:

 make count of n above and below the mean

    dat4 = dat4 %>% 
       group_by(`Dept`) %>% 
       mutate(Count = case_when(n > Mean ~ TRUE, 
                                n < Mean ~ FALSE))

create a running count of the number of times n moves above / below the mean

        dat4 = dat4 %>%
      group_by(`Dept`) %>%
      mutate(run = streak_run(Count))

 reset the run when it reaches 8 then start over again for each Dept

dat4 = dat4 %>%
  group_by(`Dept`, run) %>%
  mutate(runreset = case_when(run >= 9 ~ streak_run(run),
                              run < 9 ~ run))

[请注意,数据以数据帧格式存储(下面的格式只是为了让您更容易阅读为例:]

Count

运行

runreset 8,1,1,1,1,2,1)

我希望看到的是它在超过8时开始重复计数:

runreset 8,1,2,3,1,2,1)

关于如何解决这个问题的任何想法将不胜感激,当然,此后的下一步将是根据每个部门的运行重置何时超过8,重新计算控制极限。

提前感谢。

r variables dplyr statistics rstudio
1个回答
0
投票

可能有多种方法可以实现,一种方法是在%%时使用run > 8获得余数。

© www.soinside.com 2019 - 2024. All rights reserved.