相关疑难解决方法(0)

计算 R 中行之间的差异并设置零第一差异

大家好,我正在尝试解决 R 中的一个小问题。我想计算 R 中数据帧中行之间的差异。我的数据帧如下所示:

df <- data.frame(ID=1:8, x2=8:1, x3=11:18, x4=c(2,4,10,0,1,1,9,12))
Run Code Online (Sandbox Code Playgroud)

我想创建一个名为 的新列diff.var。该列保存变量中各行的差异结果。一种可能的解决方案是使用diff()函数。当我使用这个函数时,我得到了这个:

diff(df$x4)
[1]   2   6 -10   1   0   8   3
Run Code Online (Sandbox Code Playgroud)

这工作正常,但是当我尝试使用我的数据框应用时,df$diff.var=diff(df$x4)我得到了这个:

Error in `$<-.data.frame`(`*tmp*`, "diff.var", value = c(2, 6, -10, 1,  : 
  replacement has 7 rows, data has 8
Run Code Online (Sandbox Code Playgroud)

由于第一行没有前一行来计算差异,因此我想将其设置为零。我想要得到这样的东西:

ID  x2  x3  x4  diff.var
1   8   11  2   0
2   7   12  4   2
3   6   13  10  6
4   5   14  0   -10
5   4   15  1   1
6   3 …
Run Code Online (Sandbox Code Playgroud)

r

0
推荐指数
1
解决办法
6774
查看次数

标签 统计

r ×1