here is a minimal example of my code:
infile <- read.table("testdaten_studie2.csv", header=TRUE, stringsAsFactors = FALSE, sep=";",dec=",", na = -77)
infile <- subset(infile, Chiffre == "LP030482")
bdi.sub <- subset(infile, select = c(Base_BDI_v1:Base_BDI_v21))
bdi.mean <- apply(bdi.sub,1,mean,na.rm = TRUE)
bdi.sub %<>%
mutate_at(paste0('Base_BDI_v', c(1:21)), recode, '1'='0', '2'='1', '3'='2', '4'='3', "NA"="NA")
If i run it this way, the bdi.sub returns NA. When i try:
bdi.sub$Base_BDI_v1 <- recode(bdi.sub$Base_BDI_v1, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v2 <- recode(bdi.sub$Base_BDI_v2, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v3 <- recode(bdi.sub$Base_BDI_v3, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v4 <- recode(bdi.sub$Base_BDI_v4, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v5 <- recode(bdi.sub$Base_BDI_v5, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v6 <- recode(bdi.sub$Base_BDI_v6, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v7 <- recode(bdi.sub$Base_BDI_v7, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v8 <- recode(bdi.sub$Base_BDI_v8, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v9 <- recode(bdi.sub$Base_BDI_v9, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v10 <- recode(bdi.sub$Base_BDI_v10, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v11 <- recode(bdi.sub$Base_BDI_v10, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v12 <- recode(bdi.sub$Base_BDI_v12, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v13 <- recode(bdi.sub$Base_BDI_v13, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v14 <- recode(bdi.sub$Base_BDI_v14, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v15 <- recode(bdi.sub$Base_BDI_v15, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v16 <- recode(bdi.sub$Base_BDI_v16, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v17 <- recode(bdi.sub$Base_BDI_v17, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v18 <- recode(bdi.sub$Base_BDI_v18, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v19 <- recode(bdi.sub$Base_BDI_v19, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v20 <- recode(bdi.sub$Base_BDI_v20, "1=0; 2=1; 3=2; 4=3; NA=NA")
bdi.sub$Base_BDI_v21 <- recode(bdi.sub$Base_BDI_v21, "1=0; 2=1; 3=2; 4=3; NA=NA")
heres the bdi.sub dataset:
structure(list(Base_BDI_v1 = c(NA, 1L, 4L, 4L, NA, 1L), Base_BDI_v2 = c(NA,
1L, 3L, 1L, NA, 1L), Base_BDI_v3 = c(NA, 1L, 3L, 1L, NA, 4L),
Base_BDI_v4 = c(NA, 1L, 2L, 4L, NA, 3L), Base_BDI_v5 = c(NA,
1L, 3L, 4L, NA, 4L), Base_BDI_v6 = c(NA, 1L, 3L, 1L, NA,
4L), Base_BDI_v7 = c(NA, 1L, 4L, 4L, NA, 2L), Base_BDI_v8 = c(NA,
1L, 3L, 4L, NA, 2L), Base_BDI_v9 = c(NA, 1L, 1L, 1L, NA,
4L), Base_BDI_v10 = c(NA, 0L, 4L, 3L, NA, 3L), Base_BDI_v11 = c(NA,
0L, 4L, 4L, NA, 3L), Base_BDI_v12 = c(NA, 0L, 2L, 1L, NA,
3L), Base_BDI_v13 = c(NA, 0L, 1L, 2L, NA, 2L), Base_BDI_v14 = c(NA,
0L, 2L, 4L, NA, 1L), Base_BDI_v15 = c(NA, 2L, 3L, 1L, NA,
3L), Base_BDI_v16 = c(NA, 3L, 7L, 4L, NA, 6L), Base_BDI_v17 = c(NA,
2L, 3L, 4L, NA, 1L), Base_BDI_v18 = c(NA, 1L, 1L, 6L, NA,
6L), Base_BDI_v19 = c(NA, 1L, 3L, 3L, NA, 1L), Base_BDI_v20 = c(NA,
2L, 3L, 3L, NA, 3L), Base_BDI_v21 = c(NA, 1L, 3L, 1L, NA,
4L)), row.names = c(NA, 6L), class = "data.frame")
i can create the mean.
I’ve got a problem recoding several variables. Using
data %<>%
mutate_at(paste0('var', c(1:59)),
recode, '1'='0', '2'='1', '3'='2', '4'='3') %>%
mutate_at(paste0('var', c(65,73,99)),
recode, '1'='0', '2'='0', '3'='0', '4'='1')
Results in:
Error on useMethod (recode): no applicable Method for ‚recode’ applied to an object of class „logical“
There are a lot of NAs in the dataset that need to remain. Where’s my mistake?