[EMAIL PROTECTED] wrote: >> I have a table like this: >> >> coor v1 v2 v3 >> x1 12 33 123 >> x2 1 123 >> x3 12 >> x4 33 1 >> >> and I'd like to tranform this matrix in presence/absence data.frame >> >> coor 1 12 33 123 >> x1 0 1 1 1 >> x2 1 0 0 1 >> x3 0 1 0 0 >> x4 1 0 1 0 >> > > #This uses the reshape package > df = data.frame(coor = paste("x", 1:4, sep=""), v1=c(12,1,12,33), > v2=c(33,123,NA,1), v3=c(1,NA,NA,NA)) > mdf = melt(df) > with(mdf, table(coor, value)) > Plain reshape() too:
> df = data.frame(coor = paste("x", 1:4, sep=""), v1=c(12,1,12,33), + v2=c(33,123,NA,1), v3=c(123,NA,NA,NA)) > mdf <- reshape(df, direction="long", varying=c("v1","v2","v3"), sep="") > with(mdf, table(coor, v)) v coor 1 12 33 123 x1 0 1 1 1 x2 1 0 0 1 x3 0 1 0 0 x4 1 0 1 0 (actually, varying=-1 also works.) -- O__ ---- Peter Dalgaard Ă˜ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907 ______________________________________________ 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.