R:자료형: 두 판 사이의 차이
보이기
잔글 →관련함수 |
|||
| 31번째 줄: | 31번째 줄: | ||
| | | | ||
|시계열 변수 | |시계열 변수 | ||
|- | |||
|an | |||
|Null | |||
NA | |||
|결측치(빈 값) | |||
|} | |} | ||
{| class="wikitable" | {| class="wikitable" | ||
| 70번째 줄: | 75번째 줄: | ||
is는 참과 거짓으로 알려준다. | is는 참과 거짓으로 알려준다. | ||
결과값은 기존 데이터형의 좌표목록으로 나온다. | |||
|is.integer(데이터) | |is.integer(데이터) | ||
|- | |- | ||
| 103번째 줄: | 110번째 줄: | ||
|} | |} | ||
== 데이터 조작 관련함수 == | ==데이터 조작 관련함수== | ||
=== 데이터 수치 조작 === | |||
{| class="wikitable" | {| class="wikitable" | ||
!이름 | !이름 | ||
| 128번째 줄: | 137번째 줄: | ||
|rowSums(데이터셋[범위]) | |rowSums(데이터셋[범위]) | ||
rowSums(데이터셋[2:8]) | rowSums(데이터셋[2:8]) | ||
|- | |||
|colSums() | |||
| | |||
|열별 합. | |||
|colSums(데이터셋[범위]) | |||
|- | |- | ||
|mean() | |mean() | ||
| 143번째 줄: | 157번째 줄: | ||
|표준편차 | |표준편차 | ||
|sd(데이터셋$열이름) | |sd(데이터셋$열이름) | ||
|} | |||
위 연산들에서 결측치를 생략하고 계산하고자 한다면 뒤에 <code>na.rm=True</code>를 붙여주면 된다. ex) <code>sum(데이터셋[범위], na.rm=True)</code> | |||
=== 데이터 통계 === | |||
{| class="wikitable" | |||
!이름 | |||
!기원 | |||
!기능 | |||
!사용법 | |||
|- | |- | ||
|table() | |table() | ||
| 266번째 줄: | 289번째 줄: | ||
|형식에 해당하는 데이터만 뽑는다. | |형식에 해당하는 데이터만 뽑는다. | ||
|format(날짜변수, "형식") | |format(날짜변수, "형식") | ||
|}< | |} | ||
== 문자열 관련함수 == | |||
{| class="wikitable" | |||
|+ | |||
!이름 | |||
!기원 | |||
!기능 | |||
!사용법 | |||
|- | |||
|substr() | |||
| | |||
|문자열 추출 | |||
|substr(데이터, 시작번호,끝번호) | |||
substr(데이터셋$열이름[인덱스], 1, 5) | |||
|- | |||
|paste() | |||
| | |||
|문자열 붙이기 | |||
맨 뒤에 ,<code>set="사이에 넣을 것"</code> 을 사용하면 붙일 문자들 사이에 들어갈 것을 지정할 수 있다. | |||
(기본설정은 띄어쓰기 한 칸) | |||
|paste(데이터, "붙일문자", "붙일문자2", ....) | |||
|- | |||
|strsplit() | |||
| | |||
|문자열 분리 | |||
"나눌문자열"을 기준으로 문자열들을 나눈다. | |||
|strsplit(데이터, split="나눌문자열") | |||
|- | |||
|gsub() | |||
| | |||
|문자열 대체 | |||
|gsub("원래문자열", "대체할문자열", 데이터) | |||
|} | |||
== 쓸 만한 활용법 == | |||
{| class="wikitable" | |||
|+ | |||
!의도 | |||
!방법 | |||
! | |||
|- | |||
|열별 결측치 카운팅 | |||
|colSums(is.na(데이터셋)) | |||
| | |||
|- | |||
|결측치가 들어간 행 지우기 | |||
|데이터셋 = na.omit(데이터셋) | |||
|그러나, 결측치 비율이 상당할 경우 위험한 작업이다. | |||
|- | |||
|특정 데이터에 결측치가 들어간 경우 삭제 | |||
|<code>데이터셋 = 데이터셋[complete.cases(데이터셋[범위]), ]</code> | |||
| | |||
|- | |||
|결측치에 일정 값 부여 | |||
|데이터[is.na(데이터)] = 일정값 | |||
|일반적으로 연속형변수의 경우, 평균으로 대체하고, | |||
이산현병순의 경우, 최빈값으로 대체한다. | |||
|- | |||
| | |||
| | |||
| | |||
|} | |||
2020년 8월 4일 (화) 03:35 판
R언어 공부를 위한 틀 틀:R
변수형
| 변수타입 | 기원 | 설명 |
|---|---|---|
| chr | character | 문자열 |
| int | integer | 정수 |
| num | numeric | 자연수 |
| Factor | 명목형 변수 | |
| Posixct | 시간변수(년월일시분초) | |
| Tseries | 시계열 변수 | |
| an | Null
NA |
결측치(빈 값) |
| 변수명 | 설명 | 정보량 | 변환 |
|---|---|---|---|
| 명목형변수 | 특성에 따라 명칭을 주어 구분하는 변수 | 아래로 갈수록 정보량이 많아진다. | 아래에서 위로 변환은 가능하지만,
위에서 아래로의 변환은 정보량 부족으로 불가. |
| 서열형변수 | 명목형변수에서 서열정보 추가 | ||
| 연속형변수 | 셀 수 없으며, 구간(0~10)으로 정의되는 변수 |
데이터 파악 관련함수
| 이름 | 기원 | 기능 | 사용법 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| str() | 데이터의 타입 확인 | str(데이터) | |||||||||
| is() | is | 데이터의 타입 확인
str이 변수타입을 알려준다면, is는 참과 거짓으로 알려준다. 결과값은 기존 데이터형의 좌표목록으로 나온다. |
is.integer(데이터) | ||||||||
| as() | as | 변수타입을 바꾼다. | as.integer(데이터) | ||||||||
| summary() | summary | 해당 데이터의 요약정보를 본다.
변수타입과 관련 정보들을 보여준다.
|
summary(데이터) |
데이터 조작 관련함수
데이터 수치 조작
| 이름 | 기원 | 기능 | 사용법 |
|---|---|---|---|
| quantile() | qunatile | 각 분위수에 해당하는 값을 꺼낸다. | quantile(데이터셋$열이름, probs = c(0.1, 0.3, 0.5, 0.7, 0.9)
10, 30, 50, 70, 90%에 해당하는 값들을 보여준다. [이걸 변수에 저장하거나 하진 못하나?] |
| sum() | sum | 합. | sum(데이터셋$열이름) |
| rowSums() | 행별 합. | rowSums(데이터셋[범위])
rowSums(데이터셋[2:8]) | |
| colSums() | 열별 합. | colSums(데이터셋[범위]) | |
| mean() | mean | 평균. | mean(데이터셋$열이름) |
| rowMeans() | 행별 평균. | rowMeans(데이터셋[범위]) | |
| sd() | 표준편차 | sd(데이터셋$열이름) |
위 연산들에서 결측치를 생략하고 계산하고자 한다면 뒤에 na.rm=True를 붙여주면 된다. ex) sum(데이터셋[범위], na.rm=True)
데이터 통계
| 이름 | 기원 | 기능 | 사용법 |
|---|---|---|---|
| table() | table | 빈도 테이블 작성.
열 안에 속한 요소가 몇 번씩 등장하는지 세어 테이블로 만든다. |
테이블명 = as.data.frame(table(데이터셋$열이름)) |
| xtabs() | 2차원 테이블 작성.
열이름1과 열이름2 안에 나타나는 조합의 수별로 몇 번씩 등장하는지 센다. |
테이블명 = as.data.frame(xtabs(~ 데이터셋$열이름1 + 데이터셋$열이름2)) |
시간변수 다루기
3가지 방법이 있다.
| 방법 | 사용처 | 사용예시 |
|---|---|---|
| as.Date() | 년-월-일 형태 | as.Date(변수, formet="날짜형식")
as.Date(2020-08-03, formet="%Y-%m-%d" |
| as.POSIXct() | 년-월-일 시:분:초 형태 | |
| lubridate패키지 |
날짜형식
2020년 1월 22일 23시 24분 25초 월요일 이라고 할 때의 데이터 표시를 알아보자.
| 형식 | 예시 | 형식 | 예시 | |
|---|---|---|---|---|
| 세기 | %C | 20세기 | ||
| 년 | %Y | 2020 | %y | 20 |
| 월 | %m | 01 | %B | 1월 |
| %b | 1 | |||
| 일 | %d | 22 | ||
| 시 | %H | 23 | %l | 11 |
| %p | PM | |||
| 분 | %M | 24 | ||
| 초 | %S | 25 | ||
| 요일 | %a | 월 | %A | 월요일 |
| %u | 1~7
(1:월요일) |
%w | 0~6
(2:월요일) |
시간변수 관련함수
| 이름 | 기원 | 기능 | 사용법 |
|---|---|---|---|
| format() | 형식에 해당하는 데이터만 뽑는다. | format(날짜변수, "형식") |
문자열 관련함수
| 이름 | 기원 | 기능 | 사용법 |
|---|---|---|---|
| substr() | 문자열 추출 | substr(데이터, 시작번호,끝번호)
substr(데이터셋$열이름[인덱스], 1, 5) | |
| paste() | 문자열 붙이기
맨 뒤에 , (기본설정은 띄어쓰기 한 칸) |
paste(데이터, "붙일문자", "붙일문자2", ....) | |
| strsplit() | 문자열 분리
"나눌문자열"을 기준으로 문자열들을 나눈다. |
strsplit(데이터, split="나눌문자열") | |
| gsub() | 문자열 대체 | gsub("원래문자열", "대체할문자열", 데이터) |
쓸 만한 활용법
| 의도 | 방법 | |
|---|---|---|
| 열별 결측치 카운팅 | colSums(is.na(데이터셋)) | |
| 결측치가 들어간 행 지우기 | 데이터셋 = na.omit(데이터셋) | 그러나, 결측치 비율이 상당할 경우 위험한 작업이다. |
| 특정 데이터에 결측치가 들어간 경우 삭제 | 데이터셋 = 데이터셋[complete.cases(데이터셋[범위]), ]
|
|
| 결측치에 일정 값 부여 | 데이터[is.na(데이터)] = 일정값 | 일반적으로 연속형변수의 경우, 평균으로 대체하고,
이산현병순의 경우, 최빈값으로 대체한다. |