2014-11-25 2 views
0

R의 데이터 프레임으로 가져온 하키 통계 집합이 있습니다. 원하는 데이터 집합에 대해 올바른 쿼리를 찾는 데 문제가 있습니다.통계 모델링을위한 SQL 명령

모든 기록은 내가 팀 당 G의 합을 할 수있는 방법을 찾으려면 1 표라는 선수

Name  Team  Opp  G 
AAAAA  PHI  BOS  2 
BBBBB  NYR  OTT  7 
AAAAA  PHI  BOS  9 
DDDDD  BOS  PHI  3 
EEEEE  BOS  PHI  1 
FFFFF  PHI  BOS  2 
GGGGG  OTT  NYR  3 

에 보관됩니다. 생각하면

SELECT DISTINCT(Team), SUM(G) FROM skaters과 같은 검색어를 사용했지만 예상 한 바가 없었습니다.

그런 다음 올바른 데이터를 찾은 GROUP BY 함수를 발견했습니다. 그때 나는 다시 한번 득점을 올리고 싶었다.

내가 찾고 있던 합계를 수행하는 쿼리를 수행하고 싶지만 집과 원정 팀 모두를 비교하고 비교해보고 싶습니다.

+1

힌트 :이 쿼리 by' 기본 '그룹이다. –

+0

r을 사용한다면 왜 SQL에 혼합하고 싶습니까? [here] (http://stackoverflow.com/questions/16657512/apply-function-conditionally/16657546#16657546)는 이러한 유형의 문제에 대한 접근 방법입니다. – rawr

+0

@rawr SQL을 사용하지 않아도됩니다. R에 익숙하지 않았기 때문에 SQL과 같은 쿼리 환경을 사용하는 것이 좋습니다. – Neurax

답변

1
library(data.table) 
setDT(df) # convert data frame to data table 
df[,list(sum_G = sum(G)), by=Team] 
# Team sum_G 
# 1: PHI 13 
# 2: NYR 10 
# 3: BOS  4 

# Or 

library(dplyr) 
df %>% group_by(Team) %>% summarise(sum_G = sum(G)) 
2

당신이 찾고있는 무엇을 희망하십시오.

SELECT Team, SUM(G) 'Sum' FROM skaters group by Team 
+0

SO를 위해 코드를 4 칸 들여 쓰기하여 포맷하십시오. –

0

당신은 당신이 데이터 프레임에서 통계를 가지고 상태 때문에 :

aggregate(skaters$G, list(skaters$Team), sum) 
0
Select Team ,Sum(G) as Total from skaters Group by Team