본문 바로가기

코드이야기

(20)
[R프로그래밍] 헤론의 공식으로 삼각형의 넓이를 구하는 함수 정의하기 R은 통계분석, 수치계산, 그래픽에 특화된 프로그래밍 언어입니다. 기본적으로 제공하는 함수들 역시 다양합니다. 기본적으로 제공하는 함수가 없을 경우에는 사용자가 직접 함수를 만들어 문제를 해결할 수 있습니다. 모든 프로그래밍 언어는 이런 기능을 제공하고 각 언어마다 독특한 문법을 가지고 있습니다. R프로그래밍에서 사용자 정의 함수를 작성하기 위한 문법을 살펴보고 헤론의 공식을 이용해 삼각형의 면적을 구하는 사용자 정의 함수를 작성해 보겠습니다. R에서 함수를 정의하는 법 어떤 두 집합 X, Y에서 X의 각 원소에 Y의 원소가 하나씩만 대응할 때, 우리는 이것을 X에서 Y로의 함수라고 정의합니다. Y = 2X + 1라는 함수를 생각해 보겠습니다. X에 1을 대입하면 Y는 5가 됩니다. X에 어떤 값을 대입..
[R프로그래밍] RStudio에서 프로젝트 생성하고 데이터 불러오기 지난 포스팅에서 R과 RStudio를 설치했습니다. 이제 RStudio를 이용해서 프로젝트를 생성해 보겠습니다. 읽기 전에 추천 한 번! 블로거에겐 큰 힘입니다 RStudio 기본 패널 RStudio창은 기본적으로 4개의 패널로 구분됩니다. 소스편집기와 데이터뷰/R콘솔/작업환경과 히스토리/파일, 플롯, 패키지, 도움말이 그것입니다. 각 패널은 단축키를 가지고 있습니다. 단축키는 의 조합으로 사용할 수 있습니다. 또한, 메뉴의 Tools-Global Options-Panel Layout을 실행하면 각 섹션의 순서와 내용을 변경할 수도 있습니다. 프로젝트 생성하기 프로젝트를 생성해 보도록 하겠습니다. 지난 포스팅에서 사용했던 전자공시시스템의 평균급여 파일을 분석하기 위한 프로젝트를 생성하겠습니다. 메뉴모음에..
Python3에서 선형회귀분석을 위한 외부모듈 설치하기 파이썬 3에서 선형 회귀분석을 하기 위해서는 수학, 과학, 공학과 관련된 기능을 모아둔 SciPy, NumPy, Matplotlib을 설치해야 한다. 다음의 각 모듈 홈페이지에서 관련모듈을 다운 받아 설치할 수 있다.SciPy(http://www.scipy.org/)Numpy(http://www.numpy..org/)Matplotlib(http://matplotlib.sourceforge.net/)비공식적으로 Christoph Gohlke라는 프로그래머가 윈도우 환경의 파이썬 사용자를 위해 실행파일(exe)형태에의 바이너리를 개인홈페이지(http://www.lfd.uci.edu/~gohlke/pythonlibs/)에서 제공하고 있다. 이 사이트에서 본인의 환경과 버전에 맞는 Numpy, SciPy, Ma..
[R프로그래밍] R과 RStudio의 설치와 패키지 업데이트 하기 빅데이터 시대입니다. 이제 통계에 대한 기본지식과 분석툴에 대한 사용방법만 알고 있으면 누구나 데이터에서 의미있는 정보를 찾아낼 수 있습니다. 통계분석을 도와주는 도구는 SAS, SPSS, R, Excel의 분석도구와 VBA 등이 주로 사용됩니다. 오픈소스와 쉬운 사용방법으로 R이 통계분석의 표준으로 자리잡아 가고 있습니다. RStudio는 R을 위한 IDE를 제공하는 오픈소스 프로젝트입니다. 직관적인 사용자 인터페이스와 파워풀한 기능으로 R을 이용해 통계분석을 하는 많은 사용들의 컴퓨터에 깔려있습니다. RStudio를 사용하기 위해서는 R이 먼저 설치되어 있어야 합니다. R과 RStudion IDE를 컴퓨터에 설치해 보도록 하겠습니다. R 설치와 업데이트 하기 R 다운로드 R은 Windows, MAC ..
[R프로그래밍] R을 계산기로 사용하는 방법 읽기 전 클릭↑ 한 번! 블로거에겐 큰 힘입니다 R은 뉴질랜 오클랜드 대학의 로스이하카(Ross Ihaka)와 로버트 젠틀맨(Robert Gentleman)에 의해 시작된 통계계산과 그래픽을 위한 프로그래밍 언어입니다. GNU GPL을 따르고 있어 누구나 자유롭게 사용할 수 있고, 윈도우, 리눅스, OS X등 멀티 플랫폼에서 소스코드의 변형없이 재사용이 가능해 통계연구에 널리 쓰입니다. R은 프로그래밍 언어로써의 통계계산과 패키지 개발 용도 외에도 다양한 계산이 용이하고 탁월한 성능을 발휘합니다. 여기서는 R을 계산기로 사용하는 방법에 대해 이야기 합니다. 연산자, 연산의 우선순위와 데이터 할당 계산기는 다양합니다. 사칙연산, 간단한 무리수의 계산, 메모리기능을 가지고 있는 일명 쌀집계산기에서 부터 화폐..
데이터 분석을 위한 파이썬 필수라이브러리 데이터 분석을 위해서는 분석할 문제를 정의하는 단계에서 분석결과를 보고하는 단계까지 여러단계가 이루어진다고 포스팅했습니다. 이 중 첫 4단계는 컴퓨터의 도움없이 연필과 종이로 충분히 할 수 있습니다. 하지만, 실제 데이터를 수집하고, 가공해서, 보여주는 단계에 이르면 수작업만으로는 한계가 있습니다. 파이썬은 데이터 분석을 위한 다양한 라이브러리를 제공합니다. 데이터를 수집하고, 가공하고, 시각화하는 데 필수적인 파이썬 라이브러리를 소개하도록 하겠습니다. 데이터 수집 - Beautiful Soup Beautiful Soup 라이브러리는 강력한 HTML 파싱 라이브러리입니다. 우리가 분석을 위해 수집하는 데이터의 대부분은 웹 상에 존재합니다. 웹페이지는 태그가 포함된 HTML파일을 브라우저가 해석해 우리에게..
Beautiful Soup 라이브러리로 기온데이터 수집하기 작년 한 해 서울의 기온은 어떻게 변했을까요? 이런 작업을 하려면 날씨정보가 어디있는지 알아야 하고, 그 정보를 활용해서 우리가 보고싶은 모습으로 표현할 수 있어야 합니다. Weather Underground에서는 전세계의 날씨 데이터를 일자별, 주별, 월별, 기간별로 제공하고 있습니다. 한 가지 문제가 있습니다. 우리가 원하는 것은 일별 데이터인데 모두 확인하려면 대단한 노가다(?)를 해야한다는 것입니다. 파이썬의 Beautiful Soup 라이브러리를 활용하면 이 작업을 쉽게 처리할 수 있습니다. Beautiful Soup라이브러리는 html과 xml로 부터 데이터를 뽑아내기 위한 라이브러리 입니다. Beautiful Soup Document를 보시면 자세한 내용을 확인 할 수 있습니다. 이 라이브러..
파이썬으로 삼각함수표 만들기 읽기 전에 추천 한 번! 블로거에겐 큰 힘입니다 사진은 세상에서 가장 높은 빌딩인 아랍에미레이트 두바이의 부르즈 할리파의 모습입니다. 그 높이가 829.8미터에 이릅니다. 높이가 829.8미터라는 것을 어떻게 측정 할 수 있을까요? 꼭대기에 올라가서 아주 긴 자를 가지고 땅으로 떨어뜨려 보는 방법도 있겠지요. 하지만 너무 위험합니다. 그럼 다른 방법은 없을까요? 고대 그리스의 천문학자들 역시 비슷한 고민을 했습니다. 지구에서 별까지의 거리를 측정하는 것입니다. 이런 문제들을 삼각함수를 활용하면 풀 수 있습니다. 건물의 높이 계산, 별까지의 거리계산 외에도 벡터계산, 진동, 음향, 파동 등의 그래프 표현, 항공기의 항법장치 등 수많은 분야에 활용되고 있습니다. 여기서는 삼각함수의 기본적인 개념을 살펴보고 ..