Search code examples
rrecode

Recoding items for questionnaire


I would like to recode items for a questionnaire. I have a scale from 1 to 5, currently the best value is 5, but I want the best value to be 1.

# loading packages

#install.packages("readxl")
#install.packages("car")

library(readxl)
library(car)


# loading data

data_infranken <- read_excel("H:/Treiberanalyse/infranken_NPS.xlsx")

data_infranken <- str(data_infranken)



# searching for missing data

data_infranken <- is.na(data_infranken)

data_infranken <- sum(is.na(data_infranken)) # 23464


# removig missing data

data_infranken <- na.omit(data_infranken)


# recoding

data_infranken$Aktualität <- recode(data_infranken["Bewerten Sie bitte inFranken.de nach folgenden 
Gesichtspunkten: : Aktualität"], "5=1; 4=2; 3=3; 2=4; 1=5")
data_infranken$Aktualität

data_infranken$Aktualität <- apply(data_infranken["Bewerten Sie bitte inFranken.de nach folgenden 
Gesichtspunkten: : Aktualität"], 2, mean, recode(data_infranken["Bewerten Sie bitte inFranken.de nach 
folgenden Gesichtspunkten: : Aktualität"], "5=1; 4=2; 3=3; 2=4; 1=5")

Error:

Error: unexpected symbol in: "apply(data_infranken["Bewerten Sie bitte inFranken.de nach folgenden Gesichtspunkten: : Aktualität"], 2, mean...


Solution

  • you are pretty close:

    # dummy data frame
    data_infranken <- data.frame("Bewerten Sie bitte inFranken.de nach folgenden Gesichtspunkten: : Aktualität" = c(1, 2, 3, 4, 5))
    # recording
    data_infranken$Aktualität <- recode(data_infranken[, 1], "5"="1", "4"="2", "3"="3", "2"="4", "1"="5")
    
     Bewerten.Sie.bitte.inFranken.de.nach.folgenden.Gesichtspunkten....Aktualität Aktualität
     1                                                                            1          5
     2                                                                            2          4
     3                                                                            3          3
     4                                                                            4          2
     5                                                                            5          1