新手R问:我有一个数据框架,我可以根据其中一个特征将其划分为5-6个类别。有没有一种简单的方法可以从另一列中获取数字的总和,并以x轴上的类别和条形图的高度显示条形图?
换句话说: split(dataframe,dataframe$feature),我不知道如何获取sum来分别对每个类别进行求和。
在网上找不到任何有用的东西。
谢谢,
发布于 2015-12-05 03:50:34
而不知道你问题的具体细节。我可以提供一个有用的解决方案,可以让您正确地思考如何按一个类别对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一个非常大的数据帧,每个因子有很多级别,我需要基于另一个协变量的计数来生成条形图,我也是新手!
发布于 2015-12-05 12:31:22
谢谢你的回复,这是我想出来的:
`#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)
`https://stackoverflow.com/questions/34095788
复制相似问题