R 3.2.1 프로그래밍 - 팩터와 테이블의 이해와 활용
·
R프로그래밍
11 R 3.2.1 프로그래밍 - 팩터와 테이블의 이해와 활용 R프로그래밍에서의 팩터와 테이블의 개념에 대해 함께 알아 봅시다. 우선, R에서 팩터는 벡터에 추가 정보가 더해진 것으로 보면 됩니다. 추가 정보는 레벨이라고 하여 벡터의 값 가운데 겹치지 않는 값의 기록으로 이루어져 있습니다. 팩터에 사용되는 일반적인 함수로는 tapply(), split() 그리고 by()가 있습니다. R에서 테이블은 어떤 값이나 리스트를 원소로 갖는 이차 배열입니다. table()의 첫 번째 인수는 팩터나 팩터 리스트리고 데이터 인수는 데이터 프레임입니다. 대부분의 수학적 용도가 아닌 행렬, 배열 연산이 데이터 프레임에서 사용될 수 있듯이, 테이블에서도 동일하게 적용할 수 있습니다. aggregate()와 cut()과 같..
R 3.2.1 프로그래밍 - 데이터 프레임의 결합과 적용
·
R프로그래밍
R 3.2.1 프로그래밍 - 데이터 프레임의 결합과 적용 로지스틱 회귀분석은 분석하고자 하는 대상들이 두 집단 혹은 그 이상의 집단으로 나누어진 경우에 개별 관측치들이 어느 집단으로 분류될 수 있는가를 분석하고 이를 예측하는 모형을 개발하는데 사용되는 대표적인 통계 알고리즘입니다. 분석 목적이나 절차에 있어서는 일반 회귀분석과 유사하나 종속 변수가 명목척도로 측정된 범주형 질적 변수인 경우에 사용한다는 점에서 차이가 있습니다. 로지스틱 회귀분석은 판별분석과는 달리 예측변수에 범주형 변수를 투입 할 수 있는 장점이 있는데요, 가장 일반적인 예로 성별을 매우 자연스럽게 예측 변수로 포함할 수 있습니다. 종속변수가 두 가지의 가능한 값만 가질 경우에는 이항 로지스틱 분석이 사용되며 셋 이상인 경우에는 다항 로..
R 3.2.1 프로그래밍 - 데이터 프레임의 생성과 연산
·
R프로그래밍
R 3.2.1 프로그래밍 - 데이터 프레임의 생성과 연산 데이터 프레임은 행렬과 비슷한 형태로 되어 있으나, 다른 속성을 지닙니다. 행렬은 같은 형태의 객체를 가지는 반면, 데이터 프레임은 각 열들이 서로 다른 형태의 객체를 가질 수 있습니다. 따라서 데이터 프레임은 범주형 변수를 가질 수도 있기 때문에 범주형 자료분석에 유용하게 사용됩니다. 데이터 프레임은 형태가 일반화된 행렬로서, 데이터 프레임이라는 하나의 객체에 여러 종류의 자료가 들어갈 수 있습니다. 데이터 프레임의 각 열은 각각 변수와 대응하며, 분석이나 모형 설정에 적합한 자료 객체입니다. 데이터 프레임의 기초1. 데이터 프레임 생성하기데이터 프레임의 기초데이터 프레임 생성하기 학습에 앞서 간단한 예제를 먼저 살펴 봅시다. data.frame..
R 3.2.1 프로그래밍 - 리스트의 적용과 재귀 리스트
·
R프로그래밍
R 3.2.1 프로그래밍 - 리스트의 적용과 재귀 리스트 연결 리스트는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조를 말합니다. 연결 리스트는 이름에서 말하듯이 데이터를 담고 있는 노드들이 서로 연결되어 있는데, 노드의 포인터가 다음이나 이전의 노드와의 연결을 담당하게 됩니다. 연결 리스트는 늘어선 노드의 중간지점에서도 자료의 추가와 삭제가 O(1)의 시간에 가능하다는 장점을 갖습니다. 그러나 배열이나 트리 구조와는 달리 특정 위치의 데이터를 검색해 낼 때는O(n)의 시간이 걸리는 단점도 갖고 있습니다. 연결 리스트의 종류로는 단순 연결 리스트, 이중 연결 리스트, 원형 연결 리스트가 있습니다. 단순 연결 리스트는 각 노드에 자료 공간과 한 개의 포인터..
R 3.2.1 프로그래밍 - 리스트의 생성과 연산
·
R프로그래밍
R 3.2.1 프로그래밍 - 리스트의 생성과 연산 리스트는 배열과 같은 다중 자료형 형태이나, 다른 속성을 지닙니다.배열은 이미 정해진 크기의 메모리 공간이 필요하지만, 리스트는 필요 없습니다. 데이터를 하나씩 집어 넣을 때마다 메모리 공간을 생성하기 때문입니다. 배열은 데이터의 위치에 대해서 직접적인 엑세스가 가능하지만, 리스트는 불가능합니다. 가장 처음위치부터 몇 번째인지 하나씩 세어가면서 위치를 찾아나가야 합니다. 또한 배열은데이터의 삽입이나 삭제가 상당히 불편하지만,리스트는 매우 손쉽게 삽입하거나 삭제할 수 있습니다. 리스트의 기초1. 리스트 생성하기리스트의 기초기술적으로 봤을 때 리스트는 벡터의 일종입니다. 일반적인 벡터는 구성 요소가 더 작은 요소로 나뉠 수 없기 때문에 원자 벡터(Atomic..
R 3.2.1 프로그래밍 - 행렬과 배열의 활용
·
R프로그래밍
R 3.2.1 프로그래밍 - 행렬과 배열의 활용 행렬에서의 곱셈에 대해 살펴봅시다. 행렬에서는 곱셈의 교환법칙이 성립하지 않습니다. 즉 A*B 와 B*A의 값이 다를 수 있습니다. 이는 우리 실생활과 관련 지어서 생각할 수 있는데요. 어떤 작용을 먼저 하느냐, 그 순서에 따라 그 결과가 달라진다는 것을 의미합니다. 사실 이러한 행렬로 많은 과학 공학 분야에서 혁명적인 이론들이 탄생해 왔습니다. 수학의 식 하나에서 현재의 과학문명이 태동하고 발전해 온 것이지요. 행렬의 응용1. 행렬의 행과 열에 함수 적용하기행렬의 응용R에서 가장 유명하고 가장 많이 사용되는 기능 중 하나는 apply(), tapply(), lapply() 같은 *apply()군 함수입니다. R에서 사용자 정의 함수를 행렬의 각 행이나 각..
R 3.2.1 프로그래밍 - 행렬과 배열 만들기
·
R프로그래밍
R 3.2.1 프로그래밍 - 행렬과 배열 만들기 이번 시간에 학습할 행렬과 배열에 대한 배경지식을 먼저 살펴보겠습니다 행렬이란 무엇일까요? 행렬은 행과 열에 수를배열하여 직4각형을 이루게 한 수의 집합을 말합니다. 각 수들을 행렬의 원소 또는 성분이라고 말하며, 행렬은 수학의여러 분야에서는 물론 공학·물리학·경제학·통계학 등에서 널리 응용되고 있습니다. 역사적으로 처음에는 행렬이 아니라 행렬식 이라는 정방행렬과 연관된 수 값이 인식되었다가 점차 대수적인 것으로 행렬의개념이 나타나게 되었고, 19세기 영국의 수학자 A.케일리는 행렬이라는 용어를 도입하고 행렬의 대수적 개념을 발달시켰습니다. 행렬 연산의 기초1. 행렬 만들기행렬 연산의 기초행렬 연산의 기초, 행렬 만들기를 본격적으로 학습하기 전에 행렬의 구..
R 3.2.1 프로그래밍 - 스칼라, 벡터, 배열, 행렬의 활용
·
R프로그래밍
R 3.2.1 프로그래밍 - 스칼라, 벡터, 배열, 행렬의 활용 학습을 시작하기에 앞서, NA와 NULL의 개념에 대해 살펴봅시다. NA는 결측치로 데이터가 존재하지 않음을 뜻합니다. 쉽게 말해서 존재는 하지만 무엇인지 모름을 의미합니다. 예를 들어 중간고사 성적을 입력하는데 5번째 학생이 시험을 치지 않은경우 NULL이 아닌 NA를 사용합니다. 이에 반해 NULL은 NULL 객체로서 객체를 정의되지 않은 상태로 만들고자 할 때 사용하며, 존재하지 않는 값을 의미합니다. 결측치는 하나의 요소를 의미하고 NULL은 객체를 의미합니다. NA는 값을 넣은 후 출력이되지만 NULL는 출력이 되지 않습니다. length()를 사용해서 확인해보면 NULL의 경우는 길이에 영향을 미치지 않는다는 것을알 수 있습니다...
김 정출
'R프로그래밍' 카테고리의 글 목록