2017-04-10 6 views
-2

입니다. 저는 R에 비해 상대적으로 새롭고 하위 세트/그룹에 대한 통계를 작성하려고합니다.데이터의 하위 그룹과 관련된 생성 빈도는 R

Emittent <- (data.frame(table(Emittent))) 

나는 기업의 번호로 예를 들어 보면 데이터 세트에서 정보를 추출 할 :

나는 다음과 같은 코드를 사용하여 전체 샘플 emittent 또는 연도 별 트랜잭션의 수를 얻을 수 있었다 (Emittent) (= 다른 변수) 그러나 이러한 조건부 요청을 구성하는 방법을 모르겠습니다. Stata에서 저는 자주 if 문을 사용했지만 R에서 처리하는 방법을 모릅니다.

데이터 프레임 작업 중입니다.

+1

읽기 도움말 ("["). 이것은 하위 집합에 대한 좋은 소개 일 것입니다. 또한 1 ~ 2 시간 정도 걸리고 R 튜토리얼을 처음부터 끝까지 살펴보아야 할 것입니다.이 튜토리얼은 처음 다루는 주제 중 하나입니다. – lmo

+0

재현 가능한 예를 제공하십시오 [mcve]! http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – jogo

답변

0

R의 서브 세트는 대괄호 [을 사용하여 수행됩니다. 대괄호 안에는 먼저 행과 열이 표시됩니다. 모든 요구 사항이 있으면 어느 쪽을 지정해야합니다. 관찰 세트에

다음 작동합니다 다음 subset() 기능을도있다

data("mtcars") 
cyl_4 <- mtcars[mtcars$cyl == 4, ] 

subset(mtcars, cyl == 4) 

그러나 STATA에서 오는 사람이 정말 dplyr 패키지를 추천하기위한

library(dplyr) 
filter(mtcars, cyl == 4) 
    mpg cyl disp hp drat wt qsec vs am gear carb 
1 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 
2 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2 
3 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2 
4 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1 
5 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2 
6 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1 
7 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1 
8 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1 
9 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2 
10 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2 
11 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2 

요약을 계산하려는 경우에도 동일한 원칙이 적용됩니다. 하위 그룹에 의해 tatistics :

mean(mtcars$mpg[mtcars$cyl == 4]) 
[1] 26.66364 

dplyr

cyl_4 <- mtcars %>% 
    filter(cyl == 4) %>% 
    summarise(mean(mpg)) 
     mean(mpg) 
    1 26.66364 

또는

mtcars %>% group_by(cyl) %>% 
    summarise(mean(mpg)) 
# A tibble: 3 × 2 
    cyl `mean(mpg)` 
    <dbl>  <dbl> 
1  4 26.66364 
2  6 19.74286 
3  8 15.10000 
+0

그건 내 질문이 아니 었어. 조건문을 통해 하위 그룹에 대한 기여도를 얻는 방법을 알고 싶었습니다. – Bonsaibubble

+0

예 : y = 2016 일 때 x의 평균값을 원함. – Bonsaibubble

+0

가 더 많은 개발 된 예제를 추가하도록 편집 됨 –