Dear R members Could someone tell me how to simulate Likert-type data using the rnorm function. Let's say, 200*15 random numbers in a variable that goes from 1 to 4 in steps of 1 (i.e., 1, 2, 3, 4) belonging to a normal distribution? random.data <— matrix(rnorm(200 * 15), nrow = 200, ncol = 15) random.data The result cannot be reached. could one help me revise the syntax? Cheers cao -- View this message in context: http://r.789695.n4.nabble.com/how-to-simulate-Likert-type-data-using-R-tp3625664p3625664.html Sent from the R help mailing list archive at Nabble.com. [[alternative HTML version deleted]]
?sample Date: Sun, 26 Jun 2011 02:26:10 -0700 From: wjcao16@hotmail.com To: r-help@r-project.org Subject: [R] how to simulate Likert-type data using R Dear R members Could someone tell me how to simulate Likert-type data using the rnorm function. Let's say, 200*15 random numbers in a variable that goes from 1 to 4 in steps of 1 (i.e., 1, 2, 3, 4) belonging to a normal distribution? random.data <— matrix(rnorm(200 * 15), nrow = 200, ncol = 15) random.data The result cannot be reached. could one help me revise the syntax? Cheers cao -- View this message in context: http://r.789695.n4.nabble.com/how-to-simulate-Likert-type-data-using-R-tp3625664p3625664.html Sent from the R help mailing list archive at Nabble.com. [[alternative HTML version deleted]] ______________________________________________ R-help@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. [[alternative HTML version deleted]]
On 06/26/2011 07:26 PM, wjcao wrote:> Dear R members > > Could someone tell me how to simulate Likert-type data using the rnorm > function. > > Let's say, 200*15 random numbers in a variable that goes from 1 to 4 in > steps of > 1 (i.e., 1, 2, 3, 4) belonging to a normal distribution? > > random.data<??? matrix(rnorm(200 * 15), nrow = 200, ncol = 15) > random.data > > The result cannot be reached. >Hi cao, Values on a Likert scale, like most other categorical data, do not usually have a normal distribution, especially with a small number of agreement levels. However, if you want to distribute the numbers 1 to 4 in the most "normal" way possible, here is a fairly easy way. Use the "sample" function and specify the probabilities for the four digits so that they would be close to the way normal variates would be binned into four categories: table(cut(rnorm(100),breaks=c(-10,-1,0,1,10))) Don't just copy this, but think about how you want to slice up a "normal" distribution to get the best fit. Then when you have discovered the correct proportions of responses, you can use those proportions as the "prob" argument of the sample function. Let's say that this looks enough like homework that I won't just give a solution. Jim