Dear R helpers

I have following data.frame and for each product_name, I have associated mean and standard deviation. I need to generate 1000 random no.s for each of these products and find the respective mean and standard deviation.
 
My R code is as follows. 
 

library(plyr)
library(reshape2)
 
filtered_new <- data.frame(product_name = c("P1", "P2", "P3", "P4", "P5"), 
output_avg = c(22.71078,22.16979,21.34420,20.17421,19.83799),
output_stdev = c(23.59924,21.21430,22.01025,18.88877,18.80436))

n <- 100

myfunction_mc = function(product_name, output_avg, output_stdev)

{

product_usage_borrowing_room_mc = rnorm(n, output_avg, output_stdev)

output_avg_mc =
 mean(product_usage_borrowing_room_mc)
output_stdev_mc = sd(product_usage_borrowing_room_mc)

return(output_avg_mc )

}

result <- dlply(.data = filtered_new, .variables = "product_name", .fun = function(x) 
                 myfunction_mc(product_name = x$product_name, output_avg = x$output_avg, 
                 output_stdev = x$output_stdev))

result1 <- data.frame(result)

result2 <- melt(result1)

result <- data.frame(product = filtered_new$product_name, Monte_Carlo_result = result2$value)                  

And it gives me the desired result. 


######### PROBLEM is as given below -

But if in the "myfunction_mc", in the return statement if I try to add 'output_stdev_mc'
 i.e.

myfunction_mc = function(product_name, output_avg, output_stdev)

{

product_usage_borrowing_room_mc = rnorm(n, output_avg, output_stdev)

output_avg_mc = mean(product_usage_borrowing_room_mc)
output_stdev_mc = sd(product_usage_borrowing_room_mc)

return(output_avg_mc, output_stdev_mc)            # I have added output_stdev_m

}

result <- dlply(.data = filtered_new, .variables = "product_name", .fun = function(x) 
                 myfunction_mc(product_name = x$product_name, output_avg = x$output_avg, 
                 output_stdev = x$output_stdev))

I get following error -

Error in return(output_avg_mc, output_stdev_mc) : multi-argument returns are not permitted

Kindly
 guide.

Regards


Vincy


	[[alternative HTML version deleted]]

