Data
-
이번 게시글에서는 적합한 회귀모형을 평가하는 방법인 `회귀 진단`에 대해 알아보겠습니다. 회귀진단의 목표는 다음과 같습니다. 모형이 얼마나 데이터 상황을 잘 설명하는지 확인 모형에 대한 각 데이터의 영향에 대해 확인 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 -
Data를 다루는 방법에 대해 공부한 내용(데이터 전처리, 시각화 등)을 한눈에 볼 수 있도록 정리한 게시글입니다. 데이터 전처리 (Data preprocess) 카테고리 변수 4가지 처리 방법 Label encoding One hot encoding Count Encoding Target Encoding 결측치 처리 결측치 확인 결측치 제거 결측치 대체 데이터 스케일링 Statndard Scaler, RoburstScaler MinMax Scaler, MaxAbs Scaler Normalizer 교차검증 KFold, Startified KFold 교차 검증 종류 및 사용법 cross_val_score, cross_validate LOOCV 임의 분할 교차 검증 (shuffle split cross) 반..
Data Science 정리본Data를 다루는 방법에 대해 공부한 내용(데이터 전처리, 시각화 등)을 한눈에 볼 수 있도록 정리한 게시글입니다. 데이터 전처리 (Data preprocess) 카테고리 변수 4가지 처리 방법 Label encoding One hot encoding Count Encoding Target Encoding 결측치 처리 결측치 확인 결측치 제거 결측치 대체 데이터 스케일링 Statndard Scaler, RoburstScaler MinMax Scaler, MaxAbs Scaler Normalizer 교차검증 KFold, Startified KFold 교차 검증 종류 및 사용법 cross_val_score, cross_validate LOOCV 임의 분할 교차 검증 (shuffle split cross) 반..
2023.11.22 -
리스트와 데이터 프레임 이번 게시글에서는 `리스트`와 `데이터 프레임`에 대해 알아보겠습니다. 지금까지 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