Perhaps different people find different concepts the most challenging, but I 
find looking at the output of expand.grid quite informative... do try it out.

The do.call function seems to be the more obscure function here, but Bert's code

id <- do.call( paste0, expand.grid(0:9,1:3,1:5) )

is equivalent to

all_comb <- expand.grid( 0:9, 1:3, 1:5 )
all_comb # look at it for learning, remove once you understand
paste0( all_comb[[1]], all_comb[[2]], all_comb[[3]] )

because all_comb is a data frame, which is a list of column vectors all the 
same length. The do.call function expects the first argument to be a function 
symbol, while the second argument to do.call should be a single object that is 
a list of arguments you want that function to be given as separate arguments. 
The paste0 function puts the three vectors together into one character vector, 
element by element.

Read the help pages for each function:
?expand.grid
?paste0
?do.call

On the other hand, nested for loops seem to become spaghetti quickly in my 
mind... essentially just write-only code because I never want to look at it 
again.

On August 19, 2019 2:09:59 PM PDT, Jim Lemon <drjimle...@gmail.com> wrote:
>Hi Greg,
>I replied because I thought the name of the "expand.grid" function can
>be puzzling. While "expand.grid" is a very elegant and useful
>function, it is much easier to see what is happening with explicit
>loops rather than loops buried deep inside "expand.grid". Also note
>Bill's comment about producing repeats by converting numeric values to
>character without the leading zeros. You can also use "formatC" to
>deal with that problem.
>
>Jim
>
>On Tue, Aug 20, 2019 at 12:05 AM <g.eastham.gilb...@gmail.com> wrote:
>>
>> Jim,
>>
>> Thank you very much for your help. I have "unpacked" the code and
>have a rudimentary understanding of what you did. Thanks again.
>However, I have no idea to what Bert is referring. Could you help me
>understand his suggestion? Thanks.
>>
>> -Greg
>
>______________________________________________
>R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>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.

-- 
Sent from my phone. Please excuse my brevity.

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.

Reply via email to