R:자료형: 두 판 사이의 차이

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동
35번째 줄: 35번째 줄:
|numeric
|numeric


|자연수
|수치형(모두 포함)


|-
|-
77번째 줄: 77번째 줄:


|-
|-
| rowspan="2" |특수
| rowspan="3" |특수
|an
|na


|NA
|NA
84번째 줄: 84번째 줄:
|결측치(빈 값)
|결측치(빈 값)
|-
|-
|
|null
|null
|빈 값. 의도적으로 비워둔 값으로, 연산이 안된다.
|-
|nan
|NAN
|NAN
|수학적으로 정의가 불가능한 경우
|수학적으로 정의가 불가능한 경우
94번째 줄: 98번째 줄:
|}
|}


=== 연산 우선순위 ===
연산 우선순위는 다음과 같다. <code>문자>복소수>수치>논리</code>
<br />
{| class="wikitable"
{| class="wikitable"


169번째 줄: 176번째 줄:


str이 변수타입을 알려준다면,
str이 변수타입을 알려준다면,


is는 참과 거짓으로 알려준다.
is는 참과 거짓으로 알려준다.


결과값은 기존 데이터형의 좌표목록으로 나온다.
결과값은 기존 데이터형의 좌표목록으로 나온다.
573번째 줄: 576번째 줄:


<br />
<br />
===시간변수 관련함수===
===시간변수 관련함수===


632번째 줄: 633번째 줄:
|
|


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


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


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


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

2020년 8월 11일 (화) 15:25 판

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:연구용 팁

개요

R에선 하나의 열을 변수라 부른다.(보통은 1개의 열을 한꺼번에 취급하니까.)

제약

대부분 언어에서 그렇듯, 숫자로 시작하거나, 내장명령어를 변수명으로 사용할 수 없다.

객체제거는 rm(객체명)으로 가능.

데이터유형

계열 변수타입 기원 설명
문자 chr character 문자열
num numeric 수치형(모두 포함)
int integer 정수
double 실수
complex 복소수
논리 Factor 명목형 변수
시간 Posixct 시간변수(년월일시분초)
Tseries 시계열 변수
특수 na NA 결측치(빈 값)
null null 빈 값. 의도적으로 비워둔 값으로, 연산이 안된다.
nan NAN 수학적으로 정의가 불가능한 경우
inf infinite 무한대

연산 우선순위

연산 우선순위는 다음과 같다. 문자>복소수>수치>논리

변수명 설명 정보량 변환
명목형변수 특성에 따라 명칭을 주어 구분하는 변수 아래로 갈수록 정보량이 많아진다. 아래에서 위로 변환은 가능하지만,

위에서 아래로의 변환은 정보량 부족으로 불가.

서열형변수 명목형변수에서 서열정보 추가
연속형변수 셀 수 없으며, 구간(0~10)으로 정의되는 변수


데이터 파악 관련함수

이름 기원 기능 사용법
str() 데이터의 타입 확인.

데이터 축약타입과 그 값을 보여준다.

str(데이터)
mode() 데이터 타입만 보여준다.(축약x) mode(데이터)
is() is 데이터의 타입 확인

str이 변수타입을 알려준다면,

is는 참과 거짓으로 알려준다.

결과값은 기존 데이터형의 좌표목록으로 나온다.

is.integer(데이터)
as() as 변수타입을 바꾼다. as.integer(데이터)
summary() summary 해당 데이터의 요약정보를 본다.

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

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

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


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


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

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() 문자열 붙이기. 데이터를 문자형으로 변환하여 붙인다.

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

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

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

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

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

strsplit(데이터, split="나눌문자열")
gsub() 문자열 대체 gsub("원래문자열", "대체할문자열", 데이터)


쓸 만한 활용법