如何在 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
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP