如何检查R数据帧的列中的先前值和当前值之间的差异是否为1?

要检查 R 数据帧的列中的先前值和当前值之间的差异是否为 1,我们可以按照以下步骤操作 -

  • 首先,创建一个数据框。

  • 然后,为先前值和当前值之间的差异创建一个自定义函数。

  • 现在,使用该函数来检查差异。

示例 1

创建数据框

让我们创建一个数据框,如下所示 -

> x<-1:20

> df1<-data.frame(x)

> df1

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

输出

    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(this output will vary on your system due to randomization)-

输出

    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

以上是 如何检查R数据帧的列中的先前值和当前值之间的差异是否为1? 的全部内容, 来源链接: utcz.com/z/357252.html

回到顶部