如何检查R数据帧的列中的先前值和当前值之间的差异是否为1?
要检查R数据帧的列中的先前值和当前值之间的差异是否为1,我们可以按照以下步骤操作-
首先,创建一个数据框。
然后,为先前值和当前值之间的差异创建一个自定义函数。
现在,使用该函数来检查差异。
示例1
创建数据框
让我们创建一个数据框,如下所示-
> x<-1:20 > df1<-data.frame(x) > df1
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
输出
x 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20
创建一个自定义函数来检查差异
例子
使用abs函数和diff函数创建一个新函数来检查R数据框列中的所有值是否彼此相差1-
> is.one<-function(x){ + all(abs(diff(x))==1) + }
检查差异
使用is.one函数检查df1的x列中的当前值和先前值是否相差1-
> x<-1:20 > df1<-data.frame(x) > is.one(df1$x)
输出
[1] TRUE
例2
创建数据框
让我们创建一个数据框,如下所示-
> y<-sample(1:20,20) > df2<-data.frame(y) > df2
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
输出
y 1 14 2 4 3 3 4 5 5 19 6 15 7 8 8 12 9 17 10 20 11 18 12 6 13 2 14 16 15 10 16 13 17 1 18 7 19 11 20 9
检查差异
使用is.one函数检查df2的y列中的当前值和先前值是否相差1-
> y<-sample(1:20,20) > df2<-data.frame(y) > is.one(df2$y)
输出
[1] FALSE