R:자료형

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동

R언어 공부를 위한 틀 틀:R

  1. R:개요
    1. R:코딩팁
    2. R:연산자
  2. R:객체
    1. R:자료형
    2. R:자료구조
  3. R:함수
    1. R:자주사용하는 함수
      1. R:aplly계열(반복문, 중복작업)
  4. R:제어문
    1. R:조건문
    2. R:반복문
  5. R:자료조작
    1. R:데이터프레임
    2. R:행렬
  6. R:데이터 저장과 불러오기
    1. R:데이터베이스
    2. R:특정조건 추출하기
  7. R:패키지
    1. R:magrittr(파이프연산자)
    2. R:dplyr(데이터프레임 조작)
    3. R:ggplot2(그래프그리기)
    4. R:KoNLP(한글 텍스트마이닝), wordcloud2(워드클라우드)
    5. R:ddply(데이터 집계, 조작)
    6. R:tidyverse(데이터를 정제하는 패키지들의 집합)
    7. R:jsonlite(JSON 파일 다루기)
    8. R:pbapply(apply계열에 진행바를 보여준다.)
  8. R:활용
    1. R:데이터 접근
    2. R:연관성분석
    3. R:분류분석
  9. R:팁
    1. R:연구용 팁

자료형

계열 변수타입 기원 설명
문자 chr character 문자열. "", '' 사이에 쓸 수 있다.
num numeric 수치형(모두 포함)
int integer 정수
dbl double 실수
complex 복소수
논리 logi boolean 명목형 변수. 모든 철자를 대문자로 쓴다. TRUE, FALSE, T, F 앞글자만 써도 된다.
시간 Posixct 시간변수(년월일시분초)
Tseries 시계열 변수
특수 na NA 결측치(빈 값)
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 해당 데이터의 요약정보를 본다.

변수타입과 관련 정보들을 보여준다.

데이터형 결과
Factor Low, Mid, High에 해당하는 집계를 보여준다.
Numeric 최솟값, 최대값, 평균, 각 분위수

1분위수는 하위 25%에 해당하는 값.

2분위수는 Median으로 나타나고,

3분위수는 상위 25%에 해당하는 값.

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() 시간 사이의 크기를 계산한다.
옵션 설명
units= "day", "week" 등의 옵션값 가능.
difftime(시간1, 시간2, units="day")

연산

연산 설명
+, - 날짜데이터에 +,-연산을 하면 일수에서 더하거나 뺀다.

문자열 관련함수

이름 기원 기능 사용법
substr() 문자열 추출 substr(데이터, 시작번호,끝번호)

substr(데이터셋$열이름[인덱스], 1, 5)

paste() 문자열 붙이기. 데이터를 문자형으로 변환하여 붙인다.

맨 뒤에 ,set="사이에 넣을 것" 을 사용하면 붙일 문자들 사이에 들어갈 것을 지정할 수 있다.

(기본설정은 띄어쓰기 한 칸)

paste(colnames(데이터셋)[숫자], " ", 연산))) 형태로 쓸 수 있다.

paste(데이터, "붙일문자", "붙일문자2", ....)
strsplit() 문자열 분리

"나눌문자열"을 기준으로 문자열들을 나눈다.

벡터를 나눌 경우 리스트화 한다.

strsplit(데이터, split="나눌문자열")
grep() 정의된 문자열을 포함하는 데이터의 인덱스 추출 grep("검색할문자열", 데이터)
gsub() 문자열 대체 gsub("원래문자열", "대체할문자열", 데이터)


쓸 만한 활용법