본문 바로가기

Category88

티스토리 초대장 배포 안녕하세요. 우주신입니다. 먼저, 부족한 저의 글에 관심 가져주셔서 항상 감사하다는 말씀 전해드리고 싶구요, 이번에 Tistory 블로그 초대장이 몇 장 남아 글 올립니다. 혹시 필요하신 분은 밑에 댓글이나 제 메일(jkyunkim01@gmail.com)로 메일주소 보내주세요~ 2017. 5. 29.
[R] 행(row), 열(column) 이름, 순서 변경 및 맞추기 안녕하세요. 우주신 입니다. 이번 포스팅에서는 행(row), 열(column) 이름, 순서 변경 및 맞추기에 대해 정리해보겠습니다. 행, 열 맞추기는 서로 다른 데이터셋 중 행이나 열 이름이 같은 것을 뽑아낸다고 생각하면 될 것 같습니다. 예를 들어, 서로 겹치는 주식 종목을 선택하거나 제외 시키는 경우 유용하게 사용할 수 있습니다. 1. 행(row), 열(Column) 이름 지정 우선, 설명을 위해 행렬(matrix)을 만들었습니다. (데이터프레임도 같은 원리로 적용됩니다.) 행, 열 이름을 지정하는 방법은 아주 간단합니다.colnames(), rownames() 함수를 활용하면 되는데, colnames(행렬) = c(' ') 형식으로 입력하면 됩니다.m1 을 보면 이름이 지정된 것을 확인할 수 있습니.. 2017. 5. 17.
[R] 정렬, 순위 함수 sort(), rank(), order() 비교 안녕하세요. 우주신입니다. 이번 포스팅에서는 정렬, 순위 함수 sort(), rank(), order()를 비교해보겠습니다. 데이터를 처리할 때 활용도가 높은 함수들인데 가끔 혼동될 때가 있죠... 이번 기회에 싹 정리해보겠습니다. 우선, 샘플 데이터 20개를 만든 후, 설명을 위해 마지막에 NA 값을 추가했습니다. 1. sort() 예제를 보면서 이해하는 것이 수월하니 예제부터 바로 보겠습니다.sort(a) 출력 결과, 절대값을 오름차순으로 정렬했습니다.내림차순으로 정렬하고 싶을 때는 decreasing = T 옵션을 추가하면 됩니다. sort()함수는 자동으로 NA 값을 제외 시킨 후 정렬을 하기 때문에, NA 값을 표시하고 싶다면 na.last 옵션을 추가하면 됩니다.na.last = TRUE인 경.. 2017. 4. 5.
[Python] 상속(Inheritance), 메서드 오버라이딩(Overriding) 안녕하세요. 우주신입니다. 이번 포스팅에서는 클래스의 상속(Inheritance)과 상속의 개념 중 하나인 메소드 오버라이딩(Overriding)에 대해 정리해보겠습니다. 1. 상속(Inheritance) '상속'이란 "뒤를 이음", "물려받다"라는 뜻으로, 클래스에도 이런 개념을 적용할 수 있습니다. 어떤 클래스를 만들 때 다른 클래스의 기능을 그대로 가지고 올 수 있다는 개념인데, 이 때, 물려주는 클래스를 부모클래스(Super class), 물려받는 클래스를 자식클래스(Sub class)라고 합니다. 이러한 상속을 이용하면 중복코드가 작성되는 것을 방지할 수 있으며, 코드의 유지보수가 아주 쉬워집니다. 간단한 계산기를 만들어보며 상속에 대해 설명해보겠습니다.Calculate라는 클래스를 만든 후, .. 2017. 4. 5.
[Python] 파일 읽기, 쓰기 안녕하세요. 우주신입니다. 이번 포스팅에서는 파일을 읽고 쓰는 방법에 대해 정리해보겠습니다. 우선, 바탕화면에 새폴더를 만들고 주소를 복사합니다. 참고로, 윈도우의 경우, 탐색기(폴더창)의 윗 부분에 주소가 있고맥의 경우, 이 상태에서 option(alt) 키를 누르면 '우주신' 복사 부분이 경로이름 복사로 바뀝니다. 파일은 open() 함수를 사용하여, "파일 객체 = open(파일이름, 파일열기모드)"와 같은 형식으로 접근합니다. 파일열기모드는 크게 읽기모드(r), 쓰기모드(w), 추가모드(a)가 있습니다. 마지막으로, f.close() 함수를 통해 파일을 닫아주면 됩니다. 1. 문자열 쓰기첫 줄에서 open(파일이름, 쓰기모드) 함수를 사용하여 쓰기모드(w)로 파일을 열었습니다. 변수 a에 "Hel.. 2017. 3. 29.
[Python] 기초 함수(Function) 안녕하세요. 우주신입니다. 이번 포스팅에서는 기초 함수들에 대해 정리해보겠습니다. 함수는 입력값(inputs), 과정(process), 결과값(outputs)으로 이루어져있습니다. 입력값 12를 넣으면 ?에는 15가 출력되는 것을 예상할 수 있습니다. 특정한 값을 입력받으면 저 상자 안에서 데이터가 처리되고 결과값이 반환되는 전체 과정을 함수라고 보시면 됩니다. 그럼, 파이썬에서는 어떻게 함수를 정의하는지 보겠습니다. def 함수명(입력 인수):수행할 문장1수행할 문장2... define의 약자인 def를 사용하여 함수를 정의 합니다. C 언어나 자바는 함수의 시작과 끝을 { } 중괄호로 나타내지만,파이썬에는 들여쓰기(Indentation)으로 구분합니다. 즉, 들여쓰기가 끝나는 곳이 함수의 끝입니다. .. 2017. 3. 27.
[Python] 기초 자료형 (숫자, 문자열, 리스트, 튜플, 딕셔너리, 집합) 안녕하세요. 우주신입니다. 오늘은 파이썬의 기초 자료형들에 대해 간단히 정리해보겠습니다. 숫자, 문자열, 리스트, 튜플, 딕셔너리, 집합 1. 숫자형(Number) 숫자형은 말 그대로 숫자로 이루어진 자료형입니다. 크게 정수, 실수, 8진수, 16진수로 나뉘는데, 파이썬은 정수, 실수 구분없이 변수에 쉽게 저장할 수 있다는 장점이 있습니다. (C에서는 int a, float a와 같이 미리 구분을 해줘야 한다) 2. 문자열(String) 문자열이란 '문자의 나열'을 의미합니다. 문자열을 만드는 기본적인 방법은 큰따옴표(" ")나 작은따옴표(' ')로 양쪽을 둘러싸면 됩니다.숫자 123도 " "(큰따옴표)로 둘러싸인 순간 문자열로 인식이 돼요.파이썬에서는 문자열에 관한 다양한 기능들을 제공하니 꼭 잘 활용.. 2017. 3. 27.
[R] 누적(Cumulative)과 관련된 함수 안녕하세요. 우주신입니다. 이번 포스팅에서는 누적과 관련된 함수에 대해 정리해보겠습니다. cumsum(), cumprod(), cummax(), cummin() 익숙해지시면 유용하게 사용되는 무척 간단한 함수들 입니다. 1. 누적 합 (Cumulative Sum) 1부터 10까지 값을 벡터 a에 넣었습니다.모두가 아는 함수로 sum()을 통해 a의 구성값들 합을 구했습니다. 그러나, 여기서 각 누적 합을 나타내려면 어떻게 해야할까요? 흔히들 while(), for() 등 반복문 함수를 통해 표현하려 시도하겠지만, cumsum() 함수 하나면 다 해결됩니다. (결과 값은 다른 형태로 표시 됩니다) 데이터프레임으로 응용해보겠습니다.벡터 b, c를 만든 후, 데이터프레임 df를 생성했습니다.b의 누적 합을 c.. 2017. 3. 23.
[R] 회귀분석(Regression Analysis) [회귀식 추정, 회귀모형 검정, 적합도 파악] 안녕하세요. 우주신입니다. 저번 상관분석 포스팅에 이어 이번에는 회귀분석(Regression Analysis)에 대해 정리해보겠습니다. 상관분석은 변수들이 서로 얼마나 밀접하게 직선적인 관계를 가지고 있는지를 분석하는 통계적 기법이며 회귀분석은 한 개 또는 그 이상의 변수들(독립변수)에 대하여 다른 한 변수(종속변수) 사이의 관계를 수학적인 모형을 이용하여 설명하고 예측하는 분석기법 입니다. 쉽게 말하자면, 상관분석에서는 산점도의 점들의 분포를 통해 일정한 패턴을 확인한 후, 상관계수를 구하여 두 변수 간의 선형관계를 알 수 있었습니다. 여기서 더 나아가, 이 일정한 패턴을 활용하여 무엇인가를 예측하는 분석을 회귀분석이라고 보시면 됩니다. '회귀분석'하면 이름도 생소하고 낯설 수 있지만, R 코드와 함께.. 2017. 3. 9.
[R] 상관분석(Correlation Analysis), [산점도, 공분산, 상관계수, 상관계수의 검정] 안녕하세요. 우주신입니다. 이번 포스팅과 다음 포스팅에서는 매우 중요한 상관분석(correlation analysis)과 회귀분석(regression analysis)에 대해 정리해보겠습니다. plot(), corrplot(), cov(), cor(), cor.test() 우리는 종종 어떤 두 사건 간의 연관성을 분석해야 할 경우가 많습니다. 둘 또는 그 이상의 변수들이 서로 관련성을 가지고 변화할 때 그 관계를 분석하는데 사용되는 방법 중에서 가장 잘 알려진 것이 상관분석(correlation analysis)과 회귀분석(regression analysis)입니다. GDP와 기대수명 간의 관계, 키와 몸무게 간의 관계 등을 예로 들 수 있는데 여기에서 두 사건, 즉 두 변수 간의 선형적 관계를 상관(c.. 2017. 3. 1.
[R] 비교연산자, 논리연산자 안녕하세요. 우주신입니다. 오늘은 비교연산자와 논리 연산자에 대해 배워보겠습니다. >, =, 3만 TRUE가 나온 것을 알 수 있습니다. 같은 원리로, X가 Y보다 값이 작다면 TRUE가 아니라면 FALSE가 결과값으로 출력됩니다. Z는 구성요소가 하나임에도 X와 비교연산이 되는 것을 볼 수 있습니다. 이러한 경우에는, Z가 X의 길이에 자동으로 맞추어(4, 4, 4, 4, 4, 4) 비교연산이 이루어 집니다. 부등호 '>='는 '왼쪽항이 오른쪽 항보다 크거나 같다'는 뜻입니다. 반대로, 부등호 ' 2017. 2. 25.
[R] NA, NULL, NaN, Inf, -Inf 구분 및 처리 안녕하세요. 우주신입니다! 데이터를 다루기 전에 항상 데이터 구조를 먼저 살펴보고 그 다음 결측값 및 특이값들을 처리해줘야 합니다. 오늘은 이 골칫덩어리들(NA, NULL, NaN, Inf, -Inf 등)에 대해 정리해보겠습니다. is.na(), is.nan(), is.infinite(), is.finite(), colSums(), na.rm=T, na.omit(), complete.cases() 1. NA, NULL, NaN, Inf 구분 우선, 설명을 위해 인위적인 데이터프레임을 하나 만들어보았습니다. -X 변수에는 NA 를 넣었습니다. NA는 Not Available의 약자로써 결측값 입니다. -Y 변수에는 NULL 을 넣었습니다. 그러나 데이터프레임을 보면 NULL이 들어가있지 않습니다. NULL.. 2017. 2. 20.