#r #data-analysis #survey
#r #анализ данных #опрос
Вопрос:
У меня есть CSV-файл из онлайн-опроса, включающий числовые вопросы, вопросы с одним выбором и вопросы с несколькими вариантами ответов. Вопросы с несколькими вариантами ответов представлены следующим образом:
┌─────┬─────┬────┬─────┐
│ A │ B │ C │ D │
├─────┼─────┼────┼─────┤
│ "Y" │ NA │ NA │ NA │
│ NA │ "Y" │ NA │ "Y" │
│ NA │ NA │ NA │ NA │
│ "Y" │ "Y" │ NA │ NA │
└─────┴─────┴────┴─────┘
Таким образом, ответом является либо символ «Y», либо null.
Теперь мой вопрос в том, есть ли решение, которое позволяет мне легко создавать гистограмму или что-то подобное, чтобы визуализировать частоту каждого ответа и использовать его в статистическом тестировании в R.
Извините, если это тривиально, но у меня нет опыта, и я пока ничего не смог раскопать.
Ответ №1:
Если ваш csv считывается как фрейм данных, df тогда:
df2 <- !is.na(df)
nrows <- nrow(df2)
yes <- apply(df2, 2, sum)
percentyes <- 100 * yes / nrows
percentno = 100 - percentyes
barplot(percentyes)
Комментарии:
1. Я понимаю логику в этом. Однако это не работает, поскольку
colSums()
ожидаются числовые значения, и у меня есть только символ «Y». Я посмотрю, смогу ли я найти решение.2. Правильно. Извините. Опубликовано обновленное решение. «Y» преобразуются в TRUE и суммируются. Может быть более простой способ, но этот работает.