I would use the "names" or "colnames" functions to change them to Q1, Q2, ... as I did.
Jim On Thu, Nov 1, 2018 at 9:01 PM P. Roberto Bakker <robertobak...@gmail.com> wrote: > > Hi Jim, > > Thank you for your quick reply. It is a great procedure. > The response options in my data.frame are (fortunately) similar in all > columns. > It would be nice if I could use your procedure in all columns at once instead > of each column. > My data.frame contains 48 columns, each with long column names. > This means that I need to put each (long) column name after "$: > dataname$"very long name". > So, is ther a way to do this procedure for all columns? > > Roberto > > > Op do 1 nov. 2018 om 10:50 schreef Jim Lemon <drjimle...@gmail.com>: >> >> Hi Roberto, >> What I suggested is a brute force method of translating response >> options into ordinal numbers. Fortunately for me, the Barratt >> Impulsivity Scale has relatively short and constant response options. >> As I programmed the test myself, I already had the questions in plain >> text, so I simply added the "as.numeric(factor(" and "levels=..." >> commands to the forward and reversed response options to create the >> whole transformation code. With a bit of cut-and-paste work, it didn't >> take that long. Because the BIS-11 is used quite a bit where I am >> working. it was worth the trouble. >> >> Jim >> >> On Thu, Nov 1, 2018 at 8:38 PM P. Roberto Bakker >> <robertobak...@gmail.com> wrote: >> > >> > Hi Jim, >> > >> > Thank you. >> > An additional question: as I have many columns to change in numeric, and >> > the columns are long sentences, what is an efficient way to do this? >> > I checked in StackOverflow but could not find the right answer >> > Best Roberto >> > >> > >> > Op do 1 nov. 2018 om 00:25 schreef Jim Lemon <drjimle...@gmail.com>: >> >> >> >> Hi Roberto, >> >> Here is a snippet of code that translates the text responses of the >> >> BIS-11 into numeric values. Note the reversal of the order in the >> >> second item: >> >> >> >> BIS$Q1<-as.numeric(factor(BIS$Q1, >> >> levels=c("Almost","Often","Occasionally","Rarely/Never"))) >> >> BIS$Q2<-as.numeric(factor(BIS$Q2, >> >> levels=c("Rarely/Never","Occasionally","Often","Almost"))) >> >> ... >> >> >> >> Jim >> >> On Thu, Nov 1, 2018 at 8:57 AM P. Roberto Bakker >> >> <robertobak...@gmail.com> wrote: >> >> > >> >> > Hi Rich, >> >> > >> >> > Thank you for your answer. >> >> > The sentences are strings (likert scale: 'the situation is highly >> >> > applicable to me' etc - in Dutch), or column labels; it may be >> >> > confusing as >> >> > it is in Dutch. Below I show you part of the dataframe with my >> >> > annotation >> >> > added (string/column lable) to give you an idea. >> >> > I need to change the likert strings into numeric (1:5). And this is a >> >> > challenge somehow. >> >> > With dplyr, plyr it did not work. >> >> > After I have the numeric version then I can stack them as suggested by >> >> > David. >> >> > ______________________________________________ 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.