Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
计算R中连续字符的不同长度子字符串_R_Counting_Substring - Fatal编程技术网

计算R中连续字符的不同长度子字符串

计算R中连续字符的不同长度子字符串,r,counting,substring,R,Counting,Substring,我有一个数据集,由大量长度为12的字符串组成,这些字符串是从两个状态的字母表(z,x)中提取的。这里有两个例子 data <- c("zzxzzzxzzzzx","zzzxxzzzzzzx") data不确定这是否是您想要的 library(stringi) table(unlist(stri_extract_all_regex(data, '(?:(z+))\\1*'))) # zz zzz zzzz zzzzzz # 1 2 1

我有一个数据集,由大量长度为12的字符串组成,这些字符串是从两个状态的字母表(z,x)中提取的。这里有两个例子

  data <- c("zzxzzzxzzzzx","zzzxxzzzzzzx")

data不确定这是否是您想要的

 library(stringi)
 table(unlist(stri_extract_all_regex(data, '(?:(z+))\\1*')))
 #    zz    zzz   zzzz zzzzzz 
 #    1      2      1      1 
还是这个

  table(unlist(lapply(stri_extract_all_regex(data,
                             '(?:(z+))\\1*'), unique)))
  #  zz    zzz   zzzz zzzzzz 
  #   1      2      1      1 

我认为OP是在寻找/可能成对重叠/子串的计数。@BadZen根据显示的预期频率,我们通过使用代码得到它哦,是的,你是对的。我误读了第二行的意思是“2(在数据[1]中)”。但它是3偶数,而不是2。没关系。这里面的一些有用的代码肯定能解决问题(所以非常感谢):但是我恐怕不知道它为什么会起作用。有可能对符号位“(?:etc正在做什么有一些直觉吗?它会帮助我(也许还有其他人)推广到其他类似的问题。
table(unlist(strsplit(gsub('x{1,2}',' ',data),' ')))