base R - . vector ('v1'),
v1 <- setNames(c(1:3, 3), c("Disagree", "neutral", "agree", "Agree"))
df1[-1] <- lapply(df1[-1], function(x) if(any(!is.na(x))) v1[x] else NA)
df1
df1 <- structure(list(Participant = 1:2, Q1 = c("agree", "neutral"),
Q2 = c("neutral", "agree"), Q3 = c(NA, NA), Q4 = c("Disagree",
NA), Q5 = c("Agree", NA)), .Names = c("Participant", "Q1",
"Q2", "Q3", "Q4", "Q5"), class = "data.frame", row.names = c(NA, -2L))