我想从5个不同的类中找到两个类的所有可能样本。 我正在尝试这个:
x <- c(A = 23, B = 21, C = 29, D = 17, E = 18)
mean (x)
sd (x)
sample(x)
sample(x, 2, replace = FALSE, prob = NULL)
sample(x, 5, replace = FALSE, prob = NULL)
但我觉得它没有给我所有可能的样本数量是错误的
答案 0 :(得分:2)
试试这个
install.packages("gtools")
library(gtools)
permutations(length(x), 2, x)
# [,1] [,2]
# [1,] 17 18
# [2,] 17 21
# [3,] 17 23
# [4,] 17 29
# [5,] 18 17
# [6,] 18 21
# [7,] 18 23
# [8,] 18 29
# [9,] 21 17
# [10,] 21 18
# [11,] 21 23
# [12,] 21 29
# [13,] 23 17
# [14,] 23 18
# [15,] 23 21
# [16,] 23 29
# [17,] 29 17
# [18,] 29 18
# [19,] 29 21
# [20,] 29 23
如果您只是想知道可能的排列量,请使用@Floo0s answer或执行类似
的操作nrow(permutations(length(x), 2, x))
# [1] 20
答案 1 :(得分:1)
如果你有5个班级。有2种以上的可能性。
请参阅http://en.wikipedia.org/wiki/Binomial_coefficient
在R中,这是函数choose
计算的内容。
所以
choose(length(x),2)
答案:10种可能的组合(如果顺序无关紧要,那么(A,B)等于(B,A))
如果订单很重要,那就是
choose(length(x),2) * factorial(2)
答案:20
正如 Beauvel上校所述。要查找所有这些组合,请使用combn
答案 2 :(得分:1)
也许使用:
combn(x, 2)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 23 23 23 23 21 21 21 29 29 17
[2,] 21 29 17 18 29 17 18 17 18 18
矩阵的列将为您提供所有可能的组合忽略顺序。
或使用包combinat
。