R:자료형
R언어 공부를 위한 틀 틀:R
자료형[편집 | 원본 편집]
| 계열 | 변수타입 | 기원 | 설명 |
|---|---|---|---|
| 문자 | chr | character | 문자열. "", '' 사이에 쓸 수 있다. |
| 수 | num | numeric | 수치형(모두 포함) |
| int | integer | 정수 | |
| dbl | double | 실수 | |
| complex | 복소수 | ||
| 논리 | logi | boolean | 명목형 변수. 모든 철자를 대문자로 쓴다. TRUE, FALSE, T, F 앞글자만 써도 된다. |
| 시간 | Posixct | 시간변수(년월일시분초) | |
| Tseries | 시계열 변수 | ||
| 특수 | na | NA | 결측치(빈 값). Not Available. |
| null | null | 빈 값. 의도적으로 비워둔 값으로, 연산이 안된다. | |
| nan | NAN | 수학적으로 정의가 불가능한 경우 | |
| inf | infinite | 무한대 |
연산 우선순위[편집 | 원본 편집]
연산 우선순위는 다음과 같다. 문자>복소수>수치>논리
다른 유형끼리의 연산[편집 | 원본 편집]
다른 유형끼리 연산하면 강제로 하나의 유형으로 통일된다. 우선순위는 위와 같다.
변수[편집 | 원본 편집]
데이터를 저장해 놓고 그 위치를 가리키기 위해.
R에선 하나의 열을 변수로 취급하여 다루기도 한다.(보통은 1개의 열을 한꺼번에 취급하니까.)
| 변수명 | 설명 | 정보량 | 변환 |
|---|---|---|---|
| 명목형변수 | 특성에 따라 명칭을 주어 구분하는 변수 | 아래로 갈수록 정보량이 많아진다. | 아래에서 위로 변환은 가능하지만,
위에서 아래로의 변환은 정보량 부족으로 불가. |
| 서열형변수 | 명목형변수에서 서열정보 추가 | ||
| 연속형변수 | 셀 수 없으며, 구간(0~10)으로 정의되는 변수 |
데이터 파악 관련함수[편집 | 원본 편집]
| 이름 | 기원 | 기능 | 사용법 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| str() | 데이터의 타입 확인.
데이터 축약타입과 그 값을 보여준다. 객체구조를 요약해 출력해준다. |
str(데이터) | |||||||||
| mode()
class() |
데이터 타입만 보여준다.(축약x) | mode(데이터) | |||||||||
| is() | is | 데이터의 타입 확인
str이 변수타입을 알려준다면, is는 참과 거짓으로 알려준다. 결과값은 기존 데이터형의 좌표목록으로 나온다. |
is.integer(데이터) | ||||||||
| as() | as | 변수타입을 바꾼다.
다만, as.numeric("sam") 등 말이 안되는 형태는 na를 반환한다. |
as.integer(데이터)
as(데이터, 자료형) | ||||||||
| summary() | summary | 해당 데이터의 요약정보를 본다.
변수타입과 관련 정보들을 보여준다.
|
summary(데이터) | ||||||||
시간변수 다루기[편집 | 원본 편집]
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(날짜변수, "형식") | |||||||||
| sys.date() | 현재시간. 년월일. | ||||||||||
| date() | 현재시간. 요일 달 일 시분초 년 | ||||||||||
| sys.time() | 현재시간. 년월일 시분초 | ||||||||||
| difftime() | 시간 사이의 크기를 계산한다.
|
difftime(시간1, 시간2, units="day") |
연산[편집 | 원본 편집]
| 연산 | 설명 | ||
|---|---|---|---|
| +, - | 날짜데이터에 +,-연산을 하면 일수에서 더하거나 뺀다. | ||
문자열 관련함수[편집 | 원본 편집]
| 이름 | 기원 | 기능 | 사용법 |
|---|---|---|---|
| substr() | 문자열 추출 | substr(데이터, 시작번호,끝번호)
substr(데이터셋$열이름[인덱스], 1, 5) | |
| paste() | 문자열 붙이기. 데이터를 문자형으로 변환하여 붙인다.
맨 뒤에 , (기본설정은 띄어쓰기 한 칸) paste(colnames(데이터셋)[숫자], " ", 연산))) 형태로 쓸 수 있다. |
paste(데이터, "붙일문자", "붙일문자2", ....) | |
| str_c() | 문자열 붙이기. | ||
| strsplit() | 문자열 분리
"나눌문자열"을 기준으로 문자열들을 나눈다. 벡터를 나눌 경우 리스트화 한다. |
strsplit(데이터, split="나눌문자열") | |
| grep() | 정의된 문자열을 포함하는 데이터의 인덱스 추출 | grep("검색할문자열", 데이터) | |
| gsub() | 문자열 대체 | gsub("원래문자열", "대체할문자열", 데이터) | |
| str_replace_all() | 문자열 치환 | str_replace_all(문자열, '바꿀문자', '나중문자') |