Skip to content

How to use apply() to fill matrix by rows or columns?

9 messages · Jeff Newmiller, C W

C W
#
Dear R,

I wanted to simulate a 5 by 3 matrix which fills up by either rows or
columns?

I started with the following filling the matrix by rows,

dat <- matrix(NA, nrow=5, ncol = 3)

for(i in 1:5){

    dat[i, ] <- rnorm(3)

}

But, R is known for no loop drama. Any suggestions?

Thanks!
#
What is wrong with

dat <- matrix(rnorm(15), nrow=5, ncol = 3)

?

And what is this "no loop drama" you refer to? I use loops frequently to loop around large memory gobbling chunks of code.
C W
#
In theory, I am generating from group 5 groups of random numbers, each
group has 3 samples.

Isn't apply() the replacement of loops?

On Fri, Feb 24, 2017 at 8:23 PM, Jeff Newmiller <jdnewmil at dcn.davis.ca.us>
wrote:

  
  
#
The apply function is one of many alienate ways to write a loop. It is not appreciably more efficient in cpu time than a for loop.

Your example creates the numbers in the loop... does your actual data get created in a loop? If so then your original code should be perfectly serviceable. If not then there might be a better way to do this, but you would have to expand your example to illustrate how the data comes to you in order to suggest alternatives.

Also post using plain text to prevent your code from being mangled on its way to us.
C W
#
I suppose for loop will suffice.

I simply copy & paste the code from R editor. From my email, it looks
plain. Is there a way to tell?

On Fri, Feb 24, 2017 at 8:50 PM, Jeff Newmiller <jdnewmil at dcn.davis.ca.us>
wrote:

  
  
#
There is a little button near the bottom of the Gmail editing box that switches to plain text. We can immediately tell because of the


line when we receive it, and sometimes it loses all of the line breaks or has extra asterisks mixed in. You can look in the archives or replies to see what we see.
C W
#
Thanks for letting me know. That line does look familiar.

It's interesting how I simply copy and paste from R editor can result in
HTML format.

On Fri, Feb 24, 2017 at 9:16 PM, Jeff Newmiller <jdnewmil at dcn.davis.ca.us>
wrote:

  
  
#
I am pretty sure it is not RStudio that is converting it to html... it is Gmail... but many email programs seem to do this these days so that people can send Wingdings symbols to their lolz pals, with no thought of the damage done to computer code examples.
C W
#
I was using OS X native R editor. I would imagine that editor is as simple and native as it gets. But, if it's truly native, why would Gmail think of my code chunk so differently.
I'm just throwing it out there! I can always remove format in Gmail after pasting as a precaution. :)
On Fri, Feb 24, 2017 at 10:49 PM -0500, "Jeff Newmiller" <jdnewmil at dcn.davis.ca.us> wrote:
I am pretty sure it is not RStudio that is converting it to html... it is Gmail... but many email programs seem to do this these days so that people can send Wingdings symbols to their lolz pals, with no thought of the damage done to computer code examples.