본문 바로가기

728x90
반응형

배우기

(265)
[복습] R(programming language) 적용함수(sapply) + 하루 끝(20231129) 적용함수란 apply계열 함수를 의미하며, 데이터를 적절히 함수와 어울리게 fetch하여 함수에 적용하고 결과 리턴을 도와주는 함수이다. 적용함수의 원리는 분리, 적용, 결합이다(데이터 분리(fetch) → 함수에 적용 → 적용 결과 결합). 이 세 가지 원리에 의해 순서대로 이루어진다. 1차원 객체에 대한 적용: sapply, lapply, mapply(sapply를 압도적으로 많이 사용) 2차원 객체에 대한 적용: apply 그룹별 적용: tapply(그룹핑 할 수 있음) 앞으로 배우게 될 내용은, lapply는 사실상 쓰지 않고, sapply, mapply, apply를 주로 배울 예정이다. 오늘은 sapply에 대하여 공부하였다. 1.sapply sapply(list, function) sappl..
[복습] R(programming language) 사용자 정의 함수 사용자 정의 함수란 사용자가 직접 정의하는 함수로, 여러 인수를 전달할 수 있는데 이 때 인수의 이름과 함께 정의하여야 한다. 인수는 Default 값을 가질 수 있으며 함수인수자리에 선언하면 된다. 이 때 앞의 인수가 기본값을 가지면 뒤의 인수도 기본값을 가져야 한다는 것이 기본 규칙이다. 이 말 뜻은 뒤에 설명하면서 예를 들어보겠다. 문법 함수명
[실습문제] 2023. 11. 28.(화) (3문제) 참고로 이번 필기는 이전 파일을 덮어씌우는 바람에 다 날렸다............ 그냥 내가 다시 풀고 선생님 풀이와 비교해보는 걸로.. 기억 휘발되기 전에 얼른 올려야겠다. 실습문제 1.disease.txt 파일을 읽고 1) 동일 테이블 생성 후(dis1) 각 NA 값을 각 컬럼의 최소값으로 수정하여라. 2) A형간염의 컬럼 이름을 A간염으로 변경하여라(dis1) 3) dis에서 NA를 하나라도 포함한 행을 제외하여라 두 가지 풀이 방법이 있는데, 첫 번째 방법이다. NA가 포함됐는지의 여부를 검색하고, NA 합이 0이면, 즉 NA가 없으면 그 행번호를 벡터 형태로 저장하는 것이다. 두 번째 풀이방법이다. A형간염 컬럼 또는 월별 컬럼 또는 콜레라 컬럼 또는.... 모든 컬럼의 NA 유무를 T/F의 형..
[복습] R(programming language)에서 날짜 추출하기(Sys.Date, Sys.time, lubridate 등) + 복습후기(20231128) R의 기본함수와 날짜 패키지 중 하나인 lubridate를 가지고 여러 날짜 테스트를 수행하였다. 1. 현재 날짜 Sys.Date() 현재 날짜 Sys.time() 현재 날짜와 시간 2. 날짜 파싱(날짜 타입이 아니어서 날짜로 바꾸어주는 것) (보통 문자 → 날짜로 변경) as.Date와 strptime, as.POSIXct가 있는데 여기서 strptime은 포맷 생략이 불가하나 as.Date와 as.POSIXct는 기본순서(년월일)로 해석할 경우 포맷 생략이 가능하다. 3. 날짜 포맷 변경 strftime('2023/12/25','%A') 4. 날짜 연산 일반적으로 Line 6처럼 100일 후를 계산할 수 있다. Line 8처럼 날짜 차이를 구하면 타입이 difftime이라는 데이터 타입이 출력되는데 ..
[복습] R(programming language) 이전값 가져오기(zoo::na.locf) v1이 다음과 같이 정의되었을 때 (v1
[복습] R(programming language) 반복 제어문(next, break, quit) 반복 제어문이랑 반복문 내에서 사용할 수 있는 제어문으로, 어떠한 조건을 만나면 그 부분만 skip하게하거나(중간에 특정 케이스만 반복하고싶지 않은 경우), 조건이 무한히 진행되다가 어떤 조건을 만나면 반복을 끝나게 하는 것들이다. 반복 제어문을 통하여 반복문의 중간 제어 시점을 정의할 수 있다. 1. next: next를 만나면 반복문 내부에 있는 명령어의 실행을 skip 한다. 예를 들어 위와 같은 R 코드가 있다고 가정했을 때 cmd1은 10번 수행되나 next 다음에 오는 cmd2, cmd3은 next가 포함된 if문과 같은 depth이므로 실행을 skip 한다. 즉 여기서도 같은 depth인 cmd4에만 영향을 미친다. 2. break: 예외 처리를 위하여 주로 사용되는 문장으로, break를 ..
[복습] R(programming language)에서 SQL 작성하기(sqldf 패키지) R 내부에서 SQL을 사용하여 데이터 처리를 도와주는 패키지/함수명이 sqldf 이다. SQLite 문법을 사용하기 때문에 Oracle의 함수가 작동되지 않는다(decode 등). 그러나 Oracle join문법을 지원하며 ANSI 표준도 당연히 지원된다. https://metime.tistory.com/120 [복습] R(programming language) R의 join + 복습후기(20231127) 우선 join이란 참조 테이블에 참조 조건을 걸어 값을 가져오는 행위이다. join 메커니즘은 아래와 같다. step 1) 원본 table에서 참조 조건을 걸 대상(상수) 선택 step 2) 참조 table에서 참조 대상과의 조 metime.tistory.com 이 게시물에서 한번 다룬 적이 있으나 오..
[복습] R(programming language)의 숫자(수학/통계) 함수 숫자(수학/통계) 함수는 na.rm 옵션을 사용하여 NA를 제외한 연산이 가능하다. 기본적으로 sum, mean, min, max가 있다. 그런데 count는 없는데 이는 length로 대체 가능하기 때문이다. length(emp$DEPTNO)하면 벡터의 개수, 원소의 개수가 추출된다. dplyr패키지를 설치하면 count()를 사용할 수 있기는 하다. var(1:10): 분산 sd(1:10): 표준편차 (파이썬에서는 std) sqrt(4): 스퀘어루트, 루트 log10(): 밑이 10인 로그 함수 log2(): 밑이 2인 로그함수 log(x, base = exp(1)): 베이스는 선택 가능하며 default는 자연지수인 exp(1) 이다. exp(1): 자연지수(e) exp(10): e^10 이 정도 ..
[실습문제] 2023. 11. 27.(월) (3문제) 실습문제 1. emp.csv 파일을 읽고 각 직원의 총 급여를 출력하여라. 단, 총 급여는 SAL + COMM이며, COMM은 NA의 경우 500, 나머지는 10% 증가값으로 계산하여라. 실습문제 2. read_test.csv 파일을 읽고 1) a컬럼의 총 합을 구하여라. Line 4처럼 데이터 타입 변환할 때 NA는 타입 변환에 영향을 주지 않는다. Line 6에서 na.rm 옵션을 TRUE로 주면 NA는 제외하고 합을 구한다. 2) a 컬럼의 값 중 180이 초과하는 데이터는 잘못 들어온 것이라 가정하고 이 값들을 이들을 제외한 a컬럼의 평균값으로 대치한 후 a 컬럼의 총 합을 소수점 둘 째 자리까지 표현하여라. 1)에서 a를 숫자 타입으로 바꿨기 때문에 바로 평균을 계산하였다. 실습문제 3. stu..
[복습] R(programming language) R의 join + 복습후기(20231127) 우선 join이란 참조 테이블에 참조 조건을 걸어 값을 가져오는 행위이다. join 메커니즘은 아래와 같다. step 1) 원본 table에서 참조 조건을 걸 대상(상수) 선택 step 2) 참조 table에서 참조 대상과의 조건을 선택 step 3) 해당 조건에 맞는 대상을 참조 table에서 가져오기 R에서는 merge로 join 연산이 가능하다(R, Python 공통). equi join만 가능하며(non-equi join 불가), inner join이 기본 연산이다(outer join 지원, full outer join 까지 지원) natural join이 기본이다. 예제를 풀어보자. emp, dept를 사용하여 각 직원의 이름, 부서명을 출력하여라. 먼저 이전에 풀이한 방법대로 풀이해보면 다음과..

728x90
반응형