2016-02-06 47 views
-1

一個基本問題(我認爲)的位,我有2列說,1與性別(1 =女孩,0 =男孩),另一個與年齡。我如何去計算女孩的平均年齡?對R中的數據列進行操縱

+1

喜歡的東西:'tapply(年齡,性別,平均)' – DatamineR

+2

如果你是新的 「頻繁」 標籤可以包括[這個問題]有用( http://stackoverflow.com/questions/3505701/r-grouping-functions-sapply-vs-lapply-vs-apply-vs-tapply-vs-by-vs-aggrega) – rawr

+0

謝謝你的幫助 – stats123

回答

2

aggregate是一種選擇

weight <- c(12,34,56,78,33) 
sex <- c('m','f','f','f','m') 
df <- data.frame(weight,sex) 
aggregate(df$weight, list(sex = df$sex), mean) 
# sex x 
#1 f 56.0 
#2 m 22.5 
0

基地

我喜歡by當我在控制檯我工作太:

weight <- c(12,34,56,78,33) 
sex <- c('m','f','f','f','m') 
df <- data.frame(weight,sex) 
by(df,INDICES = df$sex, function(x) mean(df$weight)) 

dplyr

library(dplyr) 
df %>% group_by(sex) %>% summarize(mean = mean(weight)) 

data.table

library(data.table) 
dt <- setDT(df) 
dt[,mean(weight),by = sex]