2011-02-23 7 views
0

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

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

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

Так что я должен сделать пересчет коэффициентов для численных значений. Я сделал это с 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 

ответ

3

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

a[a>10] <- NA 

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

mean(a, na.rm=TRUE) 

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

mean(a[a<=10]) 
+0

большое спасибо! – speendo

+0

еще одна возможность (просто чтобы вы знали): Предполагая, что «a» - это data.frame и «fish» - это имя переменной, которую вы хотите изменить, просто используйте: $ fish = ifelse ($ fish> 10, NA , $ fish). –

4

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

data[data>10]<-NA 

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

+0

спасибо большое! Я еще не использовал левую часть определения переменной. очень интересно :) – speendo

 Смежные вопросы

  • Нет связанных вопросов^_^