Re: [R] help with double looping

2013-02-09 Thread christel lacaze

Hi Rui, thanks very much for your help - i've finally cracked it... the correct 
code was
iscores<-list()for (j in seq(1,166,11)){for (i in j:(j+10))   
{iscores[[i]=(i-j)*data[[i]]   }}
instead of iscores[[i-j+1]]=(i-j)*data[[i-j+1]]
I probably wasn't explaining myself very well if you're interested i've 
used dput as you suggested on a reduced dataset with just 22 variables and 5 
observations.  Each variable is a mood score by activity going from 0 to 10 (v1 
to v11) and I wanted to multiply each cell by the value of the corresponding 
score (so v1*0, v2*1, ... , v11*10):
> dput(head(mtest, 20))structure(list(Mood0 = c(0, 4, 0, 0, 0), Mood1 = c(0, 8, 
> 0, 0, 0), Mood2 = c(0, 13, 0, 0, 0), Mood3 = c(0, 19, 0, 4, 0), Mood4 = c(0, 
> 16, 5, 16, 4), Mood5 = c(19, 27, 16, 37, 2), Mood6 = c(169, 31, 63, 36, 6), 
> Mood7 = c(13, 34, 107, 47, 12), Mood8 = c(0, 26, 17, 45, 43), Mood9 = c(0, 
> 24, 0, 27, 100), Mood10 = c(0, 13, 0, 9, 53), `Mood0 and Travelling` = c(0, 
> 92, 0, 0, 0), `Mood1 and Travelling` = c(0, 184, 0, 0, 0), `Mood2 and 
> Travelling` = c(0, 299, 0, 0, 0), `Mood3 and Travelling` = c(0, 437, 0, 92, 
> 0), `Mood4 and Travelling` = c(0, 368, 50, 368, 84), `Mood5 and Travelling` = 
> c(494, 621, 160, 851, 42), `Mood6 and Travelling` = c(4394, 713, 630, 828, 
> 126), `Mood7 and Travelling` = c(338, 782, 1070, 1081, 252), `Mood8 and 
> Travelling` = c(0, 598, 170, 1035, 903)), .Names = c("Mood0", "Mood1", 
> "Mood2", "Mood3", "Mood4", "Mood5", "Mood6", "Mood7", "Mood8", "Mood9", 
> "Mood10", "Mood0 and Travelling", "Mood1 and Travelling", "Mood2 and 
> Travelling", "Mood3 an!
 d Travelling", "Mood4 and Travelling", "Mood5 and Travelling", "Mood6 and 
Travelling", "Mood7 and Travelling", "Mood8 and Travelling"))
Using the test code below, i was finally able to achieve on this reduced 
dataset what i set out to do...:
> mitest<-list()#list of the i*moodi values for 2 activities> for (j in 
> seq(1,22,11)) + {+   for (i in j:(j+10))+   {mitest[[i]]=(i-j)*mtest[[i]]+   
> }+ }> mtest[[1]][1] 0 4 0 0 0> mitest[[1]][1] 0 0 0 0 0> mtest[[6]][1] 19 27 
> 16 37  2> mitest[[6]][1]  95 135  80 185  10> mtest[[12]][1]  0 92  0  0  0> 
> mitest[[12]][1] 0 0 0 0 0> mtest[[17]][1] 494 621 160 851  42> 
> mitest[[17]][1] 2470 3105  800 4255  210
Thanks again!
Christel

> Date: Fri, 8 Feb 2013 17:54:15 +
> From: ruipbarra...@sapo.pt
> To: christellac...@hotmail.co.uk
> CC: r-help@r-project.org
> Subject: Re: [R] help with double looping
> 
> Hello,
> 
> You're right, sorry for the misleading tip. How about seq(1, 177, 11)? 
> Please note that without a data example, it's not very easy to say. 
> Can't you post a small dataset using ?dput
> 
> dput(head(data, 20))  # paste the output of this.
> 
> 
> Rui Barradas
> 
> Em 08-02-2013 17:10, christel lacaze escreveu:
> >
> > that doesn't seem to be the issue i'm afraid... both j sequences produce 
> > the same numbers:
> >
> >> j<-seq(1,166,11)
> >> j
> >   [1]   1  12  23  34  45  56  67  78  89 100 111 122 133 144 155 166
> >> j<-seq(1,176,11)
> >> j
> >   [1]   1  12  23  34  45  56  67  78  89 100 111 122 133 144 155 166
> >
> >> Date: Fri, 8 Feb 2013 16:37:52 +
> >> From: ruipbarra...@sapo.pt
> >> To: christellac...@hotmail.co.uk
> >> CC: r-help@r-project.org
> >> Subject: Re: [R] help with double looping
> >>
> >> Hello,
> >>
> >> Maybe seq(1, 16*11, 11)? (16*11 is 176, not 166)
> >>
> >>
> >> Hope this helps,
> >>
> >> Rui Barradas
> >>
> >> Em 08-02-2013 16:03, christel lacaze escreveu:
> >>>
> >>> hi there,
> >>>
> >>> I have a dataframe in the shape vA1, vA2,..., vA11, vB1, vB2,..., 
> >>> VB11,..., VP1, VP2,, VP11 (so 16 times a sequence of 11 variables)
> >>> I am trying to build a double loop so that i can apply the function 
> >>> (i-1)*v(i) to the first 10 variables, then the same for the next 10 
> >>> variables, etc... 16 times.
> >>>
> >>> I have tried the following with no luck:
> >>>
> >>> iscores<-list()
> >>> for (j in seq(1,166,11))
> >>> {
> >>> for (i in j:(j+10))
> >>>   {iscores[[i-j+1]]=(i-j)*data[[i-j+1]]
> >>>   }
> >>> }
> >>>
> >>> any suggestion...?
> >>>
> >>> many thanks,
> >>>
> >>> Christel
> >>>   
> >>>   [[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]]

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


Re: [R] help with double looping

2013-02-08 Thread christel lacaze

that doesn't seem to be the issue i'm afraid... both j sequences produce the 
same numbers:

> j<-seq(1,166,11)
> j
 [1]   1  12  23  34  45  56  67  78  89 100 111 122 133 144 155 166
> j<-seq(1,176,11)
> j
 [1]   1  12  23  34  45  56  67  78  89 100 111 122 133 144 155 166

> Date: Fri, 8 Feb 2013 16:37:52 +
> From: ruipbarra...@sapo.pt
> To: christellac...@hotmail.co.uk
> CC: r-help@r-project.org
> Subject: Re: [R] help with double looping
> 
> Hello,
> 
> Maybe seq(1, 16*11, 11)? (16*11 is 176, not 166)
> 
> 
> Hope this helps,
> 
> Rui Barradas
> 
> Em 08-02-2013 16:03, christel lacaze escreveu:
> >
> > hi there,
> >
> > I have a dataframe in the shape vA1, vA2,..., vA11, vB1, vB2,..., 
> > VB11,..., VP1, VP2,, VP11 (so 16 times a sequence of 11 variables)
> > I am trying to build a double loop so that i can apply the function 
> > (i-1)*v(i) to the first 10 variables, then the same for the next 10 
> > variables, etc... 16 times.
> >
> > I have tried the following with no luck:
> >
> > iscores<-list()
> > for (j in seq(1,166,11))
> >{
> >for (i in j:(j+10))
> >  {iscores[[i-j+1]]=(i-j)*data[[i-j+1]]
> >  }
> >}
> >
> > any suggestion...?
> >
> > many thanks,
> >
> > Christel
> > 
> > [[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]]

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


[R] help with double looping

2013-02-08 Thread christel lacaze

hi there,

I have a dataframe in the shape vA1, vA2,..., vA11, vB1, vB2,..., VB11,..., 
VP1, VP2,, VP11 (so 16 times a sequence of 11 variables)
I am trying to build a double loop so that i can apply the function (i-1)*v(i) 
to the first 10 variables, then the same for the next 10 variables, etc... 16 
times.

I have tried the following with no luck:

iscores<-list()
for (j in seq(1,166,11)) 
  {
  for (i in j:(j+10))
{iscores[[i-j+1]]=(i-j)*data[[i-j+1]]
}
  }

any suggestion...?

many thanks,

Christel
  
[[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.


[R] help with creating new variables using a loop

2013-02-07 Thread christel lacaze

Hi there,

I've got a set of 10 numeric variables called Mood1 to Mood10 in a dataset 
called mood.  I'm trying to create a set of 10 new variables called m1 to m10 
so that m1=Mood1*1, m2=Mood2*2, etc to m10=Mood10*10

Trawling through the internet, I eventually tried the following code:

for (i in 1:10){
  assign(x=paste0("mood$m",i),
 value=paste0("mood$Mood",i)*i,
 envir=.GlobalEnv)
}

unfortunately this doesn't work as it seems the paste0 function returns a list 
object that only contains the vector's name and not the vector itself.

Hope someone can help...

Christel
  
[[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.