r - Mean of columns with ddply without considering 0 values -


so have data frame dates , values columns. found code calculates mean of values same date.

meanvalues = ddply(df, .(date), summarize, values = mean(values)) 

now problem considers 0 values, values na, there easy way modify code, exclude 0 or na values?

i appreciate take time me, thank you.

let's create sample data:

df = structure(list(date = structure(c(17115, 17116, 17115, 17115,  17115, 17115, 17115, 17116, 17115, 17116), class = "date"), values = c(12,  na, 13, 15, 18, 14, 17, 11, 20, 19)), .names = c("date", "values" ), row.names = c(na, -10l), class = "data.frame") 

just filter out zeroes in way, such as:

> meanvalues = ddply(df, .(date), summarize, values = mean(values[values>0])) 

but better replace 0 na @ earlier stage, use na.rm=true in mean call.

> df$values[df$values==0]=na  > meanvalues = ddply(df, .(date), summarize, values = mean(values,na.rm=true)) > meanvalues         date   values 1 2016-11-10 15.57143 2 2016-11-11 15.00000 >  

Comments

Popular posts from this blog

sql server - Cannot query correctly (MSSQL - PHP - JSON) -

php - trouble displaying mysqli database results in correct order -

C++ Linked List -