Try this:  You had some 'indexing' problems.  You were accessing the
columns of the dataframe incorrectly.  You are also accessing 'list'
so you might want to review the Intro to R on indexing:

> datos.mx1 <- 
> read.table('http://r.789695.n4.nabble.com/file/n4638257/PETmx1.csv',head=TRUE,sep=';')
> datos.min <- 
> read.table('http://r.789695.n4.nabble.com/file/n4638257/PETmin.csv',head=TRUE,sep=';')

>
> superior <- NULL
> inferior <- NULL
> LC <- NULL
> LF <- NULL
>
>
> for (i in 3:6){

+ superior[[i]] <- 23+(datos.mx1[[i]]-23)*0.33;
+ inferior[[i]] <- 18+(datos.min[[i]]-18)*0.33;
+ }

>
> #Until here everything is ok, but the next loop issues an error. I must

> #multiply the results of each weather station with a constant.

>
> for (i in 3:6){

+
+ LF[[i]] <- 1.26086956521739*superior[[i]]
+ LC[[i]] <- 0.722222222222222*inferior[[i]]
+ }
> str(LF)
List of 6
 $ : NULL
 $ : NULL
 $ : num [1:1826] 21.1 21.7 23.5 23.5 23.7 ...
 $ : num [1:1826] 25.4 23.5 24.8 25 24.5 ...
 $ : num [1:1826] 23.3 24 24.7 24.7 24.9 ...
 $ : num [1:1826] 21.8 22.6 23.5 23.5 22.8 ...
> str(LC)
List of 6
 $ : NULL
 $ : NULL
 $ : num [1:1826] 7.83 8.5 8.21 7.83 8.28 ...
 $ : num [1:1826] 9.07 9.76 8.54 8.07 9.35 ...
 $ : num [1:1826] 8.66 8.95 8.61 7.61 9.12 ...
 $ : num [1:1826] 8.07 8.69 8.07 7.85 8.23 ...

On Sun, Jul 29, 2012 at 9:59 AM, Domi <dominic.r...@gmail.com> wrote:
> Hello erverybody,
>
> I have a problem with my second for-loop.
>
> 1. First i read the tables.
>
> datos.mx1 <- read.table('PETmx1.csv',head=TRUE,sep=';')
> datos.min <- read.table('PETmin.csv',head=TRUE,sep=';')
>
> http://r.789695.n4.nabble.com/file/n4638257/PETmx1.csv PETmx1.csv
> http://r.789695.n4.nabble.com/file/n4638257/PETmin.csv PETmin.csv
>
> names(datos.mx1)
>
>  "Fecha"              "Mes"                "Serra.da.Foladoira"
> "Santiago"           "Sergude"            "Rio.Do.Sol"
>
> You find in the first column the date and in the second only the month. The
> other columns contain the temperature of the respective weather stations.
>
> 2.  My aim is to calculate thresholds for each weather station.
>
> superior <- NULL
> inferior <- NULL
> LC <- NULL
> LF <- NULL
>
>
> for (i in 3:6){
> superior[i] <- 23+(datos.mx1[i]-23)*0.33;
> inferior[i] <- 18+(datos.min[i]-18)*0.33;
> }
>
> #Until here everything is ok, but the next loop issues an error. I must
> multiply the results of each weather station with a constant.
>
> for (i in 3:6){
>
> LF[i] <- 1.26086956521739*superior[[i]];
> LC[i] <- 0.722222222222222*inferior[[i]]
> }
>
>
> The error is: "Number of items to replace is not a multiple of replacement
> length".
>
>
> I hope someone can help me. I thank you very much.
>
> Best regards,
>
> Domi
>
>
>
>
>
>
> --
> View this message in context: 
> http://r.789695.n4.nabble.com/Error-in-for-loop-tp4638257.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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.



-- 
Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.

______________________________________________
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.

Reply via email to