[R] Create a list object in a loop

2012-03-09 Thread Aurelie Cosandey Godin
Dear all,

I'm trying to create a list of point patterns ppp.object {spatstat} in a loop.
My dataset looks like this:

 names(OT1);head(OT1);dim(OT1)
[1] EID   latitude  longitude month year  CPUE  
TSUM 
[8] fTSUM
EID latitude longitude month year CPUE TSUM fTSUM
1   167-1-1996-1135 67.7 -61.81667 9 199600 F
2  167-10-1996-1135 67.71667 -59.18333 9 199600 F
3 167-100-1996-1135 67.86667 -59.410 199600 F
4 167-101-1996-1135 67.95000 -59.5833310 199600 F
5 167-102-1996-1135 68.1 -59.7666710 199600 F
6 167-103-1996-1135 67.81667 -59.3833310 199600 F
[1] 27078

What I would like to do is to select data for each of my month and create a 
ppp.object.

 sort(unique(OT1$month))
[1]  7  8  9 10 11 12

The following loop works and I can see each of my figures:

for(i in sort(unique(OT1$month))){ 
  a-OT1[OT1$month==i,]
  b-ppp(a$longitude,a$latitude,marks=a$fTSUM,window=newW)
  plot(b,main=i)
}

How can I access each of my ppp.objects? I've tried adding a list() in the loop 
command such that I can access the data but without any success... Any help 
would be much appreciated!

Thank you!
__
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] Create a list object in a loop

2012-03-09 Thread Tal Galili
Hi Aurelie,
Please give this a look:
http://www.nealgroothuis.name/introduction-to-data-types-and-objects-in-r/

And see if this resolves most, or all, of your questions...


Contact
Details:---
Contact me: tal.gal...@gmail.com |  972-52-7275845
Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew) |
www.r-statistics.com (English)
--




On Fri, Mar 9, 2012 at 5:48 PM, Aurelie Cosandey Godin god...@dal.cawrote:

 Dear all,

 I'm trying to create a list of point patterns ppp.object {spatstat} in a
 loop.
 My dataset looks like this:

 names(OT1);head(OT1);dim(OT1)
[1] EID   latitude  longitude month year  CPUE
  TSUM
[8] fTSUM
EID latitude longitude month year CPUE TSUM fTSUM
1   167-1-1996-1135 67.7 -61.81667 9 199600 F
2  167-10-1996-1135 67.71667 -59.18333 9 199600 F
3 167-100-1996-1135 67.86667 -59.410 199600 F
4 167-101-1996-1135 67.95000 -59.5833310 199600 F
5 167-102-1996-1135 68.1 -59.7666710 199600 F
6 167-103-1996-1135 67.81667 -59.3833310 199600 F
[1] 27078

 What I would like to do is to select data for each of my month and create
 a ppp.object.

 sort(unique(OT1$month))
[1]  7  8  9 10 11 12

 The following loop works and I can see each of my figures:

for(i in sort(unique(OT1$month))){
  a-OT1[OT1$month==i,]
  b-ppp(a$longitude,a$latitude,marks=a$fTSUM,window=newW)
  plot(b,main=i)
}

 How can I access each of my ppp.objects? I've tried adding a list() in the
 loop command such that I can access the data but without any success... Any
 help would be much appreciated!

 Thank you!
 __
 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] Create a list object in a loop

2012-03-09 Thread R. Michael Weylandt
You are overriding b at each loop iteration and consequently only
keeping the last one.

Perhaps

b - list()

 for(i in sort(unique(OT1$month))){
 a-OT1[OT1$month==i,]
 b[[i]]-ppp(a$longitude,a$latitude,marks=a$fTSUM,window=newW)
 plot(b[[i]],main=i)
   }

Generally it's bad practice to have a dynamically growing object in R
but I think the performance penalty for lists isn't too bad. (Not
verified, I just think I saw that somewhere)

What might be even better:

months - sort(unique(OT1$month))

b - vector(list, length(months))
names(b) - months

 for(i in months){
 a-OT1[OT1$month==i,]
 b[[i]]-ppp(a$longitude,a$latitude,marks=a$fTSUM,window=newW)
 plot(b[[i]],main=i)
   }

Michael

On Fri, Mar 9, 2012 at 10:48 AM, Aurelie Cosandey Godin god...@dal.ca wrote:
 Dear all,

 I'm trying to create a list of point patterns ppp.object {spatstat} in a loop.
 My dataset looks like this:

     names(OT1);head(OT1);dim(OT1)
    [1] EID       latitude  longitude month     year      CPUE     
  TSUM
    [8] fTSUM
                    EID latitude longitude month year CPUE TSUM fTSUM
    1   167-1-1996-1135 67.7 -61.81667     9 1996    0    0     F
    2  167-10-1996-1135 67.71667 -59.18333     9 1996    0    0     F
    3 167-100-1996-1135 67.86667 -59.4    10 1996    0    0     F
    4 167-101-1996-1135 67.95000 -59.58333    10 1996    0    0     F
    5 167-102-1996-1135 68.1 -59.76667    10 1996    0    0     F
    6 167-103-1996-1135 67.81667 -59.38333    10 1996    0    0     F
    [1] 2707    8

 What I would like to do is to select data for each of my month and create a 
 ppp.object.

     sort(unique(OT1$month))
    [1]  7  8  9 10 11 12

 The following loop works and I can see each of my figures:

    for(i in sort(unique(OT1$month))){
      a-OT1[OT1$month==i,]
      b-ppp(a$longitude,a$latitude,marks=a$fTSUM,window=newW)
      plot(b,main=i)
    }

 How can I access each of my ppp.objects? I've tried adding a list() in the 
 loop command such that I can access the data but without any success... Any 
 help would be much appreciated!

 Thank you!
 __
 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@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] Create a list object in a loop

