У меня есть фрейм данных:
temp = as.data.frame(matrix(c(1,2,2,-3,1,1,2,3,-2,0,2,1,-5,1,1,2,1,3,0,0,3,2,4,-1,1,3,2,2,0,1,3,2,4,3,0), ncol=5,byrow = TRUE))
colnames(temp) = c("ID","srch","utility","reutility","code")
Мне нужно сгруппировать по столбцу "ID". Для любого значения «ID» столбец «srch» остается прежним. Для каждой группы, если srch> 1, мне нужно min (утилита, где код == 1) -max (повторяемость, где код == 0), иначе (т.е. если srch <= 1) мне нужно, чтобы оно было 0. </p>
Это вывод, который мне нужен:
temp = as.data.frame(matrix(c(1,4,2,0,3,-1), ncol=2,byrow = TRUE))
colnames(temp)=c("ID","Val")
Любой код, использующий dplyr, хорош, но приветствуются и другие.