R:자료형: 두 판 사이의 차이
(새 문서: {{R}}<br /> == 변수형 == {| class="wikitable" |+ !변수타입 !기원 !설명 |- |chr |character |문자열 |- |int |integer |정수 |- |num |numeric |자연수 |- |Factor | |명...) |
잔글 (→문자열 관련함수) |
||
(같은 사용자의 중간 판 27개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
{{R}}<br /> | {{R}}<br /> | ||
== | ==자료형== | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
!계열 | |||
!변수타입 | !변수타입 | ||
!기원 | !기원 | ||
!설명 | !설명 | ||
|- | |- | ||
|문자 | |||
|chr | |chr | ||
|character | |character | ||
|문자열 | |||
|문자열. "", <nowiki>''</nowiki> 사이에 쓸 수 있다. | |||
|- | |- | ||
| rowspan="4" |수 | |||
|num | |||
|numeric | |||
|수치형(모두 포함) | |||
|- | |||
|int | |int | ||
|integer | |integer | ||
|정수 | |정수 | ||
|- | |- | ||
| | |dbl | ||
| | |double | ||
| | |실수 | ||
|- | |- | ||
| | | | ||
| | |complex | ||
|복소수 | |||
|- | |- | ||
|논리 | |||
|logi | |||
|boolean | |||
|명목형 변수. 모든 철자를 대문자로 쓴다. TRUE, FALSE, T, F 앞글자만 써도 된다. | |||
|- | |||
| rowspan="2" |시간 | |||
| | |||
|Posixct | |Posixct | ||
|시간변수(년월일시분초) | |시간변수(년월일시분초) | ||
|- | |- | ||
| | |||
|Tseries | |Tseries | ||
|시계열 변수 | |||
|- | |||
| rowspan="3" |특수 | |||
|na | |||
|NA | |||
|결측치(빈 값). Not Available. | |||
|- | |||
|null | |||
|null | |||
|빈 값. 의도적으로 비워둔 값으로, 연산이 안된다. | |||
|- | |||
|nan | |||
|NAN | |||
|수학적으로 정의가 불가능한 경우 | |||
|- | |||
| | | | ||
| | |inf | ||
|infinite | |||
|무한대 | |||
|} | |} | ||
===연산 우선순위=== | |||
연산 우선순위는 다음과 같다. <code>문자>복소수>수치>논리</code> | |||
===다른 유형끼리의 연산=== | |||
다른 유형끼리 연산하면 강제로 하나의 유형으로 통일된다. 우선순위는 위와 같다. | |||
<br /><br /> | |||
==변수== | |||
데이터를 저장해 놓고 그 위치를 가리키기 위해. | |||
R에선 하나의 열을 변수로 취급하여 다루기도 한다.(보통은 1개의 열을 한꺼번에 취급하니까.) | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
!변수명 | !변수명 | ||
!설명 | !설명 | ||
!정보량 | !정보량 | ||
!변환 | !변환 | ||
|- | |- | ||
|명목형변수 | |명목형변수 | ||
|특성에 따라 명칭을 주어 구분하는 변수 | |특성에 따라 명칭을 주어 구분하는 변수 | ||
| rowspan="3" |아래로 갈수록 정보량이 많아진다. | | rowspan="3" |아래로 갈수록 정보량이 많아진다. | ||
| rowspan="3" |아래에서 위로 변환은 가능하지만, | | rowspan="3" |아래에서 위로 변환은 가능하지만, | ||
위에서 아래로의 변환은 정보량 부족으로 불가. | 위에서 아래로의 변환은 정보량 부족으로 불가. | ||
|- | |- | ||
|서열형변수 | |서열형변수 | ||
|명목형변수에서 서열정보 추가 | |명목형변수에서 서열정보 추가 | ||
|- | |- | ||
|연속형변수 | |연속형변수 | ||
|셀 수 없으며, 구간(0~10)으로 정의되는 변수 | |셀 수 없으며, 구간(0~10)으로 정의되는 변수 | ||
|} | |} | ||
==데이터 파악 관련함수== | |||
{| class="wikitable" | {| class="wikitable" | ||
!이름 | !이름 | ||
!기원 | !기원 | ||
!기능 | !기능 | ||
!사용법 | !사용법 | ||
|- | |- | ||
|str() | |str() | ||
| | | | ||
|데이터의 타입 확인. | |||
데이터 축약타입과 그 값을 보여준다. | |||
객체구조를 요약해 출력해준다. | |||
|str(데이터) | |||
|- | |||
|mode() | |||
class() | |||
| | |||
|데이터 타입만 보여준다.(축약x) | |||
|mode(데이터) | |||
|- | |||
|is() | |||
|is | |||
|데이터의 타입 확인 | |데이터의 타입 확인 | ||
str이 변수타입을 알려준다면, | |||
is는 참과 거짓으로 알려준다. | |||
결과값은 기존 데이터형의 좌표목록으로 나온다. | |||
|is.integer(데이터) | |||
|- | |||
|as() | |||
|as | |||
|변수타입을 바꾼다. | |||
다만, as.numeric("sam") 등 말이 안되는 형태는 na를 반환한다. | |||
|as.integer(데이터) | |||
as(데이터, 자료형) | |||
|- | |||
|summary() | |||
|summary | |||
|해당 데이터의 요약정보를 본다. | |||
변수타입과 관련 정보들을 보여준다. | |||
{| class="wikitable" | |||
|+ | |||
!데이터형 | |||
!결과 | |||
|- | |||
|Factor | |||
|Low, Mid, High에 해당하는 집계를 보여준다. | |||
|- | |||
|Numeric | |||
|최솟값, 최대값, 평균, 각 분위수 | |||
1분위수는 하위 25%에 해당하는 값. | |||
2분위수는 Median으로 나타나고, | |||
3분위수는 상위 25%에 해당하는 값. | |||
|- | |||
| | |||
| | |||
|} | |||
|summary(데이터) | |||
|- | |||
| | |||
| | |||
| | |||
| | |||
|} | |||
==시간변수 다루기== | |||
3가지 방법이 있다. | |||
{| class="wikitable" | |||
|+ | |||
!방법 | |||
!사용처 | |||
!사용예시 | |||
|- | |||
|as.Date() | |||
|년-월-일 형태 | |||
|as.Date(변수, formet="날짜형식") | |||
as.Date(2020-08-03, formet="%Y-%m-%d" | |||
|- | |||
|as.POSIXct() | |||
|년-월-일 시:분:초 형태 | |||
| | |||
|- | |||
|lubridate패키지 | |||
| | |||
| | |||
|} | |||
===날짜형식=== | |||
2020년 1월 22일 23시 24분 25초 월요일 이라고 할 때의 데이터 표시를 알아보자. | |||
{| class="wikitable" | |||
|+ | |||
! | |||
!형식 | |||
!예시 | |||
!형식 | |||
!예시 | |||
|- | |||
!세기 | |||
|%C | |||
|20세기 | |||
| | |||
| | |||
|- | |||
!년 | |||
|%Y | |||
|2020 | |||
|%y | |||
|20 | |||
|- | |||
! rowspan="2" |월 | |||
|%m | |||
|01 | |||
|%B | |||
|1월 | |||
|- | |||
|%b | |||
|1 | |||
| | |||
| | |||
|- | |||
!일 | |||
|%d | |||
|22 | |||
| | |||
| | |||
|- | |||
! rowspan="2" |시 | |||
|%H | |||
|23 | |||
|%l | |||
|11 | |||
|- | |||
|%p | |||
|PM | |||
| | | | ||
| | |||
|- | |||
!분 | |||
|%M | |||
|24 | |||
| | |||
| | |||
|- | |||
!초 | |||
|%S | |||
|25 | |||
| | |||
| | |||
|- | |||
! rowspan="2" |요일 | |||
|%a | |||
|월 | |||
|%A | |||
|월요일 | |||
|- | |||
|%u | |||
|1~7 | |||
(1:월요일) | |||
|%w | |||
|0~6 | |||
(2:월요일) | |||
|} | |||
<br /> | |||
===시간변수 관련함수=== | |||
{| class="wikitable" | |||
!이름 | |||
!기원 | |||
!기능 | |||
!사용법 | |||
|- | |||
|format() | |||
| | |||
|형식에 해당하는 데이터만 뽑는다. | |||
|format(날짜변수, "형식") | |||
|- | |||
|sys.date() | |||
| | |||
|현재시간. 년월일. | |||
| | |||
|- | |||
|date() | |||
| | |||
|현재시간. 요일 달 일 시분초 년 | |||
| | |||
|- | |||
|sys.time() | |||
| | |||
|현재시간. 년월일 시분초 | |||
| | |||
|- | |||
|difftime() | |||
| | |||
|시간 사이의 크기를 계산한다. | |||
{| class="wikitable" | |||
|+ | |||
!옵션 | |||
!설명 | |||
|- | |||
|units= | |||
|"day", "week" 등의 옵션값 가능. | |||
|- | |||
| | |||
| | |||
|- | |||
| | |||
| | |||
|} | |||
|difftime(시간1, 시간2, units="day") | |||
|} | |||
===연산=== | |||
{| class="wikitable" | |||
!연산 | |||
!설명 | |||
! | |||
! | |||
|- | |||
| +, - | |||
|날짜데이터에 +,-연산을 하면 일수에서 더하거나 뺀다. | |||
| | |||
| | |||
|- | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
| | |||
| | |||
| | |||
| | |||
|} | |||
==문자열 관련함수== | |||
{| class="wikitable" | |||
|+ | |||
!이름 | |||
!기원 | |||
!기능 | |||
!사용법 | |||
|- | |||
|substr() | |||
| | |||
|문자열 추출 | |||
|substr(데이터, 시작번호,끝번호) | |||
substr(데이터셋$열이름[인덱스], 1, 5) | |||
|- | |||
|paste() | |||
| | |||
|문자열 붙이기. 데이터를 문자형으로 변환하여 붙인다. | |||
맨 뒤에 ,<code>set="사이에 넣을 것"</code> 을 사용하면 붙일 문자들 사이에 들어갈 것을 지정할 수 있다. | |||
(기본설정은 띄어쓰기 한 칸) | |||
paste(colnames(데이터셋)[숫자], " ", 연산))) 형태로 쓸 수 있다. | |||
|paste(데이터, "붙일문자", "붙일문자2", ....) | |||
|- | |||
|str_c() | |||
| | |||
|문자열 붙이기. | |||
| | |||
|- | |||
|strsplit() | |||
| | |||
|문자열 분리 | |||
"나눌문자열"을 기준으로 문자열들을 나눈다. | |||
벡터를 나눌 경우 리스트화 한다. | |||
|strsplit(데이터, split="나눌문자열") | |||
|- | |||
|grep() | |||
| | |||
|정의된 문자열을 포함하는 데이터의 인덱스 추출 | |||
|grep("검색할문자열", 데이터) | |||
|- | |||
|gsub() | |||
| | |||
|문자열 대체 | |||
|gsub("원래문자열", "대체할문자열", 데이터) | |||
|- | |||
|str_replace_all() | |||
| | |||
|문자열 치환 | |||
|str_replace_all(문자열, '바꿀문자', '나중문자') | |||
|} | |||
==쓸 만한 활용법== | |||
{| class="wikitable" | |||
|+ | |||
! | |||
! | |||
! | |||
|- | |||
| | |||
| | |||
| | |||
|- | |||
| | |||
| | |||
| | |||
|- | |||
| | |||
| | |||
| | |||
|- | |||
| | |||
| | |||
| | |||
|- | |||
| | |||
| | |||
| | |||
|} | |} |
2020년 9월 26일 (토) 10:32 기준 최신판
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(문자열, '바꿀문자', '나중문자') |