2016-05-12 2 views
1

У меня есть DF с несколькими столбцов, имеющими значение 0 или 1. Что-то вроде:вычисление суммы всех против всех столбцов с совпадающим количеством строк

a b c d e 
1 0 0 0 0 
0 1 0 1 0 
0 1 0 1 0 
1 0 1 0 1 

Я хотел бы создать матрицу 5 на 5, показывающую общее количество если столбцы имеют 1 в одной строке. Я только хочу, чтобы рассмотреть 1, так и в случае диагонали он будет автоматически отражать общую строку в этой колонке с 1. Вывод что-то вроде:

a b c d e 
a 2 0 1 0 1 
b 0 2 0 2 0 
c 1 0 1 0 1 
d 0 2 0 2 0 
e 1 0 1 0 1 

Спасибо.

Судир

ответ

2

Преобразовать в матрицу и принять перекрестный продукт:

m <- as.matrix(d) 
crossprod(m,m) 
+0

спасибо Марату ... что является удивительным .. не знал, что это будет так просто :) – Sudhir

Смежные вопросы