R 프로그램에서 벡터를 만드는 방법은 여러가지가 있다. 직접 입력하거나, seq/rep/sample 등의 벡터생성하는 함수들을 사용하거나, 빈값으로 length 만 정하는 등 여러가지이다. 실제 퍼포먼스는 어떨지는 좀 확인은 해봐야겠으나, loop 를 사용하는 것은 R 에서는 권장하진 않는다. 일반적인 프로그램언어라면 for/while 문은 어느정도의 기본 문법이다보니 사용을 많이 하게 되는데, R 에서는 대부분 벡터를 입력받아 벡터로 리턴하는 함수체계가 대부분이라 loop 를 거의 사용하지 않도록 코딩을 할 수 있다. 특정 조건을 만족하는 숫자인 경우, 문자열로 치환하여 별도의 벡터형으로 저장해보자. 0~4는 C등급, 5~8은 B등급, 9~10은 A등급으로 변경하려면 어떻게 해야 할까. 일반적이라면 f..
ggplot2 그래프 일부분만 줌인해서 확대해서 보거나, 더 넓은 범위위에서 전체그림을 보고 싶을 때가 있다. ggplot 라이브러리의 coord_cartesian 함수를 사용하면 그래프를 x축 y축을 축소, 확대 하는게 손쉽게 가능하다. 가볍게 라인그래프 하나 그려본다. library(tidyverse) t = tibble(x = c(4,5,6), y = c(50, 30, 40)) ggplot(t, aes(x, y))+ geom_line() 여기서 값은 3개뿐이지만, 그 외의 범위로 보고 싶다면 어떻게 해야 할까. 만약 x 축을 1~10의 범위로 보고싶다면, 아래와 같이 실행하면 된다. limits 로 1에서부터 10까지 보고싶은 범위를 지정하고, breaks 를 이용해서 x 축의 레이블을 정한다. 2..
숫자와 문자가 섞여있을때, 문자만 분리하고 싶다면, 아래와 같이 하면된다. 경고메시지가 나오긴 하지만 무시해도 된다. a = c(10,10,10, 'a', 'b', 'c', 20, 30, 'd') # [1] "10" "10" "10" "a" "b" "c" "20" "30" "d" as.numeric(a) # [1] 10 10 10 NA NA NA 20 30 NA is.na(as.numeric(a)) # [1] FALSE FALSE FALSE TRUE TRUE TRUE FALSE FALSE TRUE a[is.na(as.numeric(a))] # [1] "a" "b" "c" "d" # Warning message: # NAs introduced by coercion 데이터 프레임으로 하는 경우도 비슷하다. ..
텍스트 데이터 분석을 위한 tidytext 라이브러리의 unnest_tokens 함수에 대한 사용 예제를 정리한다. 샘플데이터를 우선 하나 d 로 정의한다. library(tidytext) library(dplyr) library(janeaustenr) d % unnest_tokens(word, txt) # 둘다 동일한 결과를 만든다. d %>% unnest_tokens(output = word, input = txt, token = "words") # A tibble: 122,204 × 1 word 1 pride 2 and 3 prejudice 4 by 5 jane 6 austen 7 chapter 8 1 9 it 10 is # … with 122,194 more rows 빌트인 token 옵션만 사용..
내비게이션을 사용하다가 보면 새로 생긴 도로나 다리 등에 당황할 때가 있다. 휴대폰으로도 많이들 지도로 사용하고는 있지만, 조금 오래된 휴대폰이라고 하면 음악앱까지 연동하면서 네비까지 하기에는 좀 벅차기도 하다. 그럴땐 그냥 자동차 내장된 네비게이션을 쓰거나 별도로 구매한 내비게이션을 사용하는게 편하기도 하고, 네비게이션은 기본 7인치 이상의 디스플레이다보니 더 시인성이 좋다. 오랜만에 아이나비 네비게이션 업데이트를 진행하기로 한다. 내비게이션 뒷편에 보면 sd카드 슬롯을 찾을 수 있다. SD 카드를 뽑아서 노트북에 잘 끼운다. 아참 네비게이션 뒷편에 바코드쪽에 보면 제품 시리얼번호가 있으니 카메라로 찍어놓고 참고하면 좋다.(네비 업데이트 하려면 시리얼번호를 알아야 한다) 우선 아이나비 홈페이지로 간다...
ggplot 으로 그래프를 그리다보면, x 축에 너무 많은 값들이 표기가되서 너무 빽빽하게 보이는 현상이 있다. 이건 아마도 문자열값(character)이다보니 발생하는 문제인데, 일부 대표값 혹은 본인이 원하는 특정값만 가지고 x축을 표현할 수 있다. 아래 그림을 보면, x 축의 값들이 너무 빽빽하다보니 중첩되서 알아볼 수 없게 된다. t1 = tibble(연도 = paste0(as.character(2015:2026), '-01-01'), 인구수 = c(1014, 1245, 1446, 1635, 1811, 1973, 2123, 2261, 2388, 2504, 2609, 2704)) t1 # A tibble: 12 × 2 # 연도 인구수 # # 1 2015-01-01 1014 # 2 2016-01-01..
R 에서 데이터를 다루기 위해서는 필수적으로 알아야 하는게 matrix 이다. matrix data.frame tibble 로 왔다갔다 할 줄 알아야 데이터 처리에 능하게 된다. matrix 사용법은 간단하다. 어려운 설정이 거의 없어서 아래 예제만 보면 대략 이해할 수 있다. matrix(c(0.05, 0.15, 0.0, 0.10, 0.25, 0.25, 0, 0.1, 0.1)) # [,1] # [1,] 0.05 # [2,] 0.15 # [3,] 0.00 # [4,] 0.10 # [5,] 0.25 # [6,] 0.25 # [7,] 0.00 # [8,] 0.10 # [9,] 0.10 matrix(c(0.05, 0.15, 0.0, 0.10, 0.25, 0.25, 0, 0.1, 0.1), ncol = 3) #..
R 프로그래밍 언어로 숫자를 이진법 문자열로 나타내보려 한다. 우선 intToBits 함수를 사용해서 비트값으로 변환한다. 아래 결과를 보면 이게 뭐지 싶긴한데, 앞에서부터 2^0, 2^1, 2^2 .. 으로 보면 된다. 10 은 1 x 2^2 + 1 x 2^0 임을 생각하면 맨 앞자리부터 0승, 1승, 2승 자리로 보면 된다. 총 32비트까지 표현하고 있다. 이 상태를 원하는 건 아니고, 0000101 이런식의 문자열로 만들려고 한다. # 함수설명 # intToBits returns a raw vector of 32 times the length of # an integer vector with entries 0 or 1. intToBits(10) # 출력결과 [1] 00 01 00 01 00 00 0..
- Total
- Today
- Yesterday
- heroku
- ubuntu
- Google Chart Tools
- R
- MyBatis
- MongoDB
- 알뜰요금제
- Spring
- vagrant
- 마인크래프트
- ktm모바일
- eclipse
- docker
- 막대그래프
- ggplot
- 개러지밴드
- SVN
- Oracle
- 이클립스
- MySQL
- javascript
- 자급제폰
- ggplot2
- java
- python
- 아이맥
- github
- 데이터쉐어링
- 도넛차트
- 셀프개통
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |