具有多个变量的 prop.table

Gre*_*ima 1 r survey surveymonkey

我正在寻找重新创建一个由 SurveyMonkey 填充的表格(例如: https: //i.stack.imgur.com/5MyV1.jpg) - 左侧是问题(例如因子 X 有多重要? )然后离散变量总是相同的:完全不,轻微......等等。

获取以下格式的数据的最佳方法是什么(列#s是问题并以结果prop.table结尾?:

            Q1        Q2        Q3        Q4
         Very       Very       Very Moderately
   Moderately   Slightly  Extremely Moderately
   Not at all       Very       Very   Slightly
   Not at all Moderately Not at all Not at all
    Extremely  Extremely  Extremely  Extremely
     Slightly       Very  Extremely   Slightly
Run Code Online (Sandbox Code Playgroud)

Jas*_*lns 5

首先整理你的数据。假设您的原始数据集位于data.frame名为df

library(tidyr)

df.tidy <- gather(df, question, result)

prop.table(table(df.tidy$question, df.tidy$result))
#     Extremely Moderately Not at all   Slightly       Very
# Q1 0.04166667 0.04166667 0.08333333 0.04166667 0.04166667
# Q2 0.04166667 0.04166667 0.00000000 0.04166667 0.12500000
# Q3 0.12500000 0.00000000 0.04166667 0.00000000 0.08333333
# Q4 0.04166667 0.08333333 0.04166667 0.08333333 0.00000000
Run Code Online (Sandbox Code Playgroud)
# Additional stuff to look at to check your understanding...
#
# df.tidy
# table(df.tidy$question, df.tidy$result)
# prop.table(table(df.tidy$question, df.tidy$result), margin = 1)
# prop.table(table(df.tidy$question, df.tidy$result), margin = 2)
Run Code Online (Sandbox Code Playgroud)

如果您需要“按问题”百分比,您将需要margin = 1在调用中使用prop.table()- 请参阅?prop.table

  • 第三行也可以是 `prop.table(table(df.tidy))` (2认同)