On Sun, 22 Apr 2012, David Studer wrote:

Hi everyone!

I have to following question: I have three items that had
to be ordered (e.g. three persons were rating var1 on the
first rank):

var1 var2 var3
1    2    3
2    1    3
1    3    2
1    2    3

Now I'd like to have the data.frame "the other way round", so that
the ranks are in the columns:

rank1 rank2 rank3
var1  var2  var3
var2  var1  var3
var1  var3  var2
var1  var2  var3

Can anyone help me achieving this?

# code:

var1<-c(1,2,1,1)
var2<-c(2,1,3,2)
var3<-c(3,3,2,3)
df<-as.data.frame(cbind(var1,var2,var3,var4))

??

Thank you very much!
David

        [[alternative HTML version deleted]]

Please fix your email settings to send text to this list...

tc <- textConnection(
"var1 var2 var3
    1    2    3
    2    1    3
    1    3    2
    1    2    3
")
dta <- read.table( tc, as.is=TRUE, header=TRUE )
close( tc )
dta$respondent <- letters[1:4]

library(reshape2)
dtalong <- melt( dta, id="respondent" )
# levels specified to guard against sorting problems if more
# than 9 rankings
dtalong$rank <- factor( paste( "rank", dtalong$value, sep="" )
                      , levels=paste( "rank"
                                    , sort( unique( dtalong$value ) )
                                    , sep="" )
                      , ordered=TRUE )
dta2 <- dcast( dtalong, respondent ~ rank, value.var="variable" )


---------------------------------------------------------------------------
Jeff Newmiller                        The     .....       .....  Go Live...
DCN:<jdnew...@dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
                                      Live:   OO#.. Dead: OO#..  Playing
Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
/Software/Embedded Controllers)               .OO#.       .OO#.  rocks...1k

______________________________________________
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.

Reply via email to