I would like to summarize the pass / fail status for my data as shown below. In other words, I would like to talk about the number of failures and failures for each product / type.
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)
The following cmd returns the total number of cases with pass + fail error, but I need separate columns for pass and fail
dfSummary <- ddply(df, c("product", "type"), summarise, N=length(result))
Result:
product type N 1 p1 t1 6 2 p1 t2 6 3 p2 t1 6 4 p2 t2 6
The desired result would be
product type Pass Fail 1 p1 t1 5 1 2 p1 t2 3 3 3 p2 t1 4 2 4 p2 t2 3 3
I tried something like:
dfSummary <- ddply(df, c("product", "type"), summarise, Pass=length(df$product[df$result=="pass"]), Fail=length(df$product[df$result=="fail"]) )
but obviously this is wrong, as the results are a big outcome for failure and passing.
Thanks in advance for your advice! Regards, Riad.