r 27

[빅데이터] 6. 빅데이터를 통한 가치 창출, 데이터 분석 기술 (3)

점점 어려워지는 내용에 진도는 갈수록 더뎌진다.. ㅜㅜ 이 책에서 다루어지는 내용들은 깊이가 너무 에매한 것 같다. 그냥 이런게 있다는 수준으로 넘어가기도 하고, 때로는 그 수준을 넘겨 깊지도 얕지도 않은 모호한 깊이로 다루기도 한다. 특히 데이터 분석과 통계에 관련된 부분들이 그러한데... 다음에 더 전문적인 서적들을 통해 더 정리해 보기로 하자. 4. 실무 활용이 높은 통계 분석 기술 통계 분석의 이해 통계학은 계량 자료를 수집하여 분석, 설명하고 결과를 제시하는 학문이다. 특정 집단인 모집단의 성격과 특성을 파악하기 위해 표본을 추출하여 전체 특성을 추론한다. 통계학은 적용 분야에 따라 기술 통계학과 추측 통계학을 나뉜다. 기술 통계학 (Descriptive Statistics) 추측 통계학 (In..

<記> R 상관계수와 공분산

앞서 살펴본 상관분석의 통계학적 기초에 이어, 상관계수와 공분산에 대한 R 에서의 실행을 살펴보려 한다. 2019/12/31 - [공부하記/통계학] - 통계학 기초 - 상관분석 예제로 사용하는 데이터는 보스톤시의 한 공원에서 10일동안 공원에서 해당 일에 근무중인 방범대원의 수(x)와 보고된 좀도둑의 건수(y)이다. 두 데이터간의 상관계수와 공분산을 살펴보자. # 데이터 > x y plot(x, y) # 표본상관계수 > cor(x, y) # 표본공분산 > cov(x, y) # 표본공분산 = 표본상관계수 * x의 표준편차 * y의 표준편차 > cor(x, y) * sd(x) * sd(y) 표본상관계수가 -0.9690786로 음의 상관관계가 강하게 나타남을 알 수 있다.

해보記/R 2020.01.01

<記> R 스타일 가이드

R 역시 프로그래밍 언어이기 때문에 다른 프로그램 개발 언어들 처럼, 스크립트를 작성함에 있어 표준화할 필요가 있다. 오브젝트 명, 함수 명 등에 대하여 공통된 규칙을 사용하여 표준화함으로써 계산 혹은 함수사용에 있어 발생하는 논리적, 사용자 실수를 제거할 수 있으며, R의 특장점을 살려 성능 최적화를 달성할 수 있다. R 스타일 가이드 요약 구분 내용 예 Naming File명을 정할 떄, 프로그램의 내용을 충분히 설명할 수 있는 것으로 정하고 확장자명을 '.R'로 한다. predict_ad_revenue.R 변수명을 정할 때, 모두 소문자로 사용하고, 구분자는 '_'로 한다. avg_clicks, date_click, click_id Function명을 정할 때, 기능 및 대상을 유추 할 수 있도록 ..

해보記/R 2019.12.30

<記> R 위치 측도와 산포 측도

R을 공부하는 이유는 당연히 통계분석을 잘하기 위해서이다. 따라서, R을 공부한다는 것은 통계학에 대한 기본 지식이 있거나, 아니면 통계학에 대한 기본적인 내용을 같이 공부한다는 말일 것이다. 통계학에 대한 공부를 병행하면서 통계 실습에 대한 부분을 R로 진행하여 기록에 더할까 한다. 2019/12/22 - [공부하記/통계학] - 통계학 기초 - 자료의 생성, 모집단과 표본, 위치 측도와 산포 측도 어느 과목에 대한 100명의 시험성적을 예제 데이터로 사용한다. # Plot > plot(exam) summary( ) 함수를 통해 데이터의 기본 정보를 확인할 수 있다. Minimum(최소값), 1st Quartile(1사분위값), Median(2nd Quartile)(중간값), 3rd Quartile(3사..

해보記/R 2019.12.23

<記> R 데이터 반복문 - for, while, repeat, apply, aggregate

R에서의 반복문은 for, while 이외에도 repeat, apply, aggregate 등이 있다. 이 중 apply, aggregate 등은, 사용하기는 쉽지만 수행속도가 느린 for 를 보완하기 위한 반복문이다. for # for(변수 in 반복횟수) 실행문 : 실행문을 반복 횟수만큼 실행 # 변수 i가 1에서 5까지의 값을 갖을 때까지 print(rep(i, i))라는 실행문을 실행한다. # i = 1 이면 print(rep(1, 1))을 실행하고, i = 2 이면 print(rep(2, 2))를 실행한다. i = 5 까지 반복 수행한다. > for(i in 1:5) + print(rep(i, i)) # 1부터 10까지 합 구하기 > sum.x for(i in 1:10) + sum.x sum.x..

해보記/R 2019.12.18

<記> R 데이터 조건문 - if/ifelse, switch

R은 통계분석을 위한 프로그램을 작성하는 언어이다. C, Java 등과 같다. 무엇을 목적을 하느냐가 다를 뿐이라고 할까? R도 다른 프로그램 언어와 같기 때문에, 당연히 프로세스가 진행되는 동안에 제어문이나 조건문 등이 있다. 대표적인 데이터 조건문인 if/ifelse, switch 에 대해 살펴보자 if/ifelse 특정한 조건을 만족했을 경우에만 프로그램 코드를 수행하는 제어 구문으로 항상 논리 연산이 수반 된다. 논리에 따른 결과값에 따라 어떤 코드를 수행할지 결정한다. # if (조건) 실행문 > x y if(sum(x) < sum(y)) + print(x) # if(조건) 조건이 참일 때 실행문 else 조건이 참이 아닐 때 실행문 # 괄호안의 조건이 참이면 참일때의 실행문을 수행하고, 거짓일..

해보記/R 2019.12.18

<記> R 함수 - 기타

기타 많이 쓰이는 함수 scale( ) : 중심화 > x scale(x, scale = FALSE) subset( ) : 원소의 일부 선택 > subset(airquality, Temp > 94, select = c(Ozone, Temp)) sample( ) : 샘플링 > sample(c(1:10), 5) match( ) : 일치하는 원소 추출 > intersect intersect(1:10, 7:20) which( ) : 조건을 만족하는 원소의 인덱스 > which(LETTERS == "R") choose( ) : 조합의 수 > choose(5, 2) > for (n in 0:10) print(choose(n, k = 0:n)) any( ) : 원소 중 임의의 한 원소 (하나라도 있으면 TRUE, 없으..

해보記/R 2019.12.17

<記> R 함수 - 문자형

문자형 데이터를 다루는데 주로 사용되는 함수 toupper( ) : 대문자로 전환 > x x x x nchar(x) strsplit( ) : 문자형 데이터를 정해진 구분자로 분리 > x split_x x strtrim(x, 2) > strtrim(x, 4) substr( ) : 문자의 일부분을 선택 혹은 변경 > substr("abdcegf", 1, 3) paste( ) : 문자의 결합 > paste(x, collapse = " ") grep( ) : 문자형 데이터 중 정의된 문자를 포함하는 인덱스 > x grep("e", x) regexpr( ) : 문자형 데이터 중 정의된 문자의 위치를 출력(첫 번째) > regexpr("e", x) grepexpr( ) : 문자형 데이터 중 정의된 문자의 위치를 출..

해보記/R 2019.12.17

<記> R 함수 - 데이터 요약, 대푯값, 정렬

데이터를 요약하여 출력하는데 자주 사용되는 함수 length( ) : 원소의 수 > x length(x) sum( ) : 원소의 합 > sum(x) prod( ) : 원소의 곱 > prod(x) cumsum( ) : 누적합 > cumsum(x) cumprod( ) : 곱의 누적합 > cumprod(x) cummin( ) : 최소값의 누적합 > cummin(x) cummax( ) : 최대값의 누적합 > cummax(x) 대푯값을 출력하는데 주로 사용되는 함수 mean( ) : 평균값 > mean(x) median( ) : 중위값 > mean(x) max( ) : 최대값 > max(x) min( ) : 최소값 > min(x) which.max( ) : 최대값의 인덱스 > which.max(x) which.m..

해보記/R 2019.12.17

<記> R 데이터 핸들링 (3)

데이터 정렬하기 데이터를 정렬하는 함수는 sort / oder 가 있다. Vector 데이터는 주로 sort( )를, Matrix 데이터는 order( )를 사용한다. > a sort(a) > order(a) # 값의 순위값(위치)을 나타낸다 > sort(a, decreasing = T) > order(a, decreasing = T) > tmp1 tmp1[order(tmp1$BB), ] # 컬럼 BB에 대하여 내림차순 정렬 > tmp1[order(tmp1$BB, decreasing = T), ] 문자열 처리 문자열 처리에는 paste / substring / strsplit / grep / sub / toupper / tolower 등의 함수가 사용된다. paste( ) # 문자열을 합친다. > pas..

해보記/R 2019.12.16