我有一个字符串数组,由4个字母J、K、Q和Z的所有可能组合而成。数组中的条目由至少两个字母和最多4个字母组成。例如:data<-c("QK", "KQ", "JKQZ", "KJZ")
。
我想要计算数组中每个条目出现的次数,但不区分由相同字母组成但顺序不同的字符串。我知道table(data)
无法实现这一点,因为它不认为QK
和KQ
是相同的,所以返回结果有所差异。
data
JKQZ KJZ KQ QK
1 1 1 1
我一直在研究pmatch
或charmatch
,但它们似乎不能做我想要的。
编辑:我应该澄清一下,没有重复字母的条目。实际上,我不能有一个输入ZZ
或KZK
。
table(sapply(strsplit(data, ""), function(x) paste(sort(x), collapse = "")))
。其意思是对数据进行分割,然后对每个子串进行排序并合并成一个字符串,最后计算每个不同字符串出现的次数。 - David Arenburg