Я выполняю проверку перестановки Фишера, в которой я должен генерировать все комбинации статуса лечения.Использовать значения матриц в качестве индексов
У нас есть 4 предмета, из которых 2 обработаны. Используя combn
, я могу генерировать все комбинации обработанных предметов. Например, первая строка означает, что обрабатываются первый и второй субъекты.
t(combn(4, 2))
[,1] [,2]
[1,] 1 2
[2,] 1 3
[3,] 1 4
[4,] 2 3
[5,] 2 4
[6,] 3 4
Как перейти от этой матрицы к матрице состояния лечения следующим образом:
[,1] [,2] [,3] [,4]
[1,] 1 1 0 0
[2,] 1 0 1 0
...
Это может быть сделано с помощью 'опции FUN' в' 'combn' + (T (combn (4,2, ПОТЕХИ = функция (х) 1: 4% в% х)))' – akrun
@ Комментарий akrun действительно работает лучше всего (т.е. проще всего понять). (Не могли бы вы разместить его в качестве ответа?) Ответ героики, вероятно, имеет небольшую опечатку, так как я получаю ошибку. Ответ Майкла Чирико самый быстрый. – Heisenberg
Я сравнивал себя с @ akrun's & his lightyears быстрее (3000 раз быстрее на 20 выбирают 10). – MichaelChirico