如何解决为两个向量的组合创建矩阵
我在 R 中工作并且有两个长度相同的向量(A 和 B)。我想从 A 和 B 形成一个矩阵,该矩阵计算术语的独特组合。
例如,如果 A 是 A <- c(1,1,2,3)
而 B 是 B <- <- c("a","a","b","b")
,我想生成一个 3x2 矩阵,其中行名 1,3
和列名 a,b
。第 1 行是 2,1
,第 2 行和第 3 行是 0,1
。
非常感谢您的帮助!
解决方法
我认为 table(A,B)
是目前最简单的解决方案。这是另一种选择(感谢@Onyambu 的评论)
> xtabs(~.,cbind(A,B))
B
A a b
1 2 1
2 0 1
3 0 1
,
我们可以使用pivot_wider
library(dplyr)
library(tidyr)
tibble(A,B) %>%
pivot_wider(names_from = B,values_from = B,values_fn = length,values_fill = 0)%>%
column_to_rownames('A') %>%
as.matrix
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。