我有一个数据集,其中包含对 Likert Items 的 90 个响应,我想将其转换为数值。它的结构类似于此处的示例:
q6 <- c("Daily", "Never", "Often", "Very Often", "Daily")
q7 <- c("Never", "Never", "Often", "Often", "Daily")
q23 <- c("Daily", "Often", "Never", "Never", "Neutral")
q17 <- c("Important", "Important", "Very Important", "Neutral", "Not Important")
example <- cbind(q6, q7, q17, q23)
Run Code Online (Sandbox Code Playgroud)
对每个问题的回答略有不同,但主要是在“非常不同意”到“非常同意”、“每天”到“从不”或“重要”到“不重要”的范围内。90 个问题的每个答案都在单独的列中(标记为 q1 > q90)。我想为一组响应创建新列,其数值对应于文本响应(强烈同意(3)到强烈不同意(-3),通过中性(0))。像这样
q6 <- c("Daily", "Never", "Often", "Very Often", "Daily")
n6 <- c(3,-3,1,2,3)
q17 <- c("Important", "Important", "Very Important", "Neutral", "Not Important")
n17 <- c(2,2,3,0,-3)
num_example <- cbind(q6, n6, q17, n17)
num_example
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经使用下面的代码,它生成了一个名为 n6 …