2012-03-09 Thread Aurelie Cosandey Godin
Thank you Tal, useful link.
Best,
Aurelie

On 2012-03-09, at 11:53 AM, Tal Galili wrote:

 Hi Aurelie,
 Please give this a look:
 http://www.nealgroothuis.name/introduction-to-data-types-and-objects-in-r/ 
 
 And see if this resolves most, or all, of your questions...
 
 
 Contact 
 Details:---
 Contact me: tal.gal...@gmail.com |  972-52-7275845
 Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew) | 
 www.r-statistics.com (English)
 --
 
 
 
 
 On Fri, Mar 9, 2012 at 5:48 PM, Aurelie Cosandey Godin god...@dal.ca wrote:
 Dear all,
 
 I'm trying to create a list of point patterns ppp.object {spatstat} in a loop.
 My dataset looks like this:
 
 names(OT1);head(OT1);dim(OT1)
[1] EID   latitude  longitude month year  CPUE 
  TSUM
[8] fTSUM
EID latitude longitude month year CPUE TSUM fTSUM
1   167-1-1996-1135 67.7 -61.81667 9 199600 F
2  167-10-1996-1135 67.71667 -59.18333 9 199600 F
3 167-100-1996-1135 67.86667 -59.410 199600 F
4 167-101-1996-1135 67.95000 -59.5833310 199600 F
5 167-102-1996-1135 68.1 -59.7666710 199600 F
6 167-103-1996-1135 67.81667 -59.3833310 199600 F
[1] 27078
 
 What I would like to do is to select data for each of my month and create a 
 ppp.object.
 
 sort(unique(OT1$month))
[1]  7  8  9 10 11 12
 
 The following loop works and I can see each of my figures:
 
for(i in sort(unique(OT1$month))){
  a-OT1[OT1$month==i,]
  b-ppp(a$longitude,a$latitude,marks=a$fTSUM,window=newW)
  plot(b,main=i)
}
 
 How can I access each of my ppp.objects? I've tried adding a list() in the 
 loop command such that I can access the data but without any success... Any 
 help would be much appreciated!
 
 Thank you!
 __
 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] Create a list object in a loop

2012-03-09 Thread Aurelie Cosandey Godin
Thank you very much Michael!
Best,
Aurelie

On 2012-03-09, at 11:56 AM, R. Michael Weylandt wrote:

 You are overriding b at each loop iteration and consequently only
 keeping the last one.
 
 Perhaps
 
 b - list()
 
 for(i in sort(unique(OT1$month))){
 a-OT1[OT1$month==i,]
 b[[i]]-ppp(a$longitude,a$latitude,marks=a$fTSUM,window=newW)
 plot(b[[i]],main=i)
   }
 
 Generally it's bad practice to have a dynamically growing object in R
 but I think the performance penalty for lists isn't too bad. (Not
 verified, I just think I saw that somewhere)
 
 What might be even better:
 
 months - sort(unique(OT1$month))
 
 b - vector(list, length(months))
 names(b) - months
 
 for(i in months){
 a-OT1[OT1$month==i,]
 b[[i]]-ppp(a$longitude,a$latitude,marks=a$fTSUM,window=newW)
 plot(b[[i]],main=i)
   }
 
 Michael
 
 On Fri, Mar 9, 2012 at 10:48 AM, Aurelie Cosandey Godin god...@dal.ca wrote:
 Dear all,
 
 I'm trying to create a list of point patterns ppp.object {spatstat} in a 
 loop.
 My dataset looks like this:
 
 names(OT1);head(OT1);dim(OT1)
[1] EID   latitude  longitude month year  CPUE
   TSUM
[8] fTSUM
EID latitude longitude month year CPUE TSUM fTSUM
1   167-1-1996-1135 67.7 -61.81667 9 199600 F
2  167-10-1996-1135 67.71667 -59.18333 9 199600 F
3 167-100-1996-1135 67.86667 -59.410 199600 F
4 167-101-1996-1135 67.95000 -59.5833310 199600 F
5 167-102-1996-1135 68.1 -59.7666710 199600 F
6 167-103-1996-1135 67.81667 -59.3833310 199600 F
[1] 27078
 
 What I would like to do is to select data for each of my month and create a 
 ppp.object.
 
 sort(unique(OT1$month))
[1]  7  8  9 10 11 12
 
 The following loop works and I can see each of my figures:
 
for(i in sort(unique(OT1$month))){
  a-OT1[OT1$month==i,]
  b-ppp(a$longitude,a$latitude,marks=a$fTSUM,window=newW)
  plot(b,main=i)
}
 
 How can I access each of my ppp.objects? I've tried adding a list() in the 
 loop command such that I can access the data but without any success... Any 
 help would be much appreciated!
 
 Thank you!
 __
 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@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.