在R中,我有来自csv的数据框,其中包含 A 列中的不同值。 我想通过从 A 中的下一行减去 A 中的相同行来创建新列 B ,但前提是只有连续2行值≠0
最好通过一个例子解释:
A B explanation
_ _ ___________
0 0 0, because A = 0
1 1 2-1
2 1 3-2
3 0 0, because next line in A = 0
0 0 0, because A = 0
4 0 0, because next line in A = 0
0 0 0, because A = 0
3 -1 2-3
... ... ...
2 0 0, because it is the last value in the df
由于不同的例外,我没有找到任何解决方案。 谢谢!
答案 0 :(得分:1)
我会使用dplyr计算所有值,并检查是否满足条件。
ifelse
然后将满足您条件的任何设置为零。我认为这比使用df$B[df$is_zero] <- 0
快一点。
> select(df, -is_zero)
A B
1 0 0
2 1 1
3 2 1
4 3 0
5 0 0
6 4 0
7 0 0
8 3 NA
给你:
local gm = require 'graphicsmagick'
local img = gm.Image()
local ok = pcall(img.fromString, img, body)
img = img:toTensor('float', 'RGB', 'DHW')