如何從 R 資料框中的每行的序列中刪除重複項?


要從 R 資料框中的每行的序列中刪除重複項,我們可以按照以下步驟進行操作 -

  • 建立一個數據框。
  • 刪除資料框行中的重複序列

建立資料框

讓我們建立一個如下所示的資料框 -

 即時演示

x1<-rpois(20,1)
x2<-rpois(20,1)
x3<-rpois(20,1)
x4<-rpois(20,1)
df<-data.frame(x1,x2,x3,x4)
df

執行上述指令碼後,將生成以下輸出(此輸出會因您的系統隨機性而有所不同) -

x1 x2 x3 x4
 1 0 1 1 0
 2 0 0 0 0
 3 0 1 2 2
 4 3 1 1 0
 5 0 1 1 2
 6 0 1 0 1
 7 1 0 1 1
 8 0 0 0 1
 9 0 0 0 2
10 2 0 0 1
11 0 0 0 3
12 0 1 1 2
13 0 3 2 0
14 2 1 0 2
15 0 0 0 1
16 0 0 0 3
17 1 1 2 0
18 1 0 0 0
19 1 0 1 3
20 0 0 2 1

刪除資料框行中的重複序列

使用 apply 函式和 rle 函式刪除 df 行中的重複項 -

 即時演示

x1<-rpois(20,1)
x2<-rpois(20,1)
x3<-rpois(20,1)
x4<-rpois(20,1)
df<-data.frame(x1,x2,x3,x4)
apply(df,1,FUN=function(x) rle(x)$values)

輸出

[[1]]
x1 x3 x4
0  1   0

[[2]]
x4
0

[[3]]
x1 x2 x4
 0 1  2

[[4]]
x1 x3 x4
3  1  0

[[5]]
x1 x3 x4
0  1  2

[[6]]
x1 x2 x3 x4
0  1  0  1

[[7]]
x1 x2 x4
1  0  1

[[8]]
x3 x4
 0 1

[[9]]
x3 x4
 0 2

[[10]]
x1 x3 x4
2  0  1

[[11]]
x3 x4
0  3

[[12]]
x1 x3 x4
0  1  2

[[13]]
x1 x2 x3 x4
0  3  2  0

[[14]]
x1 x2 x3 x4
2  1  0  2

[[15]]
x3 x4
0  1

[[16]]
x3 x4
0  3

[[17]]
x2 x3 x4
1  2  0

[[18]]
x1 x4
1  0

[[19]]
x1 x2 x3 x4
1  0 1 3

[[20]]
x2 x3 x4
0 2 1

更新於: 2021 年 8 月 13 日

132 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

立即開始
廣告