Круто.
Разобрался, aggregate помог.
aggregate(A, by=list(A[,1], FUN=median)
Выдает немного шлака в таблице тоже почему-то, но это все исправляется в электронных таблицах, там очевидно. А дальше при обработке уже можно округлить все вверх (чтобы, если была хоть одна 1, значение стало 1)
apply(A, 2, ceiling).
Соответственно, можно потом округлять все вниз, можно по общим правилам (тогда если в половине или более случаев была 1, то станет 1)...
Спасибо!