如何在R数据框列中去除连续重复的数字?


为了去除R数据框列中连续重复的数字,我们可以按照以下步骤操作:

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

  • 然后,使用diff函数和单方括号子集来去除连续重复的数字。

示例1

创建数据框

让我们创建一个如下所示的数据框:

x<-rpois(25,3)
df<-data.frame(x)
df

输出

执行上述脚本后,会生成以下输出(由于随机化,此输出会在您的系统上有所不同):

   x
1  4
2  3
3  6
4  5
5  4
6  3
7  3
8  4
9  4
10 4
11 1
12 3
13 4
14 2
15 3
16 0
17 0
18 4
19 4
20 2
21 3
22 2
23 2
24 2
25 2

去除连续重复的数字

使用diff函数和单方括号子集从数据框df的x列中去除连续重复的数字:

x<-rpois(25,3)
df<-data.frame(x)
df$x[c(1,diff(df$x))!=0]

输出

[1] 1 3 4 6 5 2 3 4 1 5 4 3 0 1 4 3 2 7 3 4 1 3 4

示例2

创建数据框

让我们创建一个如下所示的数据框:

y<-sample(1:4,25,replace=TRUE)
dat<-data.frame(y)
dat

输出

执行上述脚本后,会生成以下输出(由于随机化,此输出会在您的系统上有所不同):

   y
1  3
2  3
3  3
4  1
5  1
6  3
7  1
8  1
9  3
10 4
11 1
12 2
13 2
14 2
15 4
16 1
17 2
18 2
19 4
20 3
21 2
22 1
23 1
24 3
25 2

去除连续重复的数字

使用diff函数和单方括号子集从数据框dat的y列中去除连续重复的数字:

y<-sample(1:4,25,replace=TRUE)
dat<-data.frame(y)
dat$y[c(1,diff(dat$y))!=0]

输出

[1] 3 1 3 1 3 4 1 2 4 1 2 4 3 2 1 3 2

更新于:2021年11月11日

342 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告