У меня есть некоторые данные в следующем формате:Все возможные уникальные комбинации R
Ind Letter Place Position
1 A 19 23
2 B 19 23
3 B 19 23
4 B 19 23
1 B 19 34
2 A 19 34
3 B 19 34
4 B 19 34
1 C 19 52
2 T 19 52
3 C 19 52
4 T 19 52
1 T 33 15
2 T 33 15
3 T 33 15
4 C 33 15
1 C 33 26
2 T 33 26
3 T 33 26
4 C 33 26
dput данных:
structure(list(Ind = c(1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L, 1L, 2L,
3L, 4L, 1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L), Letter = structure(c(1L,
2L, 2L, 2L, 2L, 1L, 2L, 2L, 3L, 4L, 3L, 4L, 4L, 4L, 4L, 3L, 3L,
4L, 4L, 3L), .Label = c("A", "B", "C", "T"), class = "factor"),
Place = c(19L, 19L, 19L, 19L, 19L, 19L, 19L, 19L, 19L, 19L,
19L, 19L, 33L, 33L, 33L, 33L, 33L, 33L, 33L, 33L), Position = c(23L,
23L, 23L, 23L, 34L, 34L, 34L, 34L, 52L, 52L, 52L, 52L, 15L,
15L, 15L, 15L, 26L, 26L, 26L, 26L)), .Names = c("Ind", "Letter",
"Place", "Position"), class = "data.frame", row.names = c(NA,
-20L))
мне нужно пару и объединить их, так что я получаю все возможные уникальные комбинации со ссылкой на позицию в паре. У меня есть еще один файл данных, который содержит информацию о парах, и они сопряжены со ссылкой на Place. Так что в этом файле я мог видеть, что место 19 + Место 33 пара, и я хочу, следующий результат:
Ind Letter Place Position Ind Letter Place Position
1 A 19 23 1 T 33 15
2 B 19 23 2 T 33 15
3 B 19 23 3 T 33 15
4 B 19 23 4 C 33 15
1 A 19 23 1 C 33 26
2 B 19 23 2 T 33 26
3 B 19 23 3 T 33 26
4 B 19 23 4 C 33 26
1 B 19 34 1 T 33 15
2 A 19 34 2 T 33 15
3 B 19 34 3 T 33 15
4 B 19 34 4 C 33 15
1 B 19 34 1 C 33 26
2 A 19 34 2 T 33 26
3 B 19 34 3 T 33 26
4 B 19 34 4 C 33 26
1 C 19 52 1 T 33 15
2 T 19 52 2 T 33 15
3 C 19 52 3 T 33 15
4 T 19 52 4 C 33 15
1 C 19 52 1 C 33 26
2 T 19 52 2 T 33 26
3 C 19 52 3 T 33 26
4 T 19 52 4 C 33 26
В этом случае уникальный означает, что A1: A2 равно A2: A1. Причина, по которой я хочу это сделать, заключается в том, что я хочу выполнить четырехмерную проверку на пары, чтобы увидеть, существуют ли все возможные комбинации буквы. Так, например, для последней комбинированной пары выше у нас есть пары букв CC, TT, CT, TC, поэтому эта комбинированная пара пройдет FGT.
Я попытался выполнить объединение с expand.grid, так как кажется, что это очень близко к тому, что я хочу. Однако, когда мне требуется всякое сочетание данных $ Position, я теряю информацию для Ind, Letter и Place. Также вывод включает в себя не уникальные пары.
Может ли кто-нибудь указать мне на инструмент, который ближе к тому, что я хочу? Или дайте мне некоторые рекомендации о том, как изменить расширение.grid, чтобы получить то, что мне нужно. Если вы знаете об инструменте, на самом деле это тест Four-Gamete-Test или что-то подобное, то это, конечно, также будет интересно для меня посмотреть.
Могли бы вы PLS dput кадров данных, которые у вас есть. Я предлагаю вам создать ключ для парных мест, а затем выполнить крест-соединение. –
Я не уверен, как использовать данные. Я предполагаю, что вы этого хотите, поэтому вы можете импортировать данные, верно? У меня есть данные как .csv, но я не знаю, как связать это с вопросом. – Hjalte
Извините, я не понял: я могу выполнить функцию dput, но я не уверен, что делать с результирующим файлом. Я просто вставляю его в свой вопрос или мне нужно как-то прикреплять его как файл? – Hjalte