Я - неофит R , и почему-то эта проблема кажется тривиальной.Но, к сожалению, я не смог сделать это после трех дней поиска и экспериментов.
Мои данные в форме, близкой к широкой:
color agegroup sex ses
red 2 Female A
blue 2 Female C
green 5 Male D
red 3 Female A
red 2 Male B
blue 1 Female B
...
Я пытаюсь создать презентабельные таблицы с подсчетами и процентами зависимой переменной (color
здесь), упорядоченные по sex
, ses
и agegroup
.Мне нужна одна таблица, упорядоченная по ses
и sex
для каждого agegroup
, с подсчетами рядом с процентами, например:
agegroup: 1
sex: Female Male
ses: A B C D A B C D
color:
red 2 1% 0 0% 8 4% 22 11% 16 8% 2 1% 8 4% 3 1.5%
blue 9 4.5% 6 3% 4 2% 2 1% 12 6% 32 16% 14 7% 6 3%
green 4 2% 12 6% 2 1% 8 4% 0 0% 22 11% 40 20% 0 0%
agegroup: 2
sex: Female Male
ses: A B C D A B C D
color:
red 2 1% 0 0% 8 4% 22 11% 16 8% 2 1% 8 4% 3 1.5%
blue 9 4.5% 6 3% 4 2% 2 1% 12 6% 32 16% 14 7% 6 3%
green 4 2% 12 6% 2 1% 8 4% 0 0% 22 11% 40 20% 0 0%
Я пытался сделать это со всем, начиная с *От 1020 * и expss
до gmodels
, но я просто не могу понять, как получить такой вывод.CrossTables
из gmodels
подходит ближе всего, но все еще довольно далеко - (1) он ставит проценты ниже , (2) я не могу получить его в гнезде sel
под sex
, (3) я не могу понять, как заставить его разбивать результаты по поколениям, и (4) выходные данные полны черточками, вертикальными трубами и пробелами, которые делают помещение его в текстовый процессор или электронную таблицу ошибкой.склонность к ручному делу.
РЕДАКТИРОВАТЬ: я удалил свой второй вопрос (о линейных графиках), потому что ответ на первый вопрос является идеальным и заслуживает доверия, даже если он не касается второго.Я задам второй вопрос отдельно, как и следовало бы с самого начала.