我目前在R中有一个看起来像这样的字符串:

a <- "BMMBMMMMBMMMBMMBBMMM"

首先,我需要确定出现在字符串中的“M”的不同模式的频率。

在此示例中,它将是:
MM = 2
MMM = 2
MMMM = 1

其次,我需要为每个不同的模式指定一个数值/分数。

即:
MM = 1
MMM = 2
MMMM = 3

这意味着a中M的总价值/得分等于9

如果有人知道有什么脚本可以让我对数据框中的多个字符串执行此操作,那会很好吗?

谢谢。

最佳答案

a <- "BMMBMMMMBMMMBMMBBMMM"
tbl <- table(strsplit(a, "B"), exclude="")
tbl
#     MM  MMM MMMM
#      2    2    1

score <- sum(tbl * 1:3)
score
# 9

10-08 18:37