ch0nny_log

[빅데이터분석] R _7. %IN% (여러 데이터 검색) 본문

빅데이터 분석(with 아이티윌)/R

[빅데이터분석] R _7. %IN% (여러 데이터 검색)

chonny 2024. 6. 27. 10:54

■ 연결 연산자


 : R에서의 연결 연산자는   paste입니다.  
문법:  
SQL>  select  ename  ||  ' 의 직업은 '  ||  job
           from  emp;

R>  paste( emp$ename , ' 의 직업은 ' , emp$job  )
■ library(data.table) 설치 
> install.packages("data.table")
1) 설치

2) data.table을 사용하겠다고 지정

3) data table을 이용해서 이름과 직업을 출력합니다.
> data.table(emp$ename,'의 직업은',emp$job)
문제 1. 아래의 SQL을 R로 구현하시오.
SQL> select ename || '의 직업은 '|| job
          from emp
          where job ='SALESMAN';
          
R > result <-emp[ emp$job =='SALESMAN', c("ename", "job")]
	 result
     
  > library(data.table)
    data.table(result$ename,'의 직업은',result$job)

 
■ % in% (여러 데이터를 검색할 때)

SQL VS R
1. IN   % IN%
2. LIKE   GREP
3. IS NULL   IS.NA
4. BETWEEN.. AND   (emp$sal>=1000) $ (emp$sal <= 3000)

문제 1. 직업이 salesman, analyst인 사원들의 이름, 월급, 직업을 출력하시오.
> emp[emp$job %in% c('SALESMAN','ANALYST'), c("ename","sal","job")]​
문제 2. 부서번호가 10,20번인 사원들의 이름, 월급, 부서번호를 출력하시오  
> emp[emp$deptno %in% c(10,20),c('ename','sal','deptno')]
문제 3. 부서번호가 10,20번이 아닌 사원들의 이름, 월급, 부서번호를 출력하시오  
> emp[!emp$deptno %in% c(10,20),c('ename','sal','deptno')]

설명: not -> 맨 앞에! 처리