Итерировать по столу? - PullRequest
0 голосов
/ 27 октября 2010

У меня есть две таблицы.Оба читаются с использованием функции read.table().

Таблица 1

    A    B    C
S1  1    1    0
S2  2    0    NA
S3  0    2    1

Таблица 2

    Pa    Pb    Pc
G1  0.12  0.65  0.001
G2  0.34  0.82  0.03
G3  0.2   0.64  0.87

Мне нужно перебрать обе таблицы.В частности, мне нужно перебрать таблицу по столбцам и извлечь парные комбинации для каждой записи в определенном столбце.

Например,

Из первого столбца таблицы 1 янеобходимо извлечь значения всех попарных перестановок элементов в столбце 1, т. е. {1, 2}, {1, 0}, {2, 0}, {2, 1}, {0, 1}, {0, 2}.

Используя эти значения и элемент в Таблице 2 (в данном примере, элемент [0, 1]), я подхожу к модели линейной регрессии первого порядка.

У кого-нибудь есть предложения, как лучше перебрать таблицу 1, чтобы изолировать все эти парные перестановки?

1 Ответ

2 голосов
/ 27 октября 2010

Для получения комбинаций по столбцу в первой таблице вы можете сделать это:

apply(matrix(1:20, ncol=5), 2, combn, m=2)

Это будет зависеть от того, как вы хотите, чтобы конечные данные выглядели. Это может быть более разумно, как список:

apply(matrix(1:20, ncol=5), 2, function(x) list(combn(x, m=2)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...