我有这些变量:
language group
:希腊语人士(N=34)、罗马尼亚语人士(N=15)、俄语人士(N=16)
sentence type
:12 种不同的希腊语句子类型
回应:无方面、完美、不完美
每位参与者完成每种句子类型至少 6 个示例(每个句子总共 96 个句子)。
我想计算每种句子类型每组 3 个选项的百分比。
数据被收集到我在 calc 中创建的表中。我将其保存为 .csv 文件并将其导入到 R 中。
我创建了三路
xtabs
。下面显示了一种句子类型的 xtab 的一部分:
three_way3 <- xtabs(~language + response_aspect + sentence type, data=teliko_eikones)
addmargins(three_way3, 2)
sentence type = while
response_aspect
Language No Aspect Imperfective Perfective Sum
GR 9 397 2 408
RO 9 170 1 180
RU 7 183 2 192
我想做这样的事情。我不知道如何将原始频率转换为每种句子类型的百分比。
response_aspect
Language No Aspect Imperfective Perfective Sum
GR 2.2 97.3 0.4 100
RO 0 100 0 100
RU 0 0 100 100
您可以轻松地将
proportions()
应用于 xtabs
输出。
> xtabs(cbind(ncases, ncontrols) ~ agegp + alcgp, data = dat) |> proportions()
, , = ncases
alcgp
agegp 0-39g/day 40-79 80-119 120+
25-34 0.000000000 0.000000000 0.000000000 0.003174603
35-44 0.003174603 0.012698413 0.000000000 0.012698413
45-54 0.000000000 0.000000000 0.000000000 0.000000000
55-64 0.000000000 0.000000000 0.000000000 0.000000000
65-74 0.000000000 0.000000000 0.000000000 0.000000000
75+ 0.000000000 0.000000000 0.000000000 0.000000000
, , = ncontrols
alcgp
agegp 0-39g/day 40-79 80-119 120+
25-34 0.193650794 0.142857143 0.015873016 0.012698413
35-44 0.279365079 0.241269841 0.063492063 0.019047619
45-54 0.000000000 0.000000000 0.000000000 0.000000000
55-64 0.000000000 0.000000000 0.000000000 0.000000000
65-74 0.000000000 0.000000000 0.000000000 0.000000000
注意,您可以设置特定的
margin
,
proportions(x, margin = NULL)
其中
1
表示行,2
表示列,1:2
均表示。阅读文档 ?proportions
。
数据:
> dat <- subset(esoph, agegp %in% c('25-34', '35-44'))