[R] Monte Carlo on simple regression

Eric Berger ericjberger @ending from gm@il@com
Wed Aug 22 18:23:28 CEST 2018


You have an extra comma ... it should be

Li[sample(1:N, size = S, replace = TRUE)]

i.e. no comma after the closing parenthesis



On Wed, Aug 22, 2018 at 7:20 PM, Ogbos Okike <giftedlife2014 using gmail.com>
wrote:

> Hello Eric,
> Thanks for this.
>
> I tried it. It went but another problem prevents the code from running.
>  source("script.R")
> Error in Li[sample(1:N, size = S, replace = TRUE), ] :
>   incorrect number of dimensions
>
> The error is coming from the line:
>  subsample <- Li[sample(1:N, size=S, replace=TRUE), ]
>
> I tried to replace Li with N but it didn't go. I also tried replacing it
> with length(Li). The same error remains.
>
> Thank so much for looking at this again.
>
> Ogbos
>
>
> On Wed, Aug 22, 2018 at 5:06 PM Eric Berger <ericjberger using gmail.com> wrote:
>
>> Li is defined as d1$a which is a vector. You should use
>>
>> N <- length(Li)
>>
>> HTH,
>> Eric
>>
>>
>> On Wed, Aug 22, 2018 at 6:02 PM, Ogbos Okike <giftedlife2014 using gmail.com>
>> wrote:
>>
>>> Kind R-users,
>>> I run a simple regression. I am interested in using the Monte Carlo to
>>> test
>>> the slope parameter.
>>> Here is what I have done:
>>> d1<-read.table("Lightcor",col.names=c("a"))
>>> d2<-read.table("CRcor",col.names=c("a"))
>>>  Li<-d1$a
>>> CR<-d2$a
>>>
>>>  fit<-lm(Li~CR)
>>>  a<-summary(fit)
>>> a gives the slope as 88.15
>>>
>>> Problem: I now what to repeat the samples to access this coefficient.
>>> Following one of the related examples I got online, I did (tried to
>>> modify):
>>>
>>> N <- nrow(Li) # returns the number of observations in the dataset
>>> C <- 50         # desired number of subsamples
>>> S <- 38         # desired sample size
>>>
>>> sumb2 <- 0
>>> for (i in 1:C){   # a loop over the number of subsamples
>>>   set.seed(3*i)   # a different seed for each subsample
>>>   subsample <- Li[sample(1:N, size=S, replace=TRUE), ]
>>>   mod <- lm(Li~CR,data=subsample)
>>>   #sum b2 for all subsamples:
>>>   sumb2 <- sumb2 + coef(mod)[[2]]
>>> }
>>> print(sumb2/C, digits = 3)
>>>
>>>    But when I run the script, I had error message:
>>> Error in 1:N : argument of length 0
>>> My data:
>>> Li        CR
>>> 74281 8449
>>> 92473 8148
>>> 62310 8520
>>> 71219 8264
>>> 33469 8389
>>> 75768 7499
>>> 61636 7821
>>> 103829 8468
>>> 87336 8568
>>> 129443 8190
>>> 97682 8539
>>> 106918 8502
>>> 97171 8578
>>> 48012 8181
>>> 93086 8631
>>> 92374 8562
>>> 113010 8404
>>> 66956 8592
>>> 133037 8632
>>> 108849 8644
>>> 81544 8442
>>> 105072 8615
>>> 143437 7724
>>> 153294 7829
>>> 123735 8682
>>> 154738 8756
>>> 100760 8839
>>> 108034 8839
>>> 81826 8858
>>> 116901 8847
>>> 80780 8869
>>> 122684 8736
>>> 141716 9087
>>> 144315 9166
>>> 162078 9147
>>> 163184 9267
>>> 150688 9275
>>> 200848 9259
>>> 221570 8943
>>> 192424 8564
>>> 173024 9282
>>> 197326 9318
>>> 209344 9293
>>> 220201 9242
>>> 212626 9324
>>> 218115 9319
>>> 170001 9314
>>> 187490 9346
>>> 172440 9350
>>> 180330 9349
>>> 200807 9355
>>> 234994 9350
>>> 139053 9284
>>> 150048 9361
>>> 203650 9346
>>> 233331 9369
>>> 198790 9340
>>> 164060 9382
>>> 198000 9401
>>> 201707 9355
>>> 179257 9369
>>> 188736 9298
>>> 243392 9393
>>> 246040 9374
>>> 269058 9364
>>> 201657 9370
>>> 187942 9354
>>> 228514 9305
>>> 234000 9392
>>> 224431 9395
>>> 163502 9398
>>> I would be most glad for your great assistance.
>>> Many thanks.
>>> Ogbos
>>>
>>>         [[alternative HTML version deleted]]
>>>
>>> ______________________________________________
>>> R-help using 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.
>>>
>>
>>

	[[alternative HTML version deleted]]



More information about the R-help mailing list