如何在 R 数据框列中找到连续重复的字符串值的频率?
要查找 R 数据框列中连续重复字符串值的频率,我们可以按照以下步骤操作 -
首先,创建一个带有字符串列的数据框。
然后,在将数据帧转换为data.table对象后,使用序列函数和 rleid 函数查找数据帧列中连续重复字符串值的频率。
创建数据框
让我们创建一个数据框,如下所示 -
例子
x<-sample(c("f","m"),20,replace=TRUE)df<-data.frame(x)
df
执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-
输出
x1 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 Freq1: 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
以上是 如何在 R 数据框列中找到连续重复的字符串值的频率? 的全部内容, 来源链接: utcz.com/z/349165.html