|
|
| (같은 사용자의 중간 판 14개는 보이지 않습니다) |
| 1번째 줄: |
1번째 줄: |
| {{R}}<br /> | | {{R}}<br /> |
|
| |
|
| ==패키지 설치하기== | | ==개요== |
| | 다양한 기능들을 구현해둔 패키지가 많다. |
| | |
| | ==패키지 관련함수== |
| | |
| | ===패키지 관리=== |
| {| class="wikitable" | | {| class="wikitable" |
| |+
| | !의도 |
| ! | | !방법 |
| ! | |
| |- | | |- |
| |패키지 설치 | | |패키지 설치 |
| 11번째 줄: |
15번째 줄: |
| |- | | |- |
| |패키지 부착 | | |패키지 부착 |
| |library("패키지명") | | |library(패키지명) #따옴표 없이 입력한다. |
| | |- |
| | |갱신할 수 있는 패키지 파악 |
| | |old.packages() |
| | |- |
| | |패키지 갱신 |
| | |update.pakages() |
| |} | | |} |
|
| |
|
| | | ===패키지 사용=== |
| | |
| <br />
| |
| | |
| ==ddply== | |
| 데이터를 집계하는 패키지.
| |
| {| class="wikitable" | | {| class="wikitable" |
| !이름 | | !의도 |
| !기원 | | !방법 |
| !기능
| |
| !사용법
| |
| |-
| |
| |ddply
| |
| |
| |
| |집계데이터를 만든다.
| |
| 데이터셋을 고르고, 집계할 기준열을 고르고,
| |
| | |
| 여기에 적용할 함수를 써서 계산열에 저장.
| |
| | |
| (집계 기준에 해당하는 데이터끼리 연산되어 계산열에 저장된다.)
| |
| | |
| ex) 집계기준열이 성적 A라면, 성적 A에 해당하는 이들의 평균만 계산하여 계산열에 저장한다.
| |
| {| class="wikitable"
| |
| |+
| |
| !성적
| |
| !평균
| |
| |- | | |- |
| |A | | |현재 사용되는 패키지 파악 |
| |A의 평균만 모아진다. | | |search() |
| |- | | |- |
| |B | | |패키지 구동 취소 |
| |B의 평균만 모아진다. | | |detach("search에서 나온 패키지명") |
| |-
| |
| |...
| |
| |...
| |
| |} | | |} |
| |새로운데이터셋 = ddply(데이터셋,
| |
| c("집계기준열1, 집계기준열2, ...), summarise,
| |
|
| |
|
| 계산열 = 계산함수(데이터셋에서연산할컬럼명),
| | <br /> |
|
| |
|
| 계산열2 = 계산함수(데이터셋에서연산할컬럼명2),
| | ==개인패키지 사용== |
| | source("경로.R") |
|
| |
|
| ... | | 여기에서 R파일을 불러와 함수를 가져올 수 있다.(경로는 현재 스크립트가 있는 한 단계 위 경로에서부터이다.) |
|
| |
|
| )
| | <nowiki>#</nowiki>이때.. 함수가 겹치는 경우엔 어떻게 될까?? |
| |}<br />
| |
|
| |
|
| ==ggplot2==
| |
| R과 Python에서 그래프를 그려주는 패키지.
| |
| {| class="wikitable"
| |
| !단계
| |
| !방법
| |
| !사용법
| |
| |-
| |
| |패키지 부착
| |
| |패키지 부착은
| |
| <code>library(ggplot2)</code>
| |
|
| |
|
| <code>library(ggthemes)</code>
| | ==패키지 사용 팁== |
|
| |
|
| 2개를 시켜야 한다.
| | ===패키지 한번에 실행하고, 없으면 설치하기=== |
| |<code>library(ggplot2)</code> | | {| class="wikitable" |
| <code>library(ggthemes)</code>
| | |+ |
| | !설명 |
| | !함수 |
| |- | | |- |
| |기초 데이터 준비 | | |패키지를 실행할 때마다 오류를 맞이하고 설치하고 다시 실행하는 건 비효율적이다. |
| |데이터셋과
| | 다음과 같이 실행하면 패키지가 설치되어 있다면 실행결과를, 설치되어있지 않다면 설치 후 결과를 반환한다. |
| x축에 둘 열을 준비
| |
|
| |
|
| ggplot(데이터셋, aes( x = 열 ))
| | 변수 <- check_packages(c("패키지")) |
| | | |<syntaxhighlight lang="r"> |
| aesthetic(미적)의 줄임말.
| | check_packages <- function(pkg){ |
| |ggplot(데이터셋, aes( x = 열 ))
| | new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])] |
| |}
| | if (length(new.pkg)) |
| | | install.packages(new.pkg, dependencies = TRUE) |
| ==그래프 그리기==
| | result <- sapply(pkg, require, character.only = TRUE) |
| {| class="wikitable"
| | return(result) |
| !단계
| | } |
| !방법
| | options(scipen = 999)#이 옵션을 넣어야 숫자를 지수형이 아닌, 그냥 숫자로 표시한다. |
| !사용법
| | </syntaxhighlight> |
| |-
| |
| |각 축에 대한 막대를 그린다.
| |
| (명목형 변수에 대하여) | |
| |ggplot(데이터셋, aes( x = 열이름1 )) + geom_bar(속성)
| |
| 열에 해당하는 값을 세어 막대의 크기로 표현한다.
| |
| {| class="wikitable"
| |
| |+geom_bar 속성
| |
| !의도
| |
| !방법
| |
| !옵션
| |
| !효과
| |
| |- | | |- |
| | rowspan="2" |색 채우기
| |
| | rowspan="2" |fill='색이름'
| |
| |royalblue
| |
| | | | | |
| |-
| |
| |열이름1
| |
| |열마다 다른 색의 막대가 그려진다.
| |
| |-
| |
| |2가지 색
| |
| |aes(fill='열이름2')
| |
| | | | | |
| |x축과 다른 열을 사용하면 1번 열에 해당하면서 2번째 열에 해당하는 갯수를 세어 막대를 2가지 색으로 나누어 표현한다.
| |
| |}
| |
| |기초데이터
| |
| + geom_bar(속성)
| |
| |- | | |- |
| |히스토그램
| |
| (연속형 변수에 대하여)
| |
| |연속형변수를 일정구간으로 나누어 집계한다.
| |
| ggplot(데이터셋, aes( x = 열이름1 )) + geom_histogram(속성)
| |
| {| class="wikitable"
| |
| |+histogram 속성
| |
| !의도
| |
| !방법
| |
| !옵션
| |
| !효과
| |
| |-
| |
| |구간 정하기
| |
| |binwidth = 구간크기
| |
| |
| |
| |구간크기로 자른다.
| |
| |-
| |
| |테두리색
| |
| |col='색이름'
| |
| |red
| |
| |테두리색을 지정한다.
| |
| |-
| |
| |색 채우기
| |
| |fill='색이름'
| |
| |
| |
| |막대 색을 채운다.
| |
| |}
| |
| |기초데이터
| |
| + geom_histogram(속성)
| |
| |-
| |
| |밀도그래프
| |
| (연속형 변수에 대하여)
| |
| |위와 같은 개념이지만, 구간을 작게 나누어 부드러운 곡선을 그린다.
| |
| ggplot(데이터셋, aes( x = 열이름1 )) + geom_density(속성)
| |
| {| class="wikitable"
| |
| |+density 속성
| |
| !의도
| |
| !방법
| |
| !옵션
| |
| !효과
| |
| |-
| |
| |테두리색
| |
| |col='색이름'
| |
| |red
| |
| |테두리색을 지정한다.
| |
| |-
| |
| |색 채우기
| |
| |fill='색이름'
| |
| |
| |
| |막대 색을 채운다.
| |
| |}
| |
| |기초데이터
| |
| + geom_density(속성)
| |
| |-
| |
| |박스플롯
| |
| |가운데 선은 중위값,
| |
|
| |
| 아래는 1분위수, 위는 3분위수를 나타낸다.
| |
| |기초데이터
| |
| + geom_boxplot(속성)
| |
| |-
| |
| |산점도
| |
| |ggplot(데이터셋, aes( x = 열이름1, y = 열이름2 ))
| |
| 다음처럼 특정 조건을 만족하는 값을 다른 색으로 처리해 계산할 수도 있다. geom_point(aes(col = 열이름)
| |
| |기초데이터
| |
| + geom_point(속성)
| |
| |}
| |
| 그래프 안에 다른 열을 넣으면 그 열별로 따로 계산된다.
| |
|
| |
| geom_boxplot(aes(fill="열이름")
| |
|
| |
| ==이외 기능==
| |
| {| class="wikitable"
| |
| !의도
| |
| !방법
| |
| !사용법
| |
| |-
| |
| |라벨 붙이기
| |
| |위의 명령 뒤에 라벨을 붙인다.
| |
| |그래프
| |
| + xlab("x라벨") + ylab("y라벨")
| |
| |-
| |
| |타이틀 붙이기
| |
| |
| |
| |그래프
| |
| + ggtitle("타이틀")
| |
| |-
| |
| |
| |
| | | | | |
| | | | | |
| |} | | |} |
| | <br /> |
R언어 공부를 위한 틀 틀:R
- R:개요
- R:코딩팁
- R:연산자
- R:객체
- R:자료형
- R:자료구조
- R:함수
- R:자주사용하는 함수
- R:aplly계열(반복문, 중복작업)
- R:제어문
- R:조건문
- R:반복문
- R:자료조작
- R:데이터프레임
- R:행렬
- R:데이터 저장과 불러오기
- R:데이터베이스
- R:특정조건 추출하기
- R:패키지
- R:magrittr(파이프연산자)
- R:dplyr(데이터프레임 조작)
- R:ggplot2(그래프그리기)
- R:KoNLP(한글 텍스트마이닝), wordcloud2(워드클라우드)
- R:ddply(데이터 집계, 조작)
- R:tidyverse(데이터를 정제하는 패키지들의 집합)
- R:jsonlite(JSON 파일 다루기)
- R:pbapply(apply계열에 진행바를 보여준다.)
- R:활용
- R:데이터 접근
- R:연관성분석
- R:분류분석
- R:팁
- R:연구용 팁
다양한 기능들을 구현해둔 패키지가 많다.
| 의도
|
방법
|
| 패키지 설치
|
install.pakages("패키지명")
|
| 패키지 부착
|
library(패키지명) #따옴표 없이 입력한다.
|
| 갱신할 수 있는 패키지 파악
|
old.packages()
|
| 패키지 갱신
|
update.pakages()
|
| 의도
|
방법
|
| 현재 사용되는 패키지 파악
|
search()
|
| 패키지 구동 취소
|
detach("search에서 나온 패키지명")
|
source("경로.R")
여기에서 R파일을 불러와 함수를 가져올 수 있다.(경로는 현재 스크립트가 있는 한 단계 위 경로에서부터이다.)
#이때.. 함수가 겹치는 경우엔 어떻게 될까??
| 설명
|
함수
|
| 패키지를 실행할 때마다 오류를 맞이하고 설치하고 다시 실행하는 건 비효율적이다.
다음과 같이 실행하면 패키지가 설치되어 있다면 실행결과를, 설치되어있지 않다면 설치 후 결과를 반환한다.
변수 <- check_packages(c("패키지"))
|
check_packages <- function(pkg){
new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])]
if (length(new.pkg))
install.packages(new.pkg, dependencies = TRUE)
result <- sapply(pkg, require, character.only = TRUE)
return(result)
}
options(scipen = 999)#이 옵션을 넣어야 숫자를 지수형이 아닌, 그냥 숫자로 표시한다.
|
|
|
|
|
|
|