R - chapter 3

24
데이터 조작 Chapter 03 조동헌 Davi Innovation

Transcript of R - chapter 3

Page 1: R - chapter 3

데이터 조작Chapter 03

조동헌 Davi Innovation

Page 2: R - chapter 3

챕터 3 목차

• 데이터의 삭제 및 변경과 추가

!

• 데이터 객체의 전환

Page 3: R - chapter 3

데이터의 삭제 및 변경과 추가

• 데이터 객체에서 특정 부분의 데이터를 삭제,특정 조건의 데이터를 변경, 이미 존재하는 데이터에 다른 데이터 추가하는 방법 탐구

Page 4: R - chapter 3

데이터의 삭제 및 변경과 추가 - 벡터의 원소 조작

//names 함수 : 각 벡터 원소에 이름 부여

//3~5번 원소 추출

//1,2번 원소 삭제

//1,2번 원소 삭제

Page 5: R - chapter 3

데이터의 삭제 및 변경과 추가 - 벡터의 원소 조작

//vec.1에서 벡터 이름 “1st”, “2st” 제외후 출력 - !연산자

//vec.1에서 벡터 이름 “1st”, “2st” 출력

//vec.1 3번째 벡터 원소값 변경

names함수로 벡터 원소의 이름을 찾음!연산자 : 부정

Page 6: R - chapter 3

데이터의 삭제 및 변경과 추가 - 벡터의 원소 조작

//vec.2에 vec.1 복사와 원소 추가

//vec.3에 vec.2[1:5] 복사와 원소 추가

Page 7: R - chapter 3

데이터의 삭제 및 변경과 추가 - 벡터의 원소 조작

//vec.3 원소들 중 4 초과인 원소 출력

//vec.3 원소들 중 NA을 제외한 원소

//vec.3 원소들 중 NA 원소

//vec.3 원소들 중 NA을 제외하고 4 초과인 원소

is.na함수로 NA(null)을 찾음

Page 8: R - chapter 3

데이터의 삭제 및 변경과 추가 - 벡터의 원소 조작

//vec.3 원소들 중 NA을 제외한 원소에 0.0 대입

//원소 중 4이상 원소를 4로 나눈 나머지 값 대입

Page 9: R - chapter 3

데이터의 삭제 및 변경과 추가 - 벡터의 원소 조작

//replace : vec.4를 vec.3로 대체(4,6번째 원소를 5로 대체)

//append 함수로 3:1 원소 추가

//3:1원소를 2번째 원소 뒤에 추가

//which 함수로 특정 조건 만족하는 원소의 index 구함

//idx에 저장된 index에 0을 대입

append함수로 추가 which함수로 index 구함 replace함수로 대체

Page 10: R - chapter 3

데이터의 삭제 및 변경과 추가 - 행렬의 원소 조작

1:12 //원소 : 1~12(numeric형) ncol=4 // 행(가로) : 4

byrow=TRUE //byrow는 행렬의 원소인 벡터를 행 방향 배치 or 열 방향 배치 설정 - T이면 행방향, F혹은 생략이면 열방향

Page 11: R - chapter 3

데이터의 삭제 및 변경과 추가 - 행렬의 원소 조작

//mat.1의 2행 3열 원소//mat.1의 2행 원소들 추출

//mat.1의 2,3열 원소들 추출

//mat.1에서 3열 제외후 추출

//mat.1 행 “Row.2”,”Row..3”이름 원소 추출

Page 12: R - chapter 3

데이터의 삭제 및 변경과 추가 - 행렬의 원소 조작

//열 1,3 출력

//ncol(mat.1)=4

ncol(mat.1)==4 // mat.1의 열 개수 출력 as.logical함수로 논리형(데이터형)으로 변환 시켜줌 1%%2 == 1 // %는 Error %%연산자는 나머지 출력

Page 13: R - chapter 3

데이터의 삭제 및 변경과 추가 - 행렬의 원소 조작

//mat.2의 3열의 원소들에 5 대입

//mat.2 원소 중 3의 배수 제외하고 0 대입

//mat.1에 열 방향 한줄 0 원소들 추가

//2행 뒤 0 원소 행 출력, mat.1의 3행 출력

Page 14: R - chapter 3

데이터의 삭제 및 변경과 추가 - 배열의 원소 조작하기

Page 15: R - chapter 3

데이터의 삭제 및 변경과 추가 - 배열의 원소 조작하기

//ary.1의 3열을 제외한 출력

Page 16: R - chapter 3

데이터의 삭제 및 변경과 추가 - 배열의 원소 조작하기

//이름으로 추출

//논리값으로 추출

//Row.1의 원소들 출력

> dim(ary.1) [1] 2 3 2 !

> as.logical(ary.1)[1]&&2 [1] 1 //T%%2==1, F%%2==0

Page 17: R - chapter 3

데이터의 삭제 및 변경과 추가 - 배열의 원소 조작하기

Page 18: R - chapter 3

데이터의 삭제 및 변경과 추가 - 배열의 원소 조작하기

//1,3열에 NA대입

//NA값에 0 대입

Page 19: R - chapter 3

데이터의 삭제 및 변경과 추가 - 배열의 원소 조작하기

• aperm 함수로 배열의 차원의 순서를 교환

• perm 인수는 차원의 순서를 지정(perm=c(2,1,3)은 2,1,3의 순서로 차원 배치)

Page 20: R - chapter 3

데이터의 삭제 및 변경과 추가 - 배열의 원소 조작하기

t( ) 함수는 행,열 순서를 열,행 순서로 변환 aperm 함수는 행,열 순서를 열,행 순서로 변환

Page 21: R - chapter 3

데이터의 삭제 및 변경과 추가 - 리스트의 원소 조작하기

//as.list함수로 list로 전환

//lst[1]에 대입시 warning

//lst[[1]]에 대입 - 벡터를 할당하려면 [[ 사용

Page 22: R - chapter 3

데이터의 삭제 및 변경과 추가 - 리스트의 원소 조작하기

//lst에 성분 이름 지정

//lst[[3]] 성분 이름 추가

//lst[[4]] 데이터 프레임 추가

iris의 결과를 살펴보자

Page 23: R - chapter 3

데이터의 삭제 및 변경과 추가 - 리스트의 원소 조작하기

• substr(lst[2],1,6) // 문자벡터 추출([ )!

• “Second”!

• substr(lst[[2]],1,6) // 문자벡터 추출([[ )!

• “Second”!

• sum(lst$numeric) // 수치벡터 추출(성분명)!

• 6!

• sum(lst[1]) // 수치벡터 추출([) - Error 리스트 객체 하나로 추출 되기 때문!

• sum(lst[[1]]) // 수치벡터 추출([[)!

• 6

Page 24: R - chapter 3

데이터의 삭제 및 변경과 추가 - 데이터 프레임 원소 조작