如何很好地绘制置换矩阵

时间:2019-07-14 17:02:32

标签: r ggplot2 combinatorics

我有一串字母:

postMessage

(#表示开始或结束)

和英语单词的向量:

x <- c("a","o","s","d", "#")

我们可以像这样创建 engl <- c("#so#", "#sad#", "#do#", "#as#", "#Dads#", "#do#") 中字母的所有可能组合的矩阵:

x

df: df <- as.data.frame(outer(x, x, FUN = paste0)) dimnames(df) <- list(x, x) #a aa ao as ad a# oa oo os od o# sa so ss sd s# da do ds dd d#

让我们假设我想通过搜索向量engl并用分布填充数据帧df来回答英语中出现这些组合的频率如何,回答问题列或逐行回答“ d的分布百分比是多少” :

所以在这里给出的情况下,我们会

#o #s #d ##

由于str_count不适用于矩阵,我该怎么办?

下一步,我想以类似于热图的方式显示矩阵,

1 个答案:

答案 0 :(得分:4)

创建对m对的矩阵。然后创建一个由计数组成的数组a和一个热图。不使用任何软件包。

m <- outer(x, x, paste0)
a <- array(colSums(sapply(m, grepl, engl)), dim = dim(m), dimnames = list(x,x))
heatmap(a)

screenshot