Частоты и гистограмма значений в переменной в R - PullRequest
0 голосов
/ 10 июня 2019

Во-первых, у меня есть четыре переменные, распределенные по столбцам, с кодировкой «0,1», каждая «1» является ИСТИННЫМ значением условия, мне нужно пометить каждую «1», получить все из них в столбцах и сделатьгистограмма, показывающая данные с метками.

Я работал с переменной «Этническая идентификация», есть четыре возможных варианта: «МАЙЯ», «ЛАДИНО», «ГАРИФУНА», «СИНКА», «Extranjero ";в моей базе каждый параметр находится в отдельном столбце с «0,1», я пытался изменить эти «1» для разных значений следующим образом: «MAYA = 1», «LADINO = 2», «GARIFUNA = 3»и т.д., чтобы дифференцировать каждое значение, но я заблудился в том, что делать дальше.

#ID_ETNICO<- CAPITAL  
   class(ID_ETNICO):


    $ IEE_MAYA                               : int  1 0 0 0 1 1 0 1 
    $ IEE_LADINO                             : int  0 1 0 0 0 0 1 0 
    $ IEE_GARIFUNA                           : int  0 0 1 0 0 0 0 0 
    $ IEE_XINKA                              : int  0 0 0 1 0 0 0 0 
    $ IEE_EXTRANJERO                         : int  0 0 0 0 0 0 0 0 



        ID_ETNICO$IEE_LADINO[ID_ETNICO$IEE_LADINO=="1"] <- 2  
        ID_ETNICO$IEE_GARIFUNA[ID_ETNICO$IEE_GARIFUNA=="1"] <- 3  
        ID_ETNICO$IEE_XINKA[ID_ETNICO$IEE_XINKA=="1"] <- 4  
        ID_ETNICO$IEE_EXTRANJERO[ID_ETNICO$IEE_EXTRANJERO=="1"] <- 5  


          $IEE_MAYA                                           : int  1 0 0 0 1 1 0 
          $ IEE_LADINO                                         : num  0 2 0 0 0 0 2 
          $ IEE_GARIFUNA                                       : num  0 0 3 0 0 0 0 
          $ IEE_XINKA                                          : num  0 0 0 4 0 0 0 
          $ IEE_EXTRANJERO                                     : num  0 0 0 0 0 0 0 


           table(ID_ETNICO$IEE_MAYA)
           table(ID_ETNICO$IEE_LADINO)
           table(ID_ETNICO$IEE_GARIFUNA)
           table(ID_ETNICO$IEE_XINKA)
           table(ID_ETNICO$IEE_EXTRANJERO)


               table(ID_ETNICO$IEE_MAYA)

0     1 

27533 5263

таблица (ID_ETNICO $ IEE_LADINO)

0     2 

6354 26442

таблица(ID_ETNICO $ IEE_GARIFUNA)

0     3 

32593 203

таблица (ID_ETNICO $ IEE_XINKA)

0     4 

32649 147

таблица (ID_ETNICO $ IEE_EXTRANJERO)

0     5 

32576 220

Теперь мне нужно обозначить "1 = MAYA", "2 = LADINO", "3 = GARIFUNA", "4 = XINKA", "5 = EXTRANJERO", объединить в один столбец, получить частоты каждой метки и составить гистограмму.

1 Ответ

0 голосов
/ 11 июня 2019

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

ID_ETNICO <- data.frame(
  IEE_MAYA = c(1,0,0,0,1,1,0,1),
  IEE_LADINO = c(0,1,0,0,0,0,1,0),
  IEE_GARIFUNA = c(0,0,1,0,0,0,0,0),
  IEE_XINKA = c(0,0,0,1,0,0,0,0),
  IEE_EXTRANJERO = c(0,0,0,0,0,0,0,0)
)

# Remove IEE_ from column names
names(ID_ETNICO) <- substring(names(ID_ETNICO), 5)

# Change dummy variables to factor
TIPO_ETNICO <- factor(names(ID_ETNICO)[max.col(ID_ETNICO)])

# Show frequency table and bar plot
table(TIPO_ETNICO)
barplot(table(TIPO_ETNICO))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...