본문 바로가기

728x90
반응형

분류 전체보기

(304)
[복습] R(programming language)에서의 순위(rank, dense_rank) + 하루끝(20231204) 1. rank 바로 rank 의 문법을 확인하여보자. rank(x, # 대상(벡터, 하나만 전달 가능, 역순일 경우 -x) na.last = T, # NA 마지막 배치 여부 ties.method = 'average' , # 순위의 평균값으로 동순위 부여 (1.5, 1.5, 3.0, 4.0, 5.0) 'first', # 동순위로 처리하지 않고 각각 다른 순위 부여 (1,2,3,4,5) 'last', # 동순위로 처리하지 않고 각각 다른 순위 부여 (2,1,3,4,5) 'random', # 변동(동순위로 처리하지 않음. 각각 서로 다른 순위를 랜덤하게 부여) 'min', # 동순위로 처리하지 않고 낮은값(높은순위)로 동순위 처리(1,1,3,4,5) 'max') # 동순위로 처리하지 않고 큰값(낮은순위)로 동..
[복습] R(programming language)에서의 정렬(order, sort, orderBy, arrange) 정렬의 개념 중 1차 정렬, 2차 정렬의 개념을 명확히 알아야 한다. 특히 2차 정렬은, 1차 정렬 결과에서 같은 값을 가질 경우 그 데이터를 추가 정렬을 수행하는 것이다. 예를 들면, 위와 같이 성별 정렬 후 이름을 정렬하게 되면 우측 결과처럼 출력이 된다. 성별 이름별 정렬을 하라고 한다면 언어적 느낌상 group by 후 sort를 하라는 것 같지만 그렇게 착각하여서는 안된다. 성별을 1차로 정렬하고 이름을 2차로 정렬하라는 의미이다. 정렬 함수는 여러 개가 있는데 쓰임의 빈도에 맞게 ★를 달아보자. 1.order ★ ★ ★ - 직접 정렬된 결과로 리턴해주지 못한다 - 정렬된 순서대로 위치 값을 리턴한다 → 위치를 색인으로 전달하여 원하는 순서를 보장한다. 문법은 다음과 같다. order(....,..
[복습] R(programming language) 그룹 연산 정리(aggregate, ddply) https://metime.tistory.com/142 [복습] R(programming language) Group by 연산 함수(tapply, aggregate, ddply) + 하루끝(20231201) SQL에서 group by 연산처럼 수행을 도와주는 형태가 R에는 함수로 존재한다. 우선 group by 연산은 분리(그룹별) - 연산(적용) - 결합 의 매커니즘으로 구성되어 있다. 세 가지 정도 소개하려고 한다. 1. metime.tistory.com 여기서 배운 그룹 연산을 정리해보도록 하겠다. tappy는 데이터 프레임으로 output이 출력되지 않기 때문에 잘 사용하지 않으므로 넘어가겠다. 1. aggregate 1번 문법 - 연산 대상 컬럼이 많을 경우 유리하다. - 외부 객체를 사용할 ..
[복습] R(programming language) 그룹 연산 기능인 aggregate 함수가 갖는 장점(외부 객체로의 그룹 연산) aggregate 함수는 두 가지 문법이 있다. 자세한 내용은 아래 링크를 우선 참고하자. https://metime.tistory.com/142 [복습] R(programming language) Group by 연산 함수(tapply, aggregate, ddply) + 하루끝(20231201) SQL에서 group by 연산처럼 수행을 도와주는 형태가 R에는 함수로 존재한다. 우선 group by 연산은 분리(그룹별) - 연산(적용) - 결합 의 매커니즘으로 구성되어 있다. 세 가지 정도 소개하려고 한다. 1. metime.tistory.com emp.csv 자료로 예시를 들어보겠다. emp의 직원을 두 그룹으로 나누어 급여 평균을 계산하여보자. 단, 그룹 모집은 선착순이다(1~7번까지 1번 그룹,..
[실습문제] 2023. 12. 1.(금) (4문제) 실습문제 1. 2000-2013년_연령별실업율_40-49세.csv 파일을 읽고 1) 연도별 실업률 평균을 구하여라 이 문제는 열별 평균을 구하는 문제이다. 2) 월별 실업률 평균을 구하여라 이 문제는 행별 평균을 구하는 문제이다. 3) 모든 데이터를 소수점 둘 째 자리까지 표현하여라 이 문제에서는 sprintf를 사용하게 된다. 우선 값 하나를 대입하면 sprintf('%.2f', df1[1,1]) 이런 형식으로 작성하게 된다. 그렇게 되면 바로 apply에 대입을 할 수가 없다. 왜냐하면, 일단 apply에 대입하게 되면 아래와 같이 작성하게 되는데, apply(df1, c(1,2), sprintf, '%.2f') 이 함수를 해석하면 sprintf의 첫 인수가 df1이 된다는 의미이다. 하지만 문법을 ..
[실습문제] 2023. 11. 30.(목) (2문제) 실습문제 1. emplyment.csv 파일을 읽고 1) 연도별 총 근로일수의 평균을 구하여라 2) 고용형태별 월급여액 평균을 구하여라(전체근로자와 전체근로자(특수형태포함)이 다른 그룹이 되도록) 실습문제 2. student, exam_01 데이터를 사용하여 각 학년별 최고 성적자의 이름, 학년, 성적을 출력하여라.
8일차 - [1일 1문제] 각 부서의 최소 급여자 중에서 20번 부서의 최소 급여자보다 많은 급여를 받는 부서의 부서번호와 부서의 최소급여 찾기 1. EMP테이블에서 부서별 최소급여가 20번 부서의 최소급여보다 많은 부서의 부서번호와 부서의 최소급여를 조회하여라.
R에서의 Oracle DB Connect 방법 현업에서는 보통 분석할 모든 데이터들은 외부 서버로 떨어져 있다. 즉 분석서버 및 분석 DB 서버가 분리되어 있을 가능성이 크다. DBMS가 설치되어 있는 서버가 따로 있을 것이라는 의미이다. 그래서 이 게시글에서는 R에서 DB로 접속을 하여 원하는 데이터를 가져오는 방법을 기록해두려고 한다. R은 데이터가 저장되는 공간이 없는 SW이므로 DB연결 후 데이터를 불러와야 한다. R에서의 통신 담당인 RJDBC패키지(64bit)와 oracle에서의 통신담당인 ojdbc.jar 파일이 필요하다(ojdbc.jar 는 oracle 설치 시 자동 생성된다). 그리고 RJDBC 버전과 ojdbc.jar 버전이 일치하여야 한다(64bit). 집에서 테스트 할 수 있는 방법으로, 내 PC에 있는 R에서 내 PC에 있는 ..
[복습] R(programming language) Group by 연산 함수(tapply, aggregate, ddply) + 하루끝(20231201) SQL에서 group by 연산처럼 수행을 도와주는 형태가 R에는 함수로 존재한다. 우선 group by 연산은 분리(그룹별) - 연산(적용) - 결합 의 매커니즘으로 구성되어 있다. 세 가지 정도 소개하려고 한다. 1. tapply tapply(vector, # 연산대상 index, # 그룹핑 대상 function # 적용함수, .....) # 함수의 추가 인수 위와 같은 문법으로 되어있다. 문법이 심플한 장점이 있으며, 비교적 단순한 문법이긴 하나 벡터로 리턴이 되는 것이 단점이다(data.frame 리턴 불가). oracle에서는 group by 후 max(), count() 이렇게 여러 개 들어올 수 있는데 tapply는 하나의 연산 대상만 전달이 가능하다. Line 2처럼 학년별 키의 평균을 구..
DBeaver로 oracle dbms 접속하기 1. 설치 후 처음 시작하면 다음과 같은 메시지가 뜨는데 샘플 데이터는 이미 있으므로 아니오를 클릭하였다. 2. Oracle을 사용하므로 Oracle을 선택하였다. 3. $ORACLE_HOME/NETWORK/ADMIN/TNSNAMES.ORA 파일을 열어 Host, Database이름, Port 번호, Client를 확인한 후 입력한다. 19c는 Databaserk orcl4로 했다(처음 설치 시 orcl19로 했다가 오류가 나서 orcl4로 변경함). 그리고 왼쪽 하단에 Test Connection을 클릭 4. Download 진행 5. 이렇게 하면 접속 끝이다. scott계정이 없어서, 선생님이 주신 sql 파일을 실행하여 scott 계정도 만들고, 테이블들도 복사해왔다. 여기서도 orange와 같은 ..

728x90
반응형