Создание фактора для включения NA в качестве уровня

#r #factors

#r #факторы

Вопрос:

Привет всем, я работаю с довольно большим набором данных, который я преобразовал в фактор. моя проблема в том, что мне нужно, чтобы NAs считался как N и был частью набора данных. Я успешно изменил данные на фактор, но не могу заставить данные NA отображаться под N вот что у меня есть

Нам нужно преобразовать pell.elig в фактор, чтобы мы могли использовать данные надлежащим образом

 factor(Student_Data$Pell.Elig, exclude = NULL, 
       levels = c("Y", NA), 
       labels = c("Y", "N"))
levels(Student_Data$Pell.Elig)
  

Затем мы запустим таблицу первого поколения и получим право видеть результаты.

 table(as.factor(Student_Data$firstgen),Student_Data$Pell.Elig)
  
       Y   N
  FG 403   0
  OP 133   0
  TP  85   0
  

В моей таблице показаны 0 для N, но мне нужно, чтобы они указывали на NA.

Ответ №1:

Мы можем изменить NA элементы на «N»

 levels(Student_Data$Pell.Elig) <- c("Y", "N")
Student_Data$Pell.Elig[is.na(Student_Data$Pell.Elig)] <- "N"
  

Или другой вариант fct_explicit_na

 library(forcats)
table(as.factor(Student_Data$firstgen),
      fct_explicit_na(Student_Data$Pell.Elig, na_level = "N"))