我是R.的新手。我不知道如何在R中执行以下功能。我可以在excel中执行此操作。但是不能在R中做到这一点。任何人都能帮助我吗?
一旦达到64,我想得到计数器值的累积和,
以下是我的数据
x
57
57
57
57
57
57
58
58
58
58
61
61
62
62
1
1
11
16
16
16
16
16
16
22
22
22
27
28
我希望计数达到64之后的累计和。我不知道如何在R中这样做。
以下是我需要的输出,
x
57
57
57
57
57
57
58
58
58
58
61
61
62
62
65
65
76
81
81
81
81
81
81
87
87
87
92
93
有人可以帮忙吗?
Thanks
答案 0 :(得分:2)
如果您的数据重置为64,并且继续,并且您希望它保留64,请尝试:
diffs <- c(dat$x[1], diff(dat$x))
diffs[diffs < 0] <- 64 + diffs[diffs < 0]
cumsum(diffs)
解释:
第一行从一个数字到下一个数字之间存在所有差异,从初始值开始(在示例情况下为57)。
第二行找到所有负差异值,并将它们更改为64 +它们是什么 - 如果它是62更改为2,我们需要添加4:2以达到64然后再加2。
第三行用cumsum给出最终值。