[R] Presence/ absence data from matrix to single column

arun smartpink111 at yahoo.com
Mon Oct 8 02:28:42 CEST 2012


Sorry, I complicated a code where it was not required at all.
Just using colnames(dat1)[4:6] or names(dat1)[4:6] should work if the species columns are adjacent to each other.


From: Andrea Goijman <agoijman at cnia.inta.gov.ar>
To: arun <smartpink111 at yahoo.com> 
Cc: Rui Barradas <ruipbarradas at sapo.pt>; R help <r-help at r-project.org> 
Sent: Sunday, October 7, 2012 7:16 PM
Subject: Re: [R] Presence/ absence data from matrix to single column

Ill try this one as well.

And I guess the one below is not going  to work, because all my species have different names.


#nms <- names(adat)
nms <- c("Year", "Route", "Point", paste0("Sp", 1:250))

pattern <- "^Sp[[:digit:]]+$"
whichCols <- grep(pattern, nms)
whichNames <- nms[whichCols]

reshape(..., varying = whichCols, times = whichNames, ...)

On Sun, Oct 7, 2012 at 3:02 PM, arun <smartpink111 at yahoo.com> wrote:

>I guess you are not talking about the melt() method.
>Year    Route    Point    Sp1    Sp2    Sp3
>2004    123    123-1    0    1    0
>2004    123    123-2    0    1    1
>2004    123    123-10    1    1    0
>#If all the Sp columns are located next to another as shown in your example dataset, then you can also try this:
>name1<-unlist(strsplit(paste(colnames(dat1)[4:6],collapse=" ")," "))
>----- Original Message -----
>From: Rui Barradas <ruipbarradas at sapo.pt>
>To: agoijman <agoijman at cnia.inta.gov.ar>
>Cc: r-help at r-project.org
>Sent: Sunday, October 7, 2012 2:32 PM
>Subject: Re: [R] Presence/ absence data from matrix to single column
>I haven't been following this thread but apparently the answer to your
>worries is no.
>You can use a combination of names() and grep() to sort it out.
>something like
>#nms <- names(adat)
>nms <- c("Year", "Route", "Point", paste0("Sp", 1:250))
>pattern <- "^Sp[[:digit:]]+$"
>whichCols <- grep(pattern, nms)
>whichNames <- nms[whichCols]
>reshape(..., varying = whichCols, times = whichNames, ...)
>Hope this helps,
>Rui Barradas
>Em 07-10-2012 15:35, agoijman escreveu:
>> The problem with that, is that I just wrote an example of my database, but I
>> have around 250 species and more than 500 sites. In the approach you show
>> me, it looks like I have to enter every species name and sites individually,
>> right?
>> --
>> View this message in context: http://r.789695.n4.nabble.com/Presence-absence-data-from-matrix-to-single-column-tp4645271p4645331.html
>> Sent from the R help mailing list archive at Nabble.com.
>> ______________________________________________
>> 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.
>R-help at r-project.org mailing list
>PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.


---Lic. Andrea Paula Goijman
Grupo Ecología y Gestión Ambiental de la Biodiversidad
IRB - INTA Castelar, Argentina
agoijman at cnia.inta.gov.arhttp://inta.gob.ar/personas/goijman.andrea/

PhD Candidate
Georgia Cooperative Fish and Wildlife Research Unit

D.B. Warnell School of Forestry and Natural Resources
University of Georgia
Athens, GA 30602 USA
Tel. +706.206.4805
andreapg at uga.edu

More information about the R-help mailing list