2017-02-06 6 views
0

this SO postに基づいて各グループの平均を返そうとしていますが、この場合は解決策がないようです。なぜ私はまだグローバルな意味を持っているのか誰かが説明できますか?列が指定されたときにdplyrがグローバル平均を返す

tmp = tempfile(fileext = ".xlsx") 
download.file(url = "https://www.bls.gov/emp/ind-occ-matrix/occupation.xlsx", destfile = tmp, mode="wb") 
library(readxl) 
csv <- read_excel(tmp,sheet=8) 
######################################################## 
colnames(csv)<-c("title","code","Occupation Type","Employment2014","Employment2024" ,"EmploymentChange2014-24.Num","EmploymentChange2014-24.Percent","Percent self employed2014","Job openings due to growth and replacements2014-24","Median annual wage2015","Typical education needed for entry","Work experience in a related occupation","Typical on-the-job training needed") 
csv<-csv[csv[,3]=="Line item",] 
csv$"Median annual wage2015"<-as.numeric(csv$"Median annual wage2015") 

library(dplyr) 
csv%>%group_by(csv$"Typical education needed for entry")%>%summarise(n=n(),mean=mean(csv$"Median annual wage2015",na.rm=T)) 

答えて

0

dplyrアプリケーションが完全に正しいとは限りません。ようにcsv$を削除します。 meanのデータがdplyrチェインのコンテキスト外にあり、したがってgroup_byの機能を使用しているためです。

library(dplyr) 
csv %>% 
    group_by(`Typical education needed for entry`) %>% 
    summarise(n=n(), 
    mean=mean(`Median annual wage2015`,na.rm=T)) 

また、タブを使用してコードを読みやすくして入力することもできます。

+1

「代わりに」にしてはいけませんか? –

+0

あなたは正しいと思います。私はその中にスペースがある名前を使って作業するのに慣れていない。 – Wietze314

関連する問題