Vorrei riassumere lo stato pass/fail per i miei dati come di seguito. In altre parole, vorrei dire il numero di casi passati e non riusciti per ciascun prodotto/tipo.Programmazione R: plyr come contare i valori da una colonna con ddply
library(ggplot2)
library(plyr)
product=c("p1","p1","p1","p1","p1","p1","p1","p1","p1","p1","p1","p1","p2","p2","p2","p2","p2","p2","p2","p2","p2","p2","p2","p2")
type=c("t1","t1","t1","t1","t1","t1","t2","t2","t2","t2","t2","t2","t1","t1","t1","t1","t1","t1","t2","t2","t2","t2","t2","t2")
skew=c("s1","s1","s1","s2","s2","s2","s1","s1","s1","s2","s2","s2","s1","s1","s1","s2","s2","s2","s1","s1","s1","s2","s2","s2")
color=c("c1","c2","c3","c1","c2","c3","c1","c2","c3","c1","c2","c3","c1","c2","c3","c1","c2","c3","c1","c2","c3","c1","c2","c3")
result=c("pass","pass","fail","pass","pass","pass","fail","pass","fail","pass","fail","pass","fail","pass","fail","pass","pass","pass","pass","fail","fail","pass","pass","fail")
df = data.frame(product, type, skew, color, result)
Il seguente restituisce cmd il numero totale di passaggio + non riescono casi ma voglio colonne separate per accettazione e di rifiuto
dfSummary <- ddply(df, c("product", "type"), summarise, N=length(result))
Risultato è:
product type N
1 p1 t1 6
2 p1 t2 6
3 p2 t1 6
4 p2 t2 6
Il risultato auspicabile sarebbe
product type Pass Fail
1 p1 t1 5 1
2 p1 t2 3 3
3 p2 t1 4 2
4 p2 t2 3 3
Ho tentato somthing come:
dfSummary <- ddply(df, c("product", "type"), summarise, Pass=length(df$product[df$result=="pass"]), Fail=length(df$product[df$result=="fail"]))
ma ovviamente è sbagliato in quanto i risultati sono il grande totatl per fallire e passare.
Grazie in anticipo per il vostro consiglio! Cordiali saluti, Riad.
Perfetto, questo è quello che mi serviva! Grazie per la pronta risposta! – Riad