part is fine. just be sure that the small part causes the problem. I will need that to investigate what is happening.
On Wed, Oct 31, 2018 at 11:15 AM, P. Roberto Bakker <robertobak...@gmail.com> wrote: > It is a very long result text. I can send it to you, or is part of it ok?[ > > Op wo 31 okt. 2018 om 14:27 schreef Richard M. Heiberger <r...@temple.edu>: >> >> Please send me the >> dput(teamq) >> >> >> On Wed, Oct 31, 2018 at 03:51 P. Roberto Bakker <robertobak...@gmail.com> >> wrote: >>> >>> Thank you for you information. Package 'HH' is interesting. >>> >>> Now I find another problem when using 'likert(teamq)' >>> I get an error message: >>> > likert(teamq) >>> Error in dimnames(x) <- `*vtmp*` : >>> length of 'dimnames' [2] not equal to array extent >>> >>> I checked: >>> > dim(teamq) >>> [1] 4 2 >>> > ncol(teamq) >>> [1] 2 >>> So it should be good. >>> >>> I used 'make.names' , in case the spaces in the variable names would be a >>> problem. >>> Same error. >>> >>> What could I do? >>> >>> Best and thank you in advance. >>> Roberto >>> >>> >>> Op ma 22 okt. 2018 om 20:10 schreef Richard M. Heiberger >>> <r...@temple.edu>: >>>> >>>> Try the likert function in >>>> install.packages("HH) ## if necessary >>>> library(HH) >>>> >>>> Then using David Carlson's example teamq >>>> likert(teamq) >>>> >>>> Your example in the 1:30PM (Eastern Daylight Time) doesn't work. >>>> Error in revalue(teamq, c(`de situatie in zeer geringe mate van >>>> toepassing is\nvoor u of uw supervisorengroep` = "1", : >>>> x is not a factor or a character vector. >>>> >>>> There are many examples in >>>> ?likert >>>> >>>> Rich >>>> >>>> >>>> On Mon, Oct 22, 2018 at 1:30 PM, P. Roberto Bakker >>>> <robertobak...@gmail.com> wrote: >>>> > Dear David, >>>> > >>>> > Thank you for you quite response. >>>> > My apologies for not giving some sample data - this is due to AVG. >>>> > *But this minisample should not be a problem (all in Dutch)*: >>>> > teamq >>>> > # A tibble: 4 x 2 >>>> > `Ik volg bijscholing om mijn opleiders-kwaliteiten op peil te >>>> > houden` >>>> > >>>> > <chr> >>>> > >>>> > 1 de situatie in hoge mate van toepassing is voor u of uw >>>> > supervisorengroep >>>> > 2 de situatie in zeer hoge mate van toepassing is voor u of uw >>>> > supervisorengroep >>>> > 3 de situatie in zeer hoge mate van toepassing is voor u of uw >>>> > supervisorengroep >>>> > 4 de situatie in geringe mate van toepassing is voor u of uw >>>> > supervisorengroep >>>> > `Ik weet precies wat de ‘modernisering van de opleiding’ inhoudt` >>>> > >>>> > <chr> >>>> > >>>> > 1 de situatie in hoge mate van toepassing is voor u of uw >>>> > supervisorengroep >>>> > 2 de situatie in zeer hoge mate van toepassing is voor u of uw >>>> > supervisorengroep >>>> > 3 de situatie in zeer hoge mate van toepassing is voor u of uw >>>> > supervisorengroep >>>> > 4 de situatie in geringe mate van toepassing is voor u of uw >>>> > supervisorengroep >>>> > >>>> > As you see the likert items are in words, and I should change them in >>>> > nummeric - Am I correct? >>>> > >>>> > *To do this, I tried (see further below):* >>>> > plyr rename() ; I receive the message it should be a factor or >>>> > character >>>> > dplyr recode() ; same message >>>> > mapvalues() ; it should be atomic, so I used as.atomic(teamq) but then >>>> > I >>>> > receive the nummers a strings. >>>> > >>>> > *The syntaxes* >>>> > require(plyr) >>>> > example2 <- revalue(teamq, >>>> > c("de situatie in zeer geringe mate van toepassing >>>> > is >>>> > voor u of uw supervisorengroep"= "1", >>>> > "de situatie in geringe mate van toepassing is >>>> > voor >>>> > u of uw supervisorengroep"= "2", >>>> > "de situatie enigszins van toepassing is voor >>>> > u of >>>> > uw supervisorengroep"= "3", >>>> > "de situatie in hoge mate van toepassing is >>>> > voor u >>>> > of uw supervisorengroep"= "4", >>>> > "de situatie in zeer hoge mate van toepassing >>>> > is >>>> > voor u of uw supervisorengroep"= "5")) >>>> > >>>> > require(dplyr) >>>> > example2 <- recode(teamq, >>>> > c("de situatie in zeer geringe mate van toepassing >>>> > is >>>> > voor u of uw supervisorengroep"= "1", >>>> > "de situatie in geringe mate van toepassing is >>>> > voor u >>>> > of uw supervisorengroep"= "2", >>>> > "de situatie enigszins van toepassing is voor u >>>> > of uw >>>> > supervisorengroep"= "3", >>>> > "de situatie in hoge mate van toepassing is voor >>>> > u of >>>> > uw supervisorengroep"= "4", >>>> > "de situatie in zeer hoge mate van toepassing is >>>> > voor >>>> > u of uw supervisorengroep"= "5")) >>>> > >>>> > mapvalues(as.matrix(teamq), from = c("de situatie in zeer geringe mate >>>> > van >>>> > toepassing is voor u of uw supervisorengroep", >>>> > "de situatie in geringe mate van toepassing is >>>> > voor >>>> > u of uw supervisorengroep", >>>> > "de situatie enigszins van toepassing is voor >>>> > u of >>>> > uw supervisorengroep", >>>> > "de situatie in hoge mate van toepassing is >>>> > voor u >>>> > of uw supervisorengroep", >>>> > "de situatie in zeer hoge mate van toepassing >>>> > is >>>> > voor u of uw supervisorengroep"), >>>> > to = c(1,2,3,4,5)) >>>> > >>>> > What should I do? >>>> > Thank you in advance, Roberto >>>> > >>>> > Op ma 22 okt. 2018 om 17:13 schreef David L Carlson >>>> > <dcarl...@tamu.edu>: >>>> > >>>> >> Your example is not reproducible since you did not give us some >>>> >> sample >>>> >> data. I suspect that your data frame consists of columns that >>>> >> represent >>>> >> questions and rows that represent individuals who answered the >>>> >> questions. >>>> >> First create a simple example: >>>> >> >>>> >> set.seed(42) >>>> >> teamq <- data.frame(V1=sample(c(1, 2, 4, 5), 25, replace = TRUE), >>>> >> V2=sample(c(1, 2, 3, 4, 5), 25, replace=TRUE), >>>> >> V3=sample(c(2, 3, 4, 5), 25, replace=TRUE)) >>>> >> >>>> >> Notice that this data frame ONLY contains questions (and only 3 >>>> >> questions). Here are 2 ways to get what you want. The first one >>>> >> stacks the >>>> >> data: >>>> >> >>>> >> teamq.stack <- stack(teamq) >>>> >> str(teamq.stack) >>>> >> counts <- table(teamq.stack) >>>> >> str(counts) >>>> >> >>>> >> The second one converts each column to a factor with levels 1 - 5: >>>> >> >>>> >> teamq2 <- data.frame(lapply(teamq, factor, levels=1:5)) >>>> >> str(teamq2) >>>> >> counts <- sapply(teamq2, table) >>>> >> str(counts) >>>> >> >>>> >> Now make the plots: >>>> >> >>>> >> cols <- c("yellow","sandybrown","orange", "darkolivegreen","green") >>>> >> barplot(counts[, 1], horiz=TRUE, col=cols, legend=TRUE) >>>> >> barplot(counts[, 2], horiz=TRUE, col=cols, legend=TRUE) >>>> >> barplot(counts[, 3], horiz=TRUE, col=cols, legend=TRUE) >>>> >> >>>> >> You will need to adjust the xlim= argument so that the legend does >>>> >> not >>>> >> print on top of the bars. >>>> >> >>>> >> ---------------------------------------- >>>> >> David L Carlson >>>> >> Department of Anthropology >>>> >> Texas A&M University >>>> >> College Station, TX 77843-4352 >>>> >> >>>> >> >>>> >> -----Original Message----- >>>> >> From: R-help <r-help-boun...@r-project.org> On Behalf Of P. Roberto >>>> >> Bakker >>>> >> Sent: Monday, October 22, 2018 9:04 AM >>>> >> To: R mailing list <r-help@r-project.org> >>>> >> Subject: [R] Different stack barplots - same color legends >>>> >> >>>> >> Hi, >>>> >> >>>> >> I want to make barplots from different questions (columns) in one >>>> >> data.frame. >>>> >> Each question has the same 5 likert items. >>>> >> Now the problem: in some questions all items are answered; in other >>>> >> less. >>>> >> From the syntax below I get nice stack barplots - *but the legend >>>> >> colors do >>>> >> not* refer to the same likert-item, which I understand - the colors >>>> >> go in >>>> >> sequence along the table. >>>> >> Question: how can I write a syntax that each likert-item has the same >>>> >> legend color? >>>> >> Thank you in advance, >>>> >> >>>> >> Roberto >>>> >> >>>> >> SYNTAX: >>>> >> counts19 <- table(teamq[,19]) >>>> >> counts20 <- table(teamq[,20]) >>>> >> barplot(as.matrix(counts19), horiz = T, >>>> >> col=c("yellow","sandybrown","orange", >>>> >> "darkolivegreen","green"), >>>> >> legend=T) >>>> >> barplot(as.matrix(counts20), horiz = T, >>>> >> col=c("yellow","sandybrown","orange", >>>> >> "darkolivegreen","green"), >>>> >> legend=T) >>>> >> >>>> >> [[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. >>>> >> >>>> > >>>> > [[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. ______________________________________________ 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.