Привет, у меня есть фрейм данных
d<- data.frame (type=c("rna","rna","rna"), value = c(1,2,3) )
d2 <- data.frame (type=c("dna","dna"), value = c(20,30) )
d3 <- data.frame (type=c("protein","protein","protein"), value = c(-9.6,300, 1000) )
df <- rbind (d,d2,d3)
type value
1 rna 1.0
2 rna 2.0
3 rna 3.0
4 dna 20.0
5 dna 30.0
6 protein -9.6
7 protein 300.0
8 protein 1000.0
Я бы хотел использовать условное среднее или максимальное.Используйте max, если есть хотя бы одно значение, которое <0, иначе используйте среднее.Например, в этом примере финальный df должен выглядеть следующим образом.</p>
value type
1 1000 protein
2 25 dna
3 2 rna
Я попытался обобщить как таковой, но это ошибки.
df %>%
group_by(type) %>%
summarise_all(
funs(
if (. < 0 ){max}
else{mean}
) )