首页 文章

如何对变量进行分组并在R中进行条形图?

提问于
浏览
0

我想用R barplot比较变量的计数或相对频率 .

这是一个示例数据帧

Q7B1 Q7A2 Q7B2 Q7A3 Q7B3
    1    NA    2   NA    1    2
    2    NA    2   NA    1    2
    3     2    2   NA    1    2
    4     2    2   NA    1    2
    5    NA    2   NA    1    2
    6    NA    2   NA    2   NA
    7     2    2   NA    1    2
    8    NA    2   NA    2   NA
    9    NA    2   NA    2   NA
    10    2    2   NA    1    2

我想创建一个条形图,其中每个变量(Q7B1,Q7B2,Q7B3,....,Q7B8)代表一个条形 . 每个变量都有值(1,2,3) . 条的高度表示每个变量的值“2”的计数或相对频率 . 我如何在R中执行此操作?

2 回答

  • 1

    如果您的数据框名为 dat ,则可以执行以下操作:

    barplot(colSums(dat == 2, na.rm = TRUE))
    

    enter image description here

    要获得具有相对频率的绘图,可以使用以下命令:

    barplot(colSums(dat == 2, na.rm = TRUE) / nrow(dat))
    
  • 0

    首先,您想要在每列中获得2的频率:

    freqs <- apply(dataframe, 2, function(column) { 
        length(which(column == 2))/nrow(dataframe) 
    })
    names(freqs) <- names(dataframe) # may be redundant
    

    然后你可以简单地描绘它:

    barplot(freqs)
    

相关问题