[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
______________________________________________
[email protected] 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.