我有一个包含如下调查结果的数据框:
Q1 Q2 Q3
1 Agree No opinion Disagree
2 No opinion No opinion Disagree
3 Agree Disagree
如何将调查回复转换为数字,以便获得每个问题的平均回复?我可以使用 gsub 为每列中的每个文本答案替换数值,但必须有更好的方法。
> str(x)
'data.frame': 3 obs. of 3 variables:
$ Q1: Factor w/ 2 levels "Agree","No opinion": 1 2 1
$ Q2: Factor w/ 2 levels "","No opinion": 2 2 1
$ Q3: Factor w/ 1 level "Disagree": 1 1 1