본문 바로가기
통계프로그램 비교 시리즈/프로그래밍비교(Oracle,Python,R,SAS)

[기초 통계량 - 최소값 MIN 함수] 조건절을 만족하는 수치형 데이터 최소값 측정 - 33 (오라클 SQL, R, Python, SAS)

by 기서무나구물 2021. 8. 8.

포스팅 목차

     

    33. Display the min Sal being paid to any SALESMAN.

     

    * 판매직에게 지급되는 급여 중 최소 급여를 출력하시오.


    • Oracle : min()
    • 파이썬 Pandas : min(), .query()
    • R 프로그래밍 : min(), subset()
    • R Dplyr Package : filter(), dplyr::summarise(), min()
    • R sqldf Package : min()
    • Python pandasql Package : min()
    • R data.table Package : min()
    • SAS Proc SQL : min()
    • SAS Data Step : proc summary, min=
    • Python Dfply Package : filter_by(), summarize(), .min()
    • 파이썬 Base 프로그래밍 :

     


    1. 오라클(Oracle)

    • 직무가 판매직 직원을 선택 후 급여(sal)가 최저인 사원의 급여를 출력
    Oracle Programming
    select min(sal) sal_min
    from   emp 
    where  job='SALESMAN';

     


    2. 파이썬(Pandas)

    • 직무('job')가 판매직 사원을 선택 후 min() 함수를 사용하여서 판매직 직원의 최저 급여를 출력
    Python Programming
    min(emp[emp['job'] == 'SALESMAN']['sal'])

     

    Results
    1250

     


    • Min 함수
    Python Programming
    emp.query(' job == "SALESMAN" ')[['sal']].min()

     

    Results
    sal    1250
    dtype: int64

     


    3. R Programming (R Package)

    • 직무('job')가 판매직 사원을 선택 후 min() 함수를 사용하여서 최저 급여를 출력
    R Programming
    %%R
    min(emp[emp$job == 'SALESMAN' , c("sal") ])

     

    Results
    [1] 1250

     


    • subset을 사용하여서 직무('job')가 판매직 사원을 선택 후 min() 함수를 사용하여서 판매직 직원의 최저 급여를 출력
    R Programming
    %%R
    min( subset(emp,subset= (job == 'SALESMAN') , select=c(sal) ) )

     

    Results
    [1] 1250

     


    4. R Dplyr Package

    • filter()를 사용하여서 직무('job')가 판매직 사원을 선택 후 summarise(min()) 함수를 사용하여서 최저 급여를 출력
    R Programming
    %%R
    emp %>% filter(job == 'SALESMAN' ) %>% dplyr::summarise(min_value = min(sal))

     

    Results
    # A tibble: 1 x 1
      min_value
          <dbl>
    1      1250

     


    5. R sqldf Package

    • 직무('job')가 판매직 사원을 선택 후 min() 함수를 사용하여서 최저 급여를 출력
    R Programming
    %%R
    sqldf("select min(sal) from emp where job='SALESMAN'")

     

    Results
      min(sal)
    1     1250

     


    6. Python pandasql Package

    • Min 함수
    Python Programming
    ps.sqldf( select min(sal) from emp where job='SALESMAN' ")

     

    Results
      min(sal)
    0 1250

     


    7. R data.table Package

    • 직무('job')가 판매직 사원을 선택 후 min() 함수를 사용하여서 판매직 직원의 최저 급여를 출력
    R Programming
    %%R
    
    DT          <- data.table(emp)
    
    DT[job == "SALESMAN", .(`sal_min` = min(sal, na.rm = TRUE))]

     

    Results
       sal_min
    1:    1250

     


    8. SAS Proc SQL

    • Min 함수
    SAS Programming
    %%SAS sas
    
    PROC SQL;
      CREATE TABLE STATSAS_1 AS
        SELECT MIN(SAL) AS SAL_MIN
        FROM   EMP A
        where  job='SALESMAN';
    QUIT;
    PROC PRINT;RUN;

     

    Results
     
    OBS SAL_MIN
    1 1250

    9. SAS Data Step

    • Proc smmary 프로시져와 Min
    SAS Programming
    %%SAS sas
    
    PROC SUMMARY DATA=EMP;
         VAR SAL;
         OUTPUT OUT=STATSAS_2(DROP=_:) MIN=SAL_MIN;
         where  job='SALESMAN';
    RUN;
    PROC PRINT;RUN;

     

    Results
     
    OBS SAL_MIN
    1 1250

    10. Python Dfply Package

    • Min 함수
    Python Programming
    emp >> filter_by( X.job=='SALESMAN' ) >> summarize( sal_min = X.sal.min() )

     

    Results
      sal_min
    0 1250

     


     

    [SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE]   SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트

     

     

    반응형

    댓글