如何在 R 資料框列中查詢連續重複的字串值的頻率?


要查詢 R 資料框列中連續重複的字串值的頻率,我們可以按照以下步驟操作:

  • 首先,建立一個包含字串列的資料框。
  • 然後,將資料框轉換為 data.table 物件後,使用 sequence 函式和 rleid 函式來查詢資料框列中連續重複的字串值的頻率。

建立資料框

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

 線上演示

x<-sample(c("f","m"),20,replace=TRUE)
df<-data.frame(x)
df

執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出將在您的系統上有所不同):

    x
1 m
2 m
3 f
4 m
5 f
6 m
7 m
8 m
9 m
10 f
11 m
12 m
13 f
14 m
15 m
16 m
17 f
18 m
19 m
20 m

查詢連續重複的字串值的頻率

載入 data.table 包並將 df 設定為 data.table 物件,然後查詢連續重複字串值的頻率:

x<-sample(c("f","m"),20,replace=TRUE)
df<-data.frame(x)
library(data.table)
setDT(df)[,Freq:=sequence(.N),by=rleid(x)][x==1,Freq:=1][]

輸出

    x Freq
1:  m 1
2:  m 2
3:  f 1
4:  m 1
5:  f 1
6:  m 1
7:  m 2
8:  m 3
9:  m 4
10: f 1
11: m 1
12: m 2
13: f 1
14: m 1
15: m 2
16: m 3
17: f 1
18: m 1
19: m 2
20: m 3

更新於: 2021年8月13日

161 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.