[R] Problem looping a function to create/add to new dataframe
David Winsemius
dwinsemius at comcast.net
Thu Sep 15 20:40:15 CEST 2011
On Sep 15, 2011, at 1:50 PM, Mike Treglia wrote:
> Dear List Members,
>
> I have created a function to run a simulation based on a given set
> of values within a vector, such that I run the function like this:
>
> new.data<-sapply(vector, function)
>
> In which I run 'function' on every value within a vector that I
> created. The result is a matrix of 1000 rows, and as many columns as
> the length of the vector.
>
> I modified the function to utilize two given values, such that it
> is: function(x,y), and I want to run this function for not only a
> range of values of 'x', but a range of values of 'y' as well, such
> that for each value of 'y', I'd create another 1000 rows in the
> matrix. I was trying to loop this, but in doing so, it looks like I
> just keep creating datasets and replacing them with datasets for
> subsequent 'y' values, rather than adding new rows. The structure of
> my current loop is below. Any suggestions on what to change to
> accomplish what I want? Would it be good to create a dataframe first
> and then somehow add these new rows to the dataframe? Also, is it
> appropriate to have the 'i' in the sapply statement?
>
> for (i in c(seq(10,100,10))){
The c() call is extraneous.
> new.data<-sapply(vector, function, i)
Perhaps:
# scrap the entire for loop(sapply()) mess and use this
newdata <- outer(Y=seq(10,100,10), X=vector, FUN=function)
Or:
mapply(function, expand.grid(x=vector, y=seq(10,100,10) ) )
# which is sort of like your last notion,
All of this is untested in the absence of a reproducible example but
you definitely should work through the examples on:
?outer
?mapply
> }
>
> Please let me know if more detail on my code would be helpful- I was
> just trying to keep it simple and focus on what I saw as the problem
> at hand for now.
> Thank you for your help.
> Sincerely,
> Mike Treglia
>
> --
> Michael Treglia
> Applied Biodiversity Sciences NSF-IGERT Program
> Wildlife and Fisheries Sciences
> Texas A&M University
> Lab: (979)862-7245
> mlt35 at tamu.edu
> http://people.tamu.edu/~mlt35
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list