Я пытаюсь использовать функцию count
из библиотеки plyr
в R, чтобы рассчитать частоту конкретных комбинаций чисел, которые появились.Частота подсчета с использованием plyr
Например, я хочу точно знать, как часто число 1 и 2 появляются вместе.
N1 N2 N3
1 1 2 5
2 2 1 4
3 2 4 3
4 3 1 2
5 2 3 1
6 3 1 4
Таким образом, для dataframe, как один из приведенных выше, я должен был объединить столбцы 1 и 2, столбец 1 и 3, колонка 2 и 3, и объединить все из них. Затем я делаю «счет» для объединенных данных.
combined1_2 = cbind(df$N1,df$N2)
combined1_3 = cbind(df$N1,df$N3)
combined2_3 = cbind(df$N2,df$N3)
combined_all = rbind(freq1_2,freq1_3,freq2_3)
combined_freq = count(combined_all)
Поэтому, когда я проверяю частотную таблицу, я получил следующий результат (показан только частичный результат).
x1 x2 Freq
1 1 2 2
2 2 1 2
Проблема в том, что функция count обработала число «1 и 2», отличное от «2 и 1». Поэтому мне было интересно, есть ли какая-нибудь функция в R, которая может решить эту проблему и создать правильный результат, как показано ниже.
x1 x2 Freq
1 1 2 4
Спасибо за решение! Это экономит процесс объединения каждого столбца. Мне было интересно, есть ли простой способ записать все комбинации между любыми двумя числами среди 1 и 40. Или использует цикл единственное решение для замены части c (1, 2) на c (i, i + n) ? – 1stclassmelon
@ 1stclassmelon приветствую :-). Может быть, с 'combn' для вашего второго вопроса? – Cath