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 <drjimlemon at 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 > <robertobakker at 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. > > >[[alternative HTML version deleted]]
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 <robertobakker at 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 <drjimlemon at 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 >> <robertobakker at 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. >> >
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 <drjimlemon at 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 > <robertobakker at 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 <drjimlemon at 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 > >> <robertobakker at 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. > >> > >[[alternative HTML version deleted]]