[R] R for loop stops after 4 iterations
R. Michael Weylandt
michael.weylandt at gmail.com
Sun Oct 23 02:29:43 CEST 2011
Oops!!
Meant pnorm(, lower.tail = FALSE) -- don't do qnorm or bad things will happen.
Sorry,
Michael
On Sat, Oct 22, 2011 at 8:28 PM, R. Michael Weylandt
<michael.weylandt at gmail.com> wrote:
> There's a seeming inconsistency in this question -- namely, you
> provide an example of a data frame with 4 columns but say it is 27x3
> -- but I think your question comes from a misunderstanding of what
> length(e) calculates. For a data frame it gives the number of columns
> back. Hence if you have a 27x4 data frame (which you appear to)
> iterations will only fill the first four elements of output.
>
> You'd probably rather use NROW(e). As an aside, for these sort of
> loops, seq_along() is usually a very good choice, but it doesn't work
> here because of the length() thing.
>
> On another note, why don't you just do the calculation analytically
> and save yourself some trouble?
>
>
> # Something like
> with(e, qnorm(0.42, V2, V3)*100)
>
>
> Michael
>
>
> On Sat, Oct 22, 2011 at 7:33 PM, Philip Robinson
> <philip.c.robinson at gmail.com> wrote:
>> I have a data frame called e, dim is 27,3, the first 5 lines look like this:
>>
>>
>>
>>
>>
>> V1 V2 V3 V4
>>
>> 1 1673 0.36 0.08 Smith
>>
>> 2 167 0.36 0.08 Allen
>>
>> 3 99 0.37 0.06 Allen
>>
>> 4 116 0.38 0.07 Allen
>>
>> 5 95 0.41 0.08 Allen
>>
>>
>>
>> I am trying to calculate the proportion/percentage of V1 which would have
>> values >0.42 if V2 was the mean of a normal distribution with V1 people and
>> a standard distribution of V3. The loop works but only for 4 iterations then
>> stops, I can't understand why, the code and the output are below
>>
>>
>>
>>
>>
>> output <- rep(NA, 27)
>>
>> for (i in 1:length(e))
>>
>> {
>>
>> x <- rnorm(n=e[i,1], mean=e[i,2], sd=e[i,3])
>>
>> n <- e[i,1]
>>
>> v <- x>0.42
>>
>> q <-(sum(v)/n)*100
>>
>> output[i] <- q
>>
>> }
>>
>>
>>
>>>output
>>
>> [1] 22.23551 27.54491 25.25253 19.82759 NA NA NA NA
>> NA
>>
>> [10] NA NA NA NA NA NA NA NA
>> NA
>>
>> [19] NA NA NA NA NA NA NA NA
>> NA
>>
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> 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.
>>
>
More information about the R-help
mailing list