Data/R
-
이번 게시글에서는 적합한 회귀모형을 평가하는 방법인 `회귀 진단`에 대해 알아보겠습니다. 회귀진단의 목표는 다음과 같습니다. 모형이 얼마나 데이터 상황을 잘 설명하는지 확인 모형에 대한 각 데이터의 영향에 대해 확인 data
[R 회귀분석] 회귀진단 (영향점, 이상점 진단)이번 게시글에서는 적합한 회귀모형을 평가하는 방법인 `회귀 진단`에 대해 알아보겠습니다. 회귀진단의 목표는 다음과 같습니다. 모형이 얼마나 데이터 상황을 잘 설명하는지 확인 모형에 대한 각 데이터의 영향에 대해 확인 data
2023.12.11 -
이번 글에서는 R의 데이터 시각화 패키지인 `ggplot`에 대해 알아보겠습니다. 저번 글에서는 R의 내장 함수인 `plot` 함수에 대해 다뤘는데요. 따라서 저번 글에서 다룬 plot의 주요 파라미터들에 대해 알고 있다고 가정하고 설명하겠습니다. 잘 모르시는 경우 먼저 해당 글을 참고해주세요! ggplot 에 대하여.. `ggplot2`는 R에서 사용되는 강력하고 유연한 그래픽 패키지입니다. ggplot의 주요 객체 ggplot2로 생성된 그림은 R의 객체로 구성되는데요. ggplot의 주요 객체를 살펴보면 다음과 같습니다. `ggplot 객체`: 그래픽을 생성하는 기본 객체입니다. 하위 객체 `aes 객체`: 미적 매핑을 정의하기 위한 객체입니다. `geom 객체`: 기하학적 객체를 추가하여 그래프의..
[R 데이터시각화] ggplot이번 글에서는 R의 데이터 시각화 패키지인 `ggplot`에 대해 알아보겠습니다. 저번 글에서는 R의 내장 함수인 `plot` 함수에 대해 다뤘는데요. 따라서 저번 글에서 다룬 plot의 주요 파라미터들에 대해 알고 있다고 가정하고 설명하겠습니다. 잘 모르시는 경우 먼저 해당 글을 참고해주세요! ggplot 에 대하여.. `ggplot2`는 R에서 사용되는 강력하고 유연한 그래픽 패키지입니다. ggplot의 주요 객체 ggplot2로 생성된 그림은 R의 객체로 구성되는데요. ggplot의 주요 객체를 살펴보면 다음과 같습니다. `ggplot 객체`: 그래픽을 생성하는 기본 객체입니다. 하위 객체 `aes 객체`: 미적 매핑을 정의하기 위한 객체입니다. `geom 객체`: 기하학적 객체를 추가하여 그래프의..
2023.12.09 -
이번 글에서는 R 함수의 내장되어 있는 `plot` 함수를 이용하여 데이터를 시각화하는 방법에 대해 알아보겠습니다. Plot 함수의 주요 Parameter `plot()`의 주요 파라미터들에 대해 알아보겠습니다. 먼저, 주요 파라미터들을 살펴보면 다음과 같습니다. `x`, `y` : x, y 좌표 데이터 `type` : 어떻게 x,y 좌표를 그릴지 설정 (ex. 점 or 선 or Both ...) `main`, `xlab`, `ylab` : plot 제목, x축 y축 이름 `col` : 점과 선의 색상 `pch` (point character) : 점의 모양 `cex` (character expansion) : 점 크기 `lty` (line type) : 선의 타입 (ex. solid, dotted, d..
[R 데이터시각화] plot(), 주요 파라미터 살펴보기이번 글에서는 R 함수의 내장되어 있는 `plot` 함수를 이용하여 데이터를 시각화하는 방법에 대해 알아보겠습니다. Plot 함수의 주요 Parameter `plot()`의 주요 파라미터들에 대해 알아보겠습니다. 먼저, 주요 파라미터들을 살펴보면 다음과 같습니다. `x`, `y` : x, y 좌표 데이터 `type` : 어떻게 x,y 좌표를 그릴지 설정 (ex. 점 or 선 or Both ...) `main`, `xlab`, `ylab` : plot 제목, x축 y축 이름 `col` : 점과 선의 색상 `pch` (point character) : 점의 모양 `cex` (character expansion) : 점 크기 `lty` (line type) : 선의 타입 (ex. solid, dotted, d..
2023.12.08 -
이번 글은 그동안 제가 R 프로그래밍을 하면서 헷갈렸던 부분들을 정리해보겠습니다. 새로운 것들을 배울때마다 추가했기 때문에 중구난방으로 쓴 글이라는 점 이해 부탁드려요. 🙏 class() vs mode() `class()`는 객체가 어떤 데이터 형식 또는 클래스를 가지고 있는지를 나타내고,`mode()`는 객체의 내부 표현 방식을 나타냅니다. 데이터프레임 d의 클래스는 자신의 클래스인 data.frame을 출력합니다. 또한, 데이터 프레임 내부는 list 형식으로 구성되어 있음을 알 수 있습니다.
[R] R을 공부하면서 헷갈리는 부분 정리이번 글은 그동안 제가 R 프로그래밍을 하면서 헷갈렸던 부분들을 정리해보겠습니다. 새로운 것들을 배울때마다 추가했기 때문에 중구난방으로 쓴 글이라는 점 이해 부탁드려요. 🙏 class() vs mode() `class()`는 객체가 어떤 데이터 형식 또는 클래스를 가지고 있는지를 나타내고,`mode()`는 객체의 내부 표현 방식을 나타냅니다. 데이터프레임 d의 클래스는 자신의 클래스인 data.frame을 출력합니다. 또한, 데이터 프레임 내부는 list 형식으로 구성되어 있음을 알 수 있습니다.
2023.12.05 -
오늘은 apply 계열 함수에 대해 알아보겠습니다. 이미 앞선 글들에서 일부 다뤘었는데요. `Apply 계열 함수`는 벡터, 행렬 또는 데이터 프레임에 임의의 함수를 적용할 수 있기 때문에 데이터 핸들링하는데 유용합니다. Apply 계열 함수 먼저, 자세한 사용법을 알아보기 전에 각 Apply 계열 함수들이 어떤 인자를 받고 반환하는지 알아보겠습니다. `apply()` : 행렬, 배열, 데이터 프레임에 적용 → 벡터, 배열, 리스트 반환 `lapply()` : 벡터, 리스트 또는 표현식 → 리스트 반환 `sapply()` : 벡터, 리스트 또는 표현식 → 벡터, 행렬, 배열 반환 `mapply()` : 여러 개의 벡터와 리스트를 인자로 받아 함수에 각 데이터의 첫째 요소들을 적용 `tapply()` : ..
[R] apply 계열 함수 (apply, lapply, sapply, mapply, tapply)오늘은 apply 계열 함수에 대해 알아보겠습니다. 이미 앞선 글들에서 일부 다뤘었는데요. `Apply 계열 함수`는 벡터, 행렬 또는 데이터 프레임에 임의의 함수를 적용할 수 있기 때문에 데이터 핸들링하는데 유용합니다. Apply 계열 함수 먼저, 자세한 사용법을 알아보기 전에 각 Apply 계열 함수들이 어떤 인자를 받고 반환하는지 알아보겠습니다. `apply()` : 행렬, 배열, 데이터 프레임에 적용 → 벡터, 배열, 리스트 반환 `lapply()` : 벡터, 리스트 또는 표현식 → 리스트 반환 `sapply()` : 벡터, 리스트 또는 표현식 → 벡터, 행렬, 배열 반환 `mapply()` : 여러 개의 벡터와 리스트를 인자로 받아 함수에 각 데이터의 첫째 요소들을 적용 `tapply()` : ..
2023.12.04 -
데이터 프레임 `데이터 프레임`은 행렬(2차원)과 비슷하지만, 각 열들이 서로 다른 데이터 타입을 가질 수 있습니다. (Python 의 Pandas.dataframe과 유사합니다.) 사용방법(데이터 접근, 추가 등)은 행렬과 거의 동일하기 때문에 다음 글을 참고하길 추천드립니다. 데이터 프레임 생성 `data.frame()`을 이용하여 데이터 프레임을 생성할 수 있습니다. 서로 다른 데이터 타입을 가지는 벡터를 각 열로 넣을 수 있다는 것을 확인할 수 있는데요. 여기서 stringAsFactors=FALSE로 설정할 경우 char형 벡터가 자동으로 범주형 데이터로 바뀌는 것을 막습니다. 데이터 접근하기 데이터 프레임에서의 데이터 접근 방법도 리스트와 동일합니다. 추가적으로 행렬의 데이터 접근 방식도 사용..
[R] 데이터 프레임데이터 프레임 `데이터 프레임`은 행렬(2차원)과 비슷하지만, 각 열들이 서로 다른 데이터 타입을 가질 수 있습니다. (Python 의 Pandas.dataframe과 유사합니다.) 사용방법(데이터 접근, 추가 등)은 행렬과 거의 동일하기 때문에 다음 글을 참고하길 추천드립니다. 데이터 프레임 생성 `data.frame()`을 이용하여 데이터 프레임을 생성할 수 있습니다. 서로 다른 데이터 타입을 가지는 벡터를 각 열로 넣을 수 있다는 것을 확인할 수 있는데요. 여기서 stringAsFactors=FALSE로 설정할 경우 char형 벡터가 자동으로 범주형 데이터로 바뀌는 것을 막습니다. 데이터 접근하기 데이터 프레임에서의 데이터 접근 방법도 리스트와 동일합니다. 추가적으로 행렬의 데이터 접근 방식도 사용..
2023.12.04 -
리스트와 데이터 프레임 이번 게시글에서는 `리스트`와 `데이터 프레임`에 대해 알아보겠습니다. 지금까지 R의 벡터, 행렬, 배열에 대해 알아보았는데요. 이들은 동일한 타입의 원소만을 가질 수 있었습니다. 반면, 리스트와 데이터 프레임에서는 서로 다른 데이터 타입의 원소를 가질 수 있습니다. 리스트 즉, `리스트`는 서로 다른 데이터 타입의 집합이 필요할 때 사용하는 데이터 구조입니다. (파이썬의 Dictionary 와 유사하다고 생각하면 됩니다.) List(리스트)는 R의 리스트는 임의의 객체를 포함할 수 있는 벡터 유형입니다. 리스트는 요소로 다른 벡터, 스칼라, 다른 리스트 또는 복잡한 객체를 가질 수 있으며, 이러한 리스트의 요소들은 서로 다른 데이터 유형일 수 있습니다. 즉, 리스트는 `재귀적`이..
[R] 리스트리스트와 데이터 프레임 이번 게시글에서는 `리스트`와 `데이터 프레임`에 대해 알아보겠습니다. 지금까지 R의 벡터, 행렬, 배열에 대해 알아보았는데요. 이들은 동일한 타입의 원소만을 가질 수 있었습니다. 반면, 리스트와 데이터 프레임에서는 서로 다른 데이터 타입의 원소를 가질 수 있습니다. 리스트 즉, `리스트`는 서로 다른 데이터 타입의 집합이 필요할 때 사용하는 데이터 구조입니다. (파이썬의 Dictionary 와 유사하다고 생각하면 됩니다.) List(리스트)는 R의 리스트는 임의의 객체를 포함할 수 있는 벡터 유형입니다. 리스트는 요소로 다른 벡터, 스칼라, 다른 리스트 또는 복잡한 객체를 가질 수 있으며, 이러한 리스트의 요소들은 서로 다른 데이터 유형일 수 있습니다. 즉, 리스트는 `재귀적`이..
2023.10.17 -
행렬과 배열 이번 게시글에서는 다차원 데이터 구조인 `행렬`과 `배열`에 대해 알아보겠습니다. 참고로 `행렬`과 `배열`도 벡터이기 때문에 벡터와 마찬가지로 원소들은 동일한 데이터 타입을 가집니다. 행렬 `행렬`은 말 그대로 `행(row)`과 `열(column)`으로 구성된 2차원의 데이터 구조입니다. 이는 뒤에서 다룰 배열의 한 형태입니다. 행렬 생성 `matrix()`를 이용하여 행렬을 생성할 수 있습니다. 코드를 통해 확인해보겠습니다. 위 결과를 확인해보면 2차원 구조로 행렬을 생성한 것을 볼 수 있는데요. 여기서 중요한 점은 행렬을 만들때 열 우선방식으로 생성된다는 점입니다. 행렬을 생성할 때 사용하는 주요 파라미터로는 `data`, `nrow`, `ncol`, `byrow` 등이 있는데요. 각 ..
[R] 행렬과 배열행렬과 배열 이번 게시글에서는 다차원 데이터 구조인 `행렬`과 `배열`에 대해 알아보겠습니다. 참고로 `행렬`과 `배열`도 벡터이기 때문에 벡터와 마찬가지로 원소들은 동일한 데이터 타입을 가집니다. 행렬 `행렬`은 말 그대로 `행(row)`과 `열(column)`으로 구성된 2차원의 데이터 구조입니다. 이는 뒤에서 다룰 배열의 한 형태입니다. 행렬 생성 `matrix()`를 이용하여 행렬을 생성할 수 있습니다. 코드를 통해 확인해보겠습니다. 위 결과를 확인해보면 2차원 구조로 행렬을 생성한 것을 볼 수 있는데요. 여기서 중요한 점은 행렬을 만들때 열 우선방식으로 생성된다는 점입니다. 행렬을 생성할 때 사용하는 주요 파라미터로는 `data`, `nrow`, `ncol`, `byrow` 등이 있는데요. 각 ..
2023.10.17 -
R 문법 전반적인 문법을 다루고 데이터 컬렉션에 대해 설명하는 것이 맞지만, R에서는 기본적으로 벡터화되어 있기 때문에 벡터를 먼저 다루었는데요. 이번 게시글에서는 R의 문법에 대해 알아보겠습니다. 반복문 R에서도 반복문으로 `while`, `repeat`, `for` 을 사용가능합니다. while, repeat 먼저, `while`을 사용하는 법에 대해 알아보겠습니다. 다른 언어들과 마찬가지로 while의 ()안에는 조건이 들어갑니다. () 조건이 TRUE(만족) 이면 반복하고 FALSE 이면 중단하는데요. ()의 조건이 만족하더라도 `break` 키워드를 통해 while 문 밖으로 탈출할 수 있습니다. 추가적으로 while(TRUE) 대신 `repeat`을 이용할 수 도 있습니다. for `for` ..
[R] R 문법R 문법 전반적인 문법을 다루고 데이터 컬렉션에 대해 설명하는 것이 맞지만, R에서는 기본적으로 벡터화되어 있기 때문에 벡터를 먼저 다루었는데요. 이번 게시글에서는 R의 문법에 대해 알아보겠습니다. 반복문 R에서도 반복문으로 `while`, `repeat`, `for` 을 사용가능합니다. while, repeat 먼저, `while`을 사용하는 법에 대해 알아보겠습니다. 다른 언어들과 마찬가지로 while의 ()안에는 조건이 들어갑니다. () 조건이 TRUE(만족) 이면 반복하고 FALSE 이면 중단하는데요. ()의 조건이 만족하더라도 `break` 키워드를 통해 while 문 밖으로 탈출할 수 있습니다. 추가적으로 while(TRUE) 대신 `repeat`을 이용할 수 도 있습니다. for `for` ..
2023.10.17 -
R에서의 유용한 함수 정리 이번 글은 그동안 제가 R 프로그래밍을 하면서 유용하게 사용한 함수들을 정리해보겠습니다. 새로운 것들을 배울때마다 추가했기 때문에 중구난방으로 쓴 글이라는 점 이해 부탁드려요. 🙏 any(), all() `all()` : 모든 원소가 조건을 만족시 TRUE 반환 `any()`: 모든 원소 중 하나라도 조건을 만족시 TRUE 반환 apply 계열 함수 apply, lapply, sapply, mapply, tapply runif() `runif`는 균등 분포(uniform distribution)에서 난수를 생성하는 함수입니다. runif 함수의 기본 형식은 다음과 같습니다. runif(n, min = 0, max = 1) n: 생성할 난수의 개수입니다. min: 생성될 난수의 ..
[R] 유용한 함수 정리R에서의 유용한 함수 정리 이번 글은 그동안 제가 R 프로그래밍을 하면서 유용하게 사용한 함수들을 정리해보겠습니다. 새로운 것들을 배울때마다 추가했기 때문에 중구난방으로 쓴 글이라는 점 이해 부탁드려요. 🙏 any(), all() `all()` : 모든 원소가 조건을 만족시 TRUE 반환 `any()`: 모든 원소 중 하나라도 조건을 만족시 TRUE 반환 apply 계열 함수 apply, lapply, sapply, mapply, tapply runif() `runif`는 균등 분포(uniform distribution)에서 난수를 생성하는 함수입니다. runif 함수의 기본 형식은 다음과 같습니다. runif(n, min = 0, max = 1) n: 생성할 난수의 개수입니다. min: 생성될 난수의 ..
2023.10.17 -
결손값 (NA) 처리하기 결손값(NA) 를 처리하는 방법에 대해 다뤄보겠습니다. 1) NA 값 확인하기 `is.na()` : 각 원소별로 NA 인지 확인합니다. `any(is.na())`: 하나라도 NA가 있으면 TRUE를 반환합니다. 2) NA 값 대체하기 `ifelse()` 사용하여 NA 값을 대체할 수 있습니다. 위 코드는 NA를 0으로 대체합니다. 3) NA 값 삭제하기 `na.omit()`을 통해 NA를 삭제할 수 있습니다. 추가적으로 R에서 제공하는 함수에서 `na.rm`이라는 인자를 이용할 수도 있습니다. 데이터 프레임에서 NA 처리하기 대부분 외부에서 구할 수 있는 정형 데이터는 데이터 프레임 형태로 불러올 수 있을텐데요. 이번에는 데이터 프레임을 예시로 NA를 처리해보겠습니다. NA 있는..
[R] 결손값(NA) 처리결손값 (NA) 처리하기 결손값(NA) 를 처리하는 방법에 대해 다뤄보겠습니다. 1) NA 값 확인하기 `is.na()` : 각 원소별로 NA 인지 확인합니다. `any(is.na())`: 하나라도 NA가 있으면 TRUE를 반환합니다. 2) NA 값 대체하기 `ifelse()` 사용하여 NA 값을 대체할 수 있습니다. 위 코드는 NA를 0으로 대체합니다. 3) NA 값 삭제하기 `na.omit()`을 통해 NA를 삭제할 수 있습니다. 추가적으로 R에서 제공하는 함수에서 `na.rm`이라는 인자를 이용할 수도 있습니다. 데이터 프레임에서 NA 처리하기 대부분 외부에서 구할 수 있는 정형 데이터는 데이터 프레임 형태로 불러올 수 있을텐데요. 이번에는 데이터 프레임을 예시로 NA를 처리해보겠습니다. NA 있는..
2023.10.17 -
벡터 R의 데이터 컬렉션 `데이터 컬렉션`은 앞에서 배운 변수들의 보관함이라고 생각하면 됩니다. R에서의 데이터 컬렉션에는 대표적으로 `벡터`, `리스트`, `행렬`, `배열`, `데이터 프레임`등이 있는데요. 참고로 데이터 컬렉션도 변수가 될 수 있습니다. 예를들어 벡터들도 어떤 통에 담겨 보관될 수 있는데요. 이에 대해서는 후에 다루겠습니다. 이번 게시글에서는 R에서 가장 간단한 데이터 컬렉션의 `벡터`에 대해 알아보겠습니다. 벡터란? `벡터`는 동일한 데이터 타입을 가지는 원소들의 배열입니다.이는 마치 C 언어에서의 배열과 비슷한데요. 보통 배열은 이미 크기가 정해져 있습니다. 참고로 R의 배열(데이터 컬렉션)이랑 지금 말하는 배열은 다릅니다! R의 `벡터`도 크기가 이미 결정되어 있어, 원소(데..
[R] 벡터벡터 R의 데이터 컬렉션 `데이터 컬렉션`은 앞에서 배운 변수들의 보관함이라고 생각하면 됩니다. R에서의 데이터 컬렉션에는 대표적으로 `벡터`, `리스트`, `행렬`, `배열`, `데이터 프레임`등이 있는데요. 참고로 데이터 컬렉션도 변수가 될 수 있습니다. 예를들어 벡터들도 어떤 통에 담겨 보관될 수 있는데요. 이에 대해서는 후에 다루겠습니다. 이번 게시글에서는 R에서 가장 간단한 데이터 컬렉션의 `벡터`에 대해 알아보겠습니다. 벡터란? `벡터`는 동일한 데이터 타입을 가지는 원소들의 배열입니다.이는 마치 C 언어에서의 배열과 비슷한데요. 보통 배열은 이미 크기가 정해져 있습니다. 참고로 R의 배열(데이터 컬렉션)이랑 지금 말하는 배열은 다릅니다! R의 `벡터`도 크기가 이미 결정되어 있어, 원소(데..
2023.10.13