Допустим, у меня есть кадр данных из трех столбцов: первый указывает номер функции (например, цвет), второй - группу и третий, если эта функция присутствует в что группа (1) или отсутствует в этой группе (0):Сравнение перекрестков между группами, указанными в первом столбце
> d<-data.frame(feature=c("red","blue","green","yellow","red","blue","green","yellow"), group=c(rep("a",4),rep("b",4)),is_there=c(0,1,1,0,1,1,1,0))
> d
feature group is_there
1 red a 0
2 blue a 1
3 green a 1
4 yellow a 0
5 red b 1
6 blue b 1
7 green b 1
8 yellow b 0
Теперь я хотел бы иметь краткую информацию о том, сколько функции: 1. только в группе а, только в группе б и сколько в настоящее время в обеих группах. Кроме того, мне нужно извлечь имя функций, присутствующих в обеих группах. Как я могу это сделать? Я полагаю, что такая функция, как crossprod
, может помочь, но я не могу понять.
Выходной сигнал будет что-то вроде:
feature
red 1
blue 2
green 2
yellow 0
или:
feature a b
red 0 1
blue 1 1
green 1 1
yellow 0 0
любом случае мне нужен лучший обзор над довольно большим файлом данными (оригинал имеет сотни функций примерно 10 групп) ,
Это не показывает, что желтый нет в любой из двух групп? Возможно, мой вопрос был неточно спрошен. – aldorado
@aldorado - Я сделал редактирование –
@Richard Scriven +1 Ваша 'таблица' более чистая, чем моя – akrun