I am not sure reshape2 is appropriate for this task, but, assuming I understand correctly, it's quite easy without it. The following is one way, which probably can be done more elegantly and efficiently, but I think it does what you want.
"dat" is your example data frame, in which the columns were read in with "stringsAsFactors" = FALSE (this is important!) dat <- cbind(dat, matrix(0,ncol = 3)) ## change 3 to 34 for your full data names(dat) <- c(names(dat)[1:3], unique(dat$PLATE)) for(i in 4:ncol(dat)) dat[,i] <- 1 + (names(dat)[i]== dat$PLATE) dat Result: FID IID PLATE 4RWG569 cherry 5XAV049 1 fam0110 G110 4RWG569 2 1 1 2 fam0113 G113 cherry 1 2 1 3 fam0114 G114 cherry 1 2 1 4 fam0117 G117 4RWG569 2 1 1 5 fam0118 G118 5XAV049 1 1 2 6 fam0119 G119 cherry 1 2 1 Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Tue, Sep 29, 2020 at 9:19 AM Ana Marija <sokovic.anamar...@gmail.com> wrote: > Hello, > > I have a data frame like this: > > > head(mc) > FID IID PLATE > 1 fam0110 G110 4RWG569 > 2 fam0113 G113 cherry > 3 fam0114 G114 cherry > 4 fam0117 G117 4RWG569 > 5 fam0118 G118 5XAV049 > 6 fam0119 G119 cherry > ... > > dim(mc) > [1] 1625 4 > > length(unique(mc$PLATE)) > [1] 34 > > I am trying to make a new data frame which would look like this: > FID IID PLATE 4RWG569 cherry 5XAV049 ... > 1 fam0110 G110 4RWG569 2 1 1 > 2 fam0113 G113 cherry 1 2 1 > 3 fam0114 G114 cherry 1 2 1 > 4 fam0117 G117 4RWG569 2 1 1 > 5 fam0118 G118 5XAV049 2 1 1 > 6 fam0119 G119 cherry 1 2 1 > ... > > so the new data frame would have an additional 34 columns (for every > unique mc$PLATE) and if in the row of PLATE column the value is ==to > that column name I would have 2 otherwise 1 > > I tried to do this with: > > library(reshape2) > > m2=dcast(mc, IID ~ PLATE) > Using PLATE as value column: use value.var to override. > > Please advise, > Ana > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.