본문 바로가기

r20

[R] 반복문 for(), while(), repeat() 배우기 안녕하세요. 우주신 입니다. 오늘은 R 프로그래밍의 반복문에 대해 포스팅 하겠습니다. 언어마다 반복문의 문법이 조금씩 다르지만, 기본원리는 다 같습니다. for() / while() / repeat() 1. for문 먼저, 가장 많이 쓰이는 for문 입니다. for( i in data ){ i를 사용한 문장 } 구구단 중 2단을 for문을 활용해 출력해보겠습니다. 먼저, i가 1일 때 { } 안에 있는 문장들을 실행하고 다시 ( ) 안의 조건으로 돌아온 후,i가 2일 때 { } 안에 있는 문장들을 실행하고 다시 ( ) 안의 조건으로 돌아온 후,... 반복해서 i가 9일 때 까지 문장들을 실행하는 원리 입니다. 2. while문 다음은 while문 입니다. while( 조건 ){ 조건이 참일 때 수행할 문.. 2017. 10. 17.
[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.
[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] 기술통계(Descriptive Statistics) 함수 시각화 안녕하세요. 우주신입니다. 이전 기술통계 함수 포스팅에서는 데이터를 확인하고 데이터를 요약하는 함수들을 배웠습니다. 이번 시간에는 관측된 데이터를 그래프, 도표 등을 통해 시각화하는 방법에 대해 정리해보겠습니다. hist(), boxplot(), qqnorm(), qqline() 데이터는 저번 시간과 같은 것으로 사용하겠습니다.store.df 2017. 2. 18.
[R] 기술통계(Descriptive Statistics) 함수 안녕하세요. 우주신입니다. 이번 포스팅과 다음 포스팅 두번 나누어 기술통계(Descriptive Statistics) 함수에 대해 다뤄보겠습니다. 기술통계는 관측한 데이터를 도표로 정리하거나 통계량(예: 평균, 분산, 상관계수, 주성분정준변량)으로 정리하는 것으로서 관측한 현상의 특징을 기술한다.[출처: 네이버 지식백과] 먼저, 데이터를 확인하는 함수들 부터 살펴보고head( ), tail( ), some( ), str( )데이터를 요약하는 방법을 보겠습니다.min( ), max( ), mean( ), median( ), var( ), sd( ), range( ), quantile( ), summary( ), apply( ) 그 외 attach( ), detach( ) 함수에 대해 배워보겠습니다. 1. .. 2017. 2. 11.
[R] 엑셀 데이터 불러오기, 저장하기 (CSV파일) 안녕하세요. 우주신입니다!오늘은 외부 파일을 불러오고 저장하는 방법에 대해 정리해보겠습니다. R로 작업할 때는 외부 데이터를 불러와야 하는 경우가 정말 많습니다. 특히, R은 통계 컴퓨팅 및 그래픽을 위한 언어이기에 엑셀(Excel) 파일을 불러올 때가 많은데, 외부 데이터를 불러오고 저장하는 여러가지 방법 중 가장 쉬운 방법인 CSV파일에 대해 배워보겠습니다. CSV는 Comma Seperated Value의 약자로서 , 몇 가지 필드를 콤마(,)로 구분한 텍스트 데이터 및 텍스트 파일입니다. 이러한 CSV 파일을 사용함으로써 많은 양의 데이터를 줄일 수 있는데, 이는 CSV가 단순 텍스트 형식으로 저장되기에 모든 서식은 제거되고 그 값만이 저장되기 때문이죠. EXCEL의 모든 파일은 csv로 저장이 .. 2017. 2. 11.
[R] 데이터프레임(DataFrame) 변수명 변경, 변수 선택 및 정렬 안녕하세요. 우주신입니다. 이전 포스팅에 이어 오늘은 데이터프레임 변수명 변경, 변수 선택 및 정렬에 대해 정리해보겠습니다. 우선, 매장 번호, 수입, 방문자수, 매니저로 구성된 데이터프레임을 하나 만들어보겠습니다. 1. 데이터프레임 변수명 변경 변수명 변경에는 두 가지 방법이 있습니다. 첫번째는 names( ) 함수를 사용해서 변경.names(dataframe) 이 두 명령어만 입력하면 패키지 안의 함수들을 사용할 수 있습니다. V1, V2, V3, V4 변수명이 다시 바뀐 것을 확인할 수 있죠? 2. 데이터프레임 변수 선택 데이터프레임을 사용하다보면 특정 변수를 선별해야 하는 경우가 많습니다.먼저, index[which( )] 함수에 대해 알아보겠습니다.dataframe[which(조건, 변수선택)].. 2017. 2. 7.
[R] 데이터프레임(DataFrame) 생성, 변수 추가, 결합 및 인덱싱 안녕하세요. 우주신 입니다. 블로그를 시작한지 아직 한달도 안 됐지만 몇몇분들이 방문해주시니 너무 신기하고 감사하네요!! 새삼 21세기 정보화 사회에 살고 있구나 깨닫고 인터넷의 위엄을 느끼기도 합니다. 공부하는 데 조금이라도 도움이 되기를 바라는 마음으로 오늘은 데이터프레임에 대해 정리해보겠습니다. 데이터프레임(DataFrame)은 R에서 가장 많이 쓰이는 데이터 구조라 정말 중요합니다! 다른 데이터구조와는 달리 데이터 유형에 국한받지 않고 2차원 형태의 데이터 구조를 생성할 수 있기 때문이죠. 1. 데이터프레임(DataFrame) 생성 우선, xNum, xLog, xChar 변수들을 가지고 df 라는 데이터프레임을 생성했습니다. 데이터프레임을 만들 땐, data.frame( ) 함수를 사용하면 되는 .. 2017. 2. 7.