Create a vector of combinations based on a table column n ames
Here's another way:
dat <- read.table("clipboard", header=TRUE)[,-(1:3)]
dat
A B C D E F G H 1 1 1 0 0 0 0 0 0 2 1 0 1 0 0 0 0 0 3 1 0 0 0 1 0 0 1 4 1 0 0 0 0 1 1 0 5 0 1 1 1 0 0 0 0 6 0 0 1 0 1 0 1 1 7 0 0 0 1 1 1 0 1 8 1 0 1 1 1 0 0 1 9 1 0 1 1 0 1 1 0
apply(dat > 0, 1, function(idx) paste(names(dat)[idx], collapse=" "))
1 2 3 4 5 6
7
"A B" "A C" "A E H" "A F G" "B C D" "C E G H" "D
E F H"
8 9
"A C D E H" "A C D F G"
HTH,
Andy
From: Eric Lecoutre Hi, Here is something that does the job (though I am sure other people will find smarter solutions!):
> samp=matrix(sample(0:1,size=100,replace=TRUE
,prob=c(0.8,0.2)),ncol=10)
> colnames(samp)<-LETTERS[1:10] > unlist(lapply(apply(samp,1,FUN=function(vec)
colnames(samp)[as.logical(vec)] ),paste,collapse=" ")) [1] "A F J" "D I" "B I" "A" "G H" "B C E H" "E H" "B C E G" "E" [10] "B C E I" HTH, Eric At 16:40 23/11/2004, Henrik Andersson wrote:
I want to create a character vector based on the table
(shortened for
display) below: Where there are ones in the matrix I want the column name to
appear and
where there are zeros nothing, which would make the vector in this
shortened case:
combinations <- ("A B","A C","A E H","A F G","B C D","E G
H",A C D E H","A
C D F G")
no value A B C D E F G H
1 2 3.095 1 1 0 0 0 0 0 0
2 2 1.687 1 0 1 0 0 0 0 0
46 3 3.470 1 0 0 0 1 0 0 1
47 3 1.563 1 0 0 0 0 1 1 0
50 3 6.234 0 1 1 1 0 0 0 0
148 4 3.663 0 0 1 0 1 0 1 1
151 4 3.470 0 0 0 1 1 1 0 1
177 5 5.411 1 0 1 1 1 0 0 1
178 5 6.829 1 0 1 1 0 1 1 0
Question is how to make this not so manually?
---------------------------------------------
Henrik Andersson
Netherlands Institute of Ecology -
Centre for Estuarine and Marine Ecology
P.O. Box 140
4400 AC Yerseke
Phone: +31 113 577473
h.andersson at nioo.knaw.nl
http://www.nioo.knaw.nl/ppages/handersson
______________________________________________ R-help at stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html Eric Lecoutre UCL / Institut de Statistique Voie du Roman Pays, 20 1348 Louvain-la-Neuve Belgium tel: (+32)(0)10473050 lecoutre at stat.ucl.ac.be http://www.stat.ucl.ac.be/ISpersonnel/lecoutre If the statistics are boring, then you've got the wrong numbers. -Edward Tufte ______________________________________________ R-help at stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html