如何在R中列出评级或分类数据?

时间:2012-07-04 12:43:16

标签: r crosstab tabular

我有调查数据。我有几个李克特式问题的数据。例如:“以下因素在多大程度上影响了您参加博士课程的决定?”有4个类别:1:完全没有; 2:在很小程度上; 3:在某种程度上; 4:在很大程度上)

我导出了数据,目前看起来像这样:

id  Q1_Item1  Q1_Item2  Q1_Item3  Q1_Item4
 1         4         4         4         2
 2         1         2         3         4
 3         3         4         4         4
 4         3         3         3         3
 5         2         1         1         1

我想将数据制成表格,使其看起来像这样

      Not at all  To a small extent  To some extent  To a great extent 
Item1          1                  1               2                  1
Item2          1                  1               1                  2
Item3          1                  0               2                  2
Item4          1                  1               1                  2

其中数字现在代表每个类别下的回复计数。我怎么能在R?中做到这一点?

1 个答案:

答案 0 :(得分:4)

假设已将这些文本条目作为标签读入,则可以使用:

# If the data was read in as numeric, then this will convert to factor-class
dfrm[-1] <- lapply(dfrm[-1], factor, levels=1:4, labels=c("Not at all", 
                        "To a small extent", "To some extent", "To a great extent") )
t( sapply(dfrm[-1], table) )
        Not at all To a small extent To some extent To a great extent
factor1          2                 1              4                 3
factor2          0                 0              3                 8
factor3          0                 0              3                 9
factor4          0                 0              6                 6
factor5          0                 0              3                 8
factor6          2                 0              0                10
factor7          0                 0              2                10