如何很好地绘制置换矩阵
How to nicely plot a permutation matrix
我有一串字母:
x <- c("a","o","s","d", "#")
(#表示开始或结束)
和一个英文单词向量:
engl <- c("#so#", "#sad#", "#do#", "#as#", "#Dads#", "#do#")
我们可以像这样创建 x
中字母所有可能组合的矩阵:
df <- as.data.frame(outer(x, x, FUN = paste0))
dimnames(df) <- list(x, x)
df:
aa ao as ad a#
oa oo os od o#
sa so ss sd s#
da do ds dd d#
#a #o #s #d ##
假设我想通过搜索向量 engl 并用分布填充数据帧 df,按列或按行回答问题 "what is the percentage of the distribution of d":[=17 来了解这些组合中的每一个以英语出现的频率=]
所以在此处给出的情况下,我们将有
0 0 1 2 0
0 0 0 0 2
1 0 0 0 3
1 2 1 0 1
2 0 1 3 0
我该如何解决这个问题,因为 str_count 不适用于矩阵?
在下一步中,我想以类似热图的方式显示矩阵,
创建对矩阵 m
。然后创建一个计数数组 a
和一个热图。没有使用包。
m <- outer(x, x, paste0)
a <- array(colSums(sapply(m, grepl, engl)), dim = dim(m), dimnames = list(x,x))
heatmap(a)
我有一串字母:
x <- c("a","o","s","d", "#")
(#表示开始或结束)
和一个英文单词向量:
engl <- c("#so#", "#sad#", "#do#", "#as#", "#Dads#", "#do#")
我们可以像这样创建 x
中字母所有可能组合的矩阵:
df <- as.data.frame(outer(x, x, FUN = paste0))
dimnames(df) <- list(x, x)
df:
aa ao as ad a#
oa oo os od o#
sa so ss sd s#
da do ds dd d#
#a #o #s #d ##
假设我想通过搜索向量 engl 并用分布填充数据帧 df,按列或按行回答问题 "what is the percentage of the distribution of d":[=17 来了解这些组合中的每一个以英语出现的频率=]
所以在此处给出的情况下,我们将有
0 0 1 2 0
0 0 0 0 2
1 0 0 0 3
1 2 1 0 1
2 0 1 3 0
我该如何解决这个问题,因为 str_count 不适用于矩阵?
在下一步中,我想以类似热图的方式显示矩阵,
创建对矩阵 m
。然后创建一个计数数组 a
和一个热图。没有使用包。
m <- outer(x, x, paste0)
a <- array(colSums(sapply(m, grepl, engl)), dim = dim(m), dimnames = list(x,x))
heatmap(a)