Newbie R问题:我有一个数据框,我可以根据其中一个功能将其分为5-6个类别。是否有一种简单的方法可以从另一列中获取数字总和,并在x轴上显示带有类别的条形图,并将总和作为条形的高度?
另外一句话: 拆分(dataframe,dataframe $ feature) 我不知道如何得到总和来分别对每个类别求和。在网络上找不到任何有用的内容。
谢谢,
答案 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)
`