R barplot,总和基于类别

时间:2015-12-04 19:13:29

标签: r bar-chart

Newbie R问题:我有一个数据框,我可以根据其中一个功能将其分为5-6个类别。是否有一种简单的方法可以从另一列中获取数字总和,并在x轴上显示带有类别的条形图,并将总和作为条形的高度?

另外一句话: 拆分(dataframe,dataframe $ feature) 我不知道如何得到总和来分别对每个类别求和。

在网络上找不到任何有用的内容。

谢谢,

2 个答案:

答案 0 :(得分:1)

不知道您的问题的具体细节。我可以提供一个有用的解决方案,可以帮助您思考如何将data.frame按一个类别进行子集化并获得另一个类别的计数/总和的正确方向:

library(dplyr)
library(magrittr)
age <- c(1, 2, 3, 4, 5)
name <- c("Jasmine","Jane", "Jake", "Julie", "Jenna")
grade <- c("A", "A", "B", "B", "C")
gender <- c("F", "F", "M", "F", "F" )
pet <- c(T, F, F, F, T)

df <- data.frame(age, name, grade, gender, pet)
colnames(df) <- c("age", "name", "grade", "gender", "pet")

df %>%
   group_by(pet) %>%
   summarise(count = sum(age)) 

您的输出将是:

Source: local data frame [2 x 2]

    pet count      
   (lgl) (dbl)     
    1 FALSE     9
    2  TRUE     6

...你可以轻松地将它放入条形图中,如果那是你真正想要的!我最近使用这种技术summarise一个非常大的数据框,每个因子有很多级别,我需要基于另一个协变量计算生成条形图,我也是新的!

答案 1 :(得分:0)

感谢您的回复,以下是我的想法:

`#Aggregate does summation and other functions by Categories
 tableofTwoFeatures <- aggregate(dataFrame$Feature1, by = list(Category = dataFrame$Feature2, FUN=sum, na.rm=TRUE)
 #Transpose dataframe to matrix
 bpmat <- t(tableofTwoFeatures[-1])
 #Create column names
 colnames(bpmat) <- tableofTwoFeatures[,1]
 barplot(bpmat)
`