У меня есть dataframe, который выглядит следующим образом:Получить уникальные комбинации значений с итоговым подсчетом других переменных
pred1 pred2 pred3 exp
a b c 0
a d c 0
a b c 1
То, что я хотел бы сделать, это сначала получить все уникальные комбинации pred1-3, записать их в дополнительную таблицу, добавьте столбец для частоты каждой комбинации и добавьте еще один столбец, который дает пропорцию значения 1 exp (которая может быть только 0 или 1) для каждой комбинации. Что-то вроде этого:
pred1 pred2 pred3 freq exp_prop
a b c 2 0.5
a d c 1 0
Первые три шага оказался очень легко с plyr:
ddply(df, .(pred1, pred2, pred3), summarise, freq=length(exp))
или короче
count(df[,c(pred1, pred2, pred3)])
Но я просто не могу понять, как получить величины exp.
Эй, это было быстро - большое спасибо! К сожалению, пакет sqldf, похоже, не работает на моем компьютере. Загрузка выполняется, но как только я ввожу какую-либо команду после этого, я получаю сообщение с сообщением «пойманная ошибка шины» и сбой R. Разве нет возможности сделать это с помощью родного синтаксиса R? – user1554977
Предположим, вы используете mac? установите это, и он будет работать. sqldf - потрясающий пакет. http://r.789695.n4.nabble.com/sqldf-hanging-on-macintosh-works-on-windows-tp3022193p3022397.html –