【发布时间】:2015-08-10 03:25:27
【问题描述】:
我有一个由 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
【问题讨论】:
-
这是一个 awkword 可能的解决方案
table(sapply(strsplit(data, ""), function(x) paste(sort(x), collapse = ""))) -
所以,基本上,它会按字母顺序重写每个条目,然后使用 table(),对吗?
-
是的,类似的...
-
“QQQ”是放在自己的桶里,还是和“Q”聚合?
-
我应该澄清一下,不允许在同一个条目中重复字母。