изменение коэффициентов на числовые - как справиться с недоступными значениями - PullRequest
0 голосов
/ 23 февраля 2011

У меня большой набор данных из вопросника.Импортирование его из SPSS в R (с использованием Stata-Output SPSS) дало мне ответ на каждый вопрос как фактор.

На вопрос есть ответы от 1 до 10. Однако пропущенных значений много.R также распознает их.

Однако, теперь я хотел бы сделать некоторые вычисления - например, я хочу вычислить среднее значение ответа (не очень хорошая статистика, я знаю, неважно).

Так что я должен перекодировать коэффициенты в цифры.Я сделал это с помощью as.numeric().

Однако теперь у меня пропущены значения, закодированные от 11 до 14. Конечно, я не могу вычислить любое среднее значение, подобное этому.

Что было бы правильнымспособ перекодировать коэффициенты в виде чисел и сказать R, чтобы установить любое значение больше 10 на NA?

Пример: Вам нравится рыба?

    not at all                   very much | don't know  no answer  don't tell
R:  1   2   3   4   5   6   7   8   9   10 |     11          12         13

Ответы [ 2 ]

4 голосов
/ 23 февраля 2011

Давайте назовем ваш фрейм данных data (вы можете сначала взять копию). Следующее установит для всех значений больше 10 во всех столбцах значение NA:

data[data>10]<-NA

Вышеуказанное предполагает, что вы уже применили as.numeric.

3 голосов
/ 23 февраля 2011

Если вам действительно не нужны пропущенные значения, я бы сделал что-то вроде:

a[a>10] <- NA

Затем вы можете использовать:

mean(a, na.rm=TRUE)

В качестве альтернативы, если вы хотите обойти эти пропущенные значения, вы можете просто использовать:

mean(a[a<=10])
...