如何从 R 中的多个集合制作一个多重集合?
How to make a multiset from multiple sets in R?
我有多个集合,我想在 R 中构建它们的多重集合。有什么解决方案吗?比如我有3组:
set1 <- c(1,3,6)
set2 <- c(1,2,6,7,9)
set3 <- c(1,3,7)
我想要一个像
这样的多重集
multiset = {1:3,2:1,3:2,6:2,7:2,9:1}
其中 1:3
表示元素 1
重复 3
次。
下面是你想要的吗?
set1 <- c(1,3,6)
set2 <- c(1,2,6,7,9)
set3 <- c(1,3,7)
tb <- table(c(set1, set2, set3))
paste(names(tb), m[,1], collapse=",", sep=":")
编辑
在评论之后,输出应该是可操作的,可以很容易地把它放在一个矩阵中:
tb <- table(c(set1, set2, set3))
mat <- cbind(no=names(tb), freq=tb)
如果需要,将字符列转换为数字:
apply(mat, 2, as.numeric)
#> no freq
#> [1,] 1 3
#> [2,] 2 1
#> [3,] 3 2
#> [4,] 6 2
#> [5,] 7 2
#> [6,] 9 1
我有多个集合,我想在 R 中构建它们的多重集合。有什么解决方案吗?比如我有3组:
set1 <- c(1,3,6)
set2 <- c(1,2,6,7,9)
set3 <- c(1,3,7)
我想要一个像
这样的多重集multiset = {1:3,2:1,3:2,6:2,7:2,9:1}
其中 1:3
表示元素 1
重复 3
次。
下面是你想要的吗?
set1 <- c(1,3,6)
set2 <- c(1,2,6,7,9)
set3 <- c(1,3,7)
tb <- table(c(set1, set2, set3))
paste(names(tb), m[,1], collapse=",", sep=":")
编辑
在评论之后,输出应该是可操作的,可以很容易地把它放在一个矩阵中:
tb <- table(c(set1, set2, set3))
mat <- cbind(no=names(tb), freq=tb)
如果需要,将字符列转换为数字:
apply(mat, 2, as.numeric)
#> no freq
#> [1,] 1 3
#> [2,] 2 1
#> [3,] 3 2
#> [4,] 6 2
#> [5,] 7 2
#> [6,] 9 1