Hi,
I guess you are not talking about the melt() method.
dat1<-read.table(text="
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
",header=TRUE,sep="",stringsAsFactors=FALSE)
#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=" ")," "))
reshape(dat1,varying=4:6,v.name="Sp-value",times=name1,timevar="Sp-name",idvar=c("Year","Route","Point"),direction="long")
A.K.
----- 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
Hello,
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.