전체 글 84

<記> 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

<記> Go, GoClipse? Eclipse 에서 사용하기

Visual Studio Code를 사용할까? Eclipse를 사용할까? 그냥 Notepad++를 쓸까? 통합환경의 IDE를 좋아하기에 일단 Notepad++, Visual Studio Code는 보류하기로 하자. http://goclipse.github.io/ Go 프로그래밍을 위한 Eclipse인 GoClipse를 설치하자. GoClipse를 설치하기 위한 필수요건을 살펴보면, Java VM version 8 또는 그 이상 Eclipse 4.6 (Neon) 또는 그 이상 CDT 9.0 또는 그 이상 1. JVM(Java VM) 설치하기 JVM은 자바로 프로그래밍하기 위한 환경에 필요한 자바 가상머신을 말한다. 자바 개발도구인 JDK를 설치하면 컴파일러, 소스 등과 함께 설치가 된다. Java VM v..

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

데이터 합치기 데이터를 합치기 위해서는 cbind / rbind / merge 함수 등이 주로 사용된다. cbind( ) cblind( ) 함수는 컬럼(column)을 합치기 위한 함수다. 합칠 대상이 되는 데이터의 행 개수는 동일하여야 한다. 합칠 대상이 되는 데이터가 데이터 프레임(data.frame)인 경우는 데이터의 유형이 달라도 상관없지만, 행렬(matrix)인 경우는 데이터 유형이 같아야 한다. (행렬은 원소는 단일 유형의 데이터로 구성되어야 함가 되는 데이터가 한가지 유형으로만 되어야 함) > aa bb cbind(aa, bb) > tmp_df cbind(tmp_df, aa) rbind( ) rbind( )는 행(row)을 합치기 위한 함수다. 합칠 대상이 되는 데이터의 열 개수는 동일하여야..

해보記/R 2019.12.13

<記> Go ? Go !!

IT 업계에 종사하면서 프로그래밍과 관련하여 다루어 본 언어의 수는 적지 않다. 잠깐 접해본 언어(VB, COBOL, Pascal 등)를 제외하고, Markup 계열의 언어도 제외하더라도, C, C++, Java, C#, Python 등 어림 잡아도 5종류가 넘는다. 아마도 개발 좀 했었다 하는 사람들은 크게 다르지 않을 것 같다. IT 업계에서 좀 떨어져 있었던 몇 년 동안은 빅데이터, 데이터 분석, 인공지능, 머신러닝, IoT 등에 관심을 두었지 개발 언어에는 딱히 관심을 두지 않았었다. 그러다 인터넷에서 Go Language에 대해 알게 되었는데, 개괄적인 설명들만을 보고 확인했을 뿐이지만, 너무 매력적으로 느껴져 Language 자체를 배워 보고 싶다는 생각을 오랜만에 하게 되었다. 그래서, Go..

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

데이터를 다루기 위한 여러가지 함수들을 살펴보자 행 / 열 / 문자열 개수 확인하기 행 / 열 / 문자열 개수를 알아내기 위해서는 nrow / ncol / nchar / dim 등 함수를 사용한다. # 데이터 프레임을 생성한다. > tmp_df nrow(tmp_df) # ncol( ) 함수는 열의 개수를 결과로 출력한다. > ncol(tmp_df) # dim( ) 함수는 행과 열의 개수를 결과로 출력한다. > dim(tmp_df) # 벡터를 생성한다. > tmp_vec nchar(tmp_vec) # 벡터 내의 값의 개수를 알기 위해서는 length( ) 함수를 사용한다. > length(tmp_vec) 행 / 열 이름 변경하기 데이터의 행과 열의 이름을 확인하거나 변경을 위해서는 names / dimna..

해보記/R 2019.12.10

[빅데이터] 5. 빅데이터 처리와 저장의 핵심 기술, 하둡과 NoSQL (1)

하둡과 NoSQL에 대한 소개가 있는 장이다. 제법 많은 페이지를 할당해 소개하고 있어 앞선 3, 4장과 같이 파트를 나눠서 기록하려 한다. 1. 하둡이란 무엇인가? 하둡(Apache Hadoop, High-Availability Distributed Object-Oriented Platform)은 데이터가 늘어날 수록 대용량 저장소와 빠른 처리를 위한 고성능을 요구하는 수직적 확장방식의 중앙집중식이 아니라, 다수의 범용 컴퓨터들로 분산하여 저장하고 처리하는 수평적 확장방식의 분산처리 플랫폼이다. 하둡은 빅데이터 처리를 보장하는 검증된 플랫폼이다. 하둡은 대량의 자료를 처리할 수 있는 큰 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 프리웨어 자바 소프트웨어 프레임워크이다. 원래 너치(Apa..

<記> R 연산자

R의 연산자 우선순위 높은 것부터 낮은 순으로, 왼쪽부터 오른쪽으로 연산순위가 매겨진다. 연산자 뜻 추가 설명 [ [[ 인덱스 좌우 쌍으로 사용(예. [3], [[2]]) :: ::: 이름 공간(name space)에 있는 변수에 접근하기 $ @ 요소 뽑아내기, 슬롯 뽑아내기 ^ 지수 - + 단항 마이너스와 플러스 부호 : 수열 생성 n:m 수열 n, n+1, n+2, ..., m을 생성 %any% 특수 연산자 %/% 나눗셈 몫만 출력 * / 곱하기, 나누기 + - 더하기, 빼기 == != = 비교 같다, 다르다, 크다, 작다 등 ! 논리 부정 not의 의미 & && 논리 "and", 단축(short-circuit) "and" (논리 곱) | || 논리 "or", 단축(Shor-circuuit) "or"..

해보記/R 2019.12.06

<記> R List

리스트(List) 리스트는 서로 다른 형태(mode)의 자료를 포함하는 하나의 객체이다. list( ) > li li[[1]] # [[1]] : 첫 번째 성분 > mat1 list1 son length(son) # 리스트 자료의 개수 > mode(son) # 리스트 자료의 형태 > names(son) # 리스트 각 구성요소의 이름 리스트의 성분 추출 기본적인 성분 추출 방법은 [[ ]]를 사용하여 성분의 index를 이용하는 방법이다. 만약 성분의 이름을 지정하였다면 $ 연산자를 이용하여 특정 성분을 추출할 수 있다. 단 성분의 원소를 추출하는 경우에는 [ ]를 사용한다. > exm exm[[2]] # 리스트의 2번째 성분 > exm[[2]][2] # 2번째 성분 중 2번째 원소 > names(exm) ..

해보記/R 2019.12.05

<記> R data.frame

데이터 프레임(data.frame) 데이터 프레임은 행렬과 비슷한 형태로 되어있다. 행렬(matrix)은 행과 열의 차원으로 표시되며 숫자, 문자, 논리형 등 같은 형태(mode)의 객체를 가지는 반면, 데이터 프레임은 각 열(column)들이 서로 다른 형태(mode)의 객체를 가질 수 있고, 범주형 변수를 가질 수도 있기 떄문에 범주형 자료분석에도 유용하게 사용된다. data.frame( ) # 이미 생성되어 있는 벡터들을 결합하여 데이터 프레임을 생성 > char1 num1 test1 a1 dim(a1) test3 df1 df1[, "Col3"] > df1[1, ] > df1[3, "Col1"]

해보記/R 2019.12.04