【问题标题】:Frequencies and histogram of values in a variable in RR中变量值的频率和直方图
【发布时间】:2019-06-10 17:18:12
【问题描述】:

首先,我有四个变量分布在列中,编码为“0,1”,每个“1”都是条件的 TRUE 值,我需要标记每个“1”,获取列中的所有变量并制作显示带有标签的数据的直方图。

我一直在使用“种族识别”变量,有四个可能的选项:“MAYA”、“LADINO”、“GARIFUNA”、“XINKA”、“EXTRANJERO”;在我的基础上,每个选项都在一个带有“0,1”的不同列中,我尝试将这些“1s”更改为不同的值,如下所示:“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”,合并在一个列中并获取每个列的频率标记并制作直方图。

【问题讨论】:

标签: r


【解决方案1】:

假设数据一次针对一个种族标识进行编码,您可以将多个虚拟编码变量转换为一个因素。让我知道这是否是您的想法。

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))

【讨论】:

  • 太棒了!! ,但问题是数据的长度,因为每列有 32,000 个条目,我需要 R 自己识别值而不是引入数据,我该怎么做?
  • 我不确定我是否理解,你能澄清一下你的数据来源是什么吗?使用 dput() 或举例说明您的起点。见:stackoverflow.com/questions/5963269/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-06
  • 2012-08-07
  • 1970-01-01
  • 2014-03-05
  • 2015-07-16
  • 1970-01-01
相关资源
最近更新 更多