Я пытаюсь решить эту проблему с помощью R: из всех возможных комбинаций букв я хочу случайным образом выбрать выборку из 13 пар с условием, что ПИСЬМО не повторяется.
Я пытаюсь следующее:
x<- LETTERS
combi <- combn(x, 2, FUN = NULL, simplify = FALSE) #combines by 2
fulltable <- data.frame(Reduce(rbind, combi)) #Convert list to dataframe of 2 columns
Это дает мне 323 возможных комбинации:
...
X.316 V Y
X.317 V Z
X.318 W X
X.319 W Y
X.320 W Z
X.321 X Y
X.322 X Z
X.323 Y Z
Я хочу выбрать образец -let назовите его SET1- из 13 пар букв (26 букв в итого) где ни одна буква не повторяется. Затем, после создания этих пар, я хочу извлечь другой образец с тем же условием, но в этом случае, исключая SET1.
Желаемый результат:
X.1 A E
X.2 C H
X.3 B X
X.4 W Y
X.5 F K
…..
До X.13 и ни одна буква не повторяется ни в строке, ни в столбце.
Во втором примере извлечения снова комбинация пар с уникальными буквами, но в этом случае предыдущие комбинации не допускаются (то есть AE / C H). Также следует исключить перестановки, такие как EA / H C.
Спасибо A JS
EDIT ----------------- ---- Это решение работает для меня:
test <- LETTERS
ctest <- combn(test, 2, FUN = NULL, simplify = FALSE)
ctabl <- data.frame(Reduce(rbind,ctest))
ctabl$row <- 1:nrow(ctabl)
for (i in 1:nrow(ctabl)){
sname <- ctabl%>% sample_n(13)
ctabl <- ctabl %>% subset(!row %in% sname$row)
print(sname)
}