Давний соглядатай, обычно использует SPSS/график для статистики, медленно, но верно изучает, как использовать R studio.
В SPSS у меня есть набор данных с тремя переменными: страхование (категориальное, 4 уровня); npo_violation (категория, 2 уровня) и частота (шкала, представляет частоту, с которой, например, Medicaid нарушала/не нарушала npo).пример набора данных в SPSS
Я пытаюсь внести этот набор данных с переменной подсчета частоты в r-studio, чтобы я мог создавать сгруппированные гистограммы на основе процентного соотношения комбинаций.
Я использовал иностранный / Haven / Hmisc, чтобы принести его в r studio, а также создал его сам.
df_sample <- data.frame(insurance = c("Medicaid", "Medicaid", "Blue Cross", "Blue Cross",
"Managed Care", "Managed Care",
"Other", "Other"),
npo_violation=c("No", "Yes",
"No", "Yes",
"No", "Yes",
"No", "Yes"),
wt=c(18075, 438, 14691, 109, 6006, 53, 3098, 25))
Я не уверен, как сделать так, чтобы переменная количества/частоты могла использоваться для вычисления процента/счета каждой категориальной комбинации. Так, например, рассчитайте (а затем постройте график) процент «медикейд + отсутствие нарушения нпо» и «медикейд + да нарушение нпо», которые я пытался использовать с помощью функции wtd.table
wtd.table(df_sample$insurance, df_sample$npo_violation, weights=wt)
но я знаю, что это неправильно, и получаю сообщение об ошибке "Ошибка в match.arg(type): 'arg' должен быть NULL или вектором символов".
Я очень боюсь публиковать здесь, но буду очень признателен за любую помощь. Использование R занимает меня вечно, но это очень приятно. Спасибо.
РЕДАКТИРОВАТЬ: В конечном счете, я хотел бы построить ось x: две переменные, «нет» и «да». легенда будет иметь 4 категории: медицинская помощь, синий крест, управляемая помощь, другое. ось y будет представлять собой проценты, на которые каждая страховая группа приходится в пределах «да» и «нет», как показано в кросс-таблице, которую я сделал в spss
I am not sure how to make it such that the count/frequency variable is reflected to be what I want it
? Это звучит как простая проблема программирования, но я не уверен, что понимаю желаемый результат. Возможно, вы можете вставить ожидаемый результат кода, который вы ищете. Спасибо :) - person mysteRious   schedule 11.06.2020sum
столбецwt
дляinsurance
иnpo_violation
? Попробуйтеaggregate(wt~insurance+npo_violation, df_sample, sum)
- person Ronak Shah   schedule 11.06.2020