분류 전체보기
-
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 -
이번 게시글에서는 R에서 가장 기초가 되는 변수와 기본 데이터 타입, 연산자에 대해 알아보겠습니다. 1. 변수 `변수`란 변할 수 있는 데이터를 말합니다. R에서는 데이터 분석의 대상이 되는 데이터를 의미합니다. 반대되는 개념으로는 상수가 있죠. R에서의 상수 개념은 기존의 다른 프로그래밍 언어의 상수(변하지 않는 값) 의미와는 다른데요. R에서의 `상수`는 데이터의 속성이 하나의 값으로 이루어져 있어 데이터 분석을 할 가치가 없는 데이터를 의미합니다. 변수 선언과 대입 변수를 선언하는 방법은 다음과 같습니다. var
[R] R 기초 (변수, 기본 데이터 타입, 연산자)이번 게시글에서는 R에서 가장 기초가 되는 변수와 기본 데이터 타입, 연산자에 대해 알아보겠습니다. 1. 변수 `변수`란 변할 수 있는 데이터를 말합니다. R에서는 데이터 분석의 대상이 되는 데이터를 의미합니다. 반대되는 개념으로는 상수가 있죠. R에서의 상수 개념은 기존의 다른 프로그래밍 언어의 상수(변하지 않는 값) 의미와는 다른데요. R에서의 `상수`는 데이터의 속성이 하나의 값으로 이루어져 있어 데이터 분석을 할 가치가 없는 데이터를 의미합니다. 변수 선언과 대입 변수를 선언하는 방법은 다음과 같습니다. var
2023.10.13 -
R 패키지 다운받기 Python 에서 pip 를 통해 쉽게 패키지를 설치하듯이 R에서도 쉽게 패키지를 다운받을 수 있는데요. 이번 게시글에서는 R에서 패키지를 받고 사용하는 방법에 대해 한번 알아보겠습니다. CRAN 에서 패키지 다운 및 사용하기 보통 R에서는 `CRAN`이라는 가장 큰 R 레포지토리에서 필요한 라이브러리를 설치할 수 있는데요. # install.packages("(패키지 이름)") install.packages("ggplot2") 위 예시처럼 `install.packages()`를 통하여 패키지를 설치할 수 있습니다. library("ggplot2") 패키지를 사용하고 싶은 경우, `library()`를 코드 스크립트에 추가하여 설치한 패키지를 불러올 수 있습니다. Github 에서 패..
[R] 패키지(외부 라이브러리) 다운 및 사용하기R 패키지 다운받기 Python 에서 pip 를 통해 쉽게 패키지를 설치하듯이 R에서도 쉽게 패키지를 다운받을 수 있는데요. 이번 게시글에서는 R에서 패키지를 받고 사용하는 방법에 대해 한번 알아보겠습니다. CRAN 에서 패키지 다운 및 사용하기 보통 R에서는 `CRAN`이라는 가장 큰 R 레포지토리에서 필요한 라이브러리를 설치할 수 있는데요. # install.packages("(패키지 이름)") install.packages("ggplot2") 위 예시처럼 `install.packages()`를 통하여 패키지를 설치할 수 있습니다. library("ggplot2") 패키지를 사용하고 싶은 경우, `library()`를 코드 스크립트에 추가하여 설치한 패키지를 불러올 수 있습니다. Github 에서 패..
2023.10.13 -
안녕하세요! 이번 게시글에서는 제가 R을 배우게 된 이유부터 Mac 환경에서 R을 사용하기 위한 기본 세팅들에 대해 다루고자 합니다. R에 대해.. R을 배우게 된 이유 제가 R을 배운 이유는 바로 제 복수전공인 빅데이터 전공에서 R을 다루기 때문인데요. 물론 모든 강의에서 다 R을 쓰지는 않고 파이썬을 쓰는 경우도 있습니다. (비율은 반반? 정도 되네요) 저는 사실 R을 배우기 전에 '굳이 범용성 좋은 Python이 있는데 R을 배울 필요가 있을까?'라는 생각을 했었는데요. 저도 아직 R에 대해 미숙하지만, Python과 R을 둘다 사용하면서 느낀 차이점을 간단하게 설명해보겠습니다. R은 통계 및 데이터 분석에 특화 R은 통계적인 분석에 강합니다. 벨연구소의 통계 분석 언어인 S에서 파생된 R은 당연하..
[R] R 시작하기(R을 배운 이유 + 기본 세팅 in Mac)안녕하세요! 이번 게시글에서는 제가 R을 배우게 된 이유부터 Mac 환경에서 R을 사용하기 위한 기본 세팅들에 대해 다루고자 합니다. R에 대해.. R을 배우게 된 이유 제가 R을 배운 이유는 바로 제 복수전공인 빅데이터 전공에서 R을 다루기 때문인데요. 물론 모든 강의에서 다 R을 쓰지는 않고 파이썬을 쓰는 경우도 있습니다. (비율은 반반? 정도 되네요) 저는 사실 R을 배우기 전에 '굳이 범용성 좋은 Python이 있는데 R을 배울 필요가 있을까?'라는 생각을 했었는데요. 저도 아직 R에 대해 미숙하지만, Python과 R을 둘다 사용하면서 느낀 차이점을 간단하게 설명해보겠습니다. R은 통계 및 데이터 분석에 특화 R은 통계적인 분석에 강합니다. 벨연구소의 통계 분석 언어인 S에서 파생된 R은 당연하..
2023.10.12 -
R 정리본 R에 대해 공부한 내용(R 기초, 시각화, 회귀 분석 등)을 한눈에 볼 수 있도록 정리한 게시글입니다. R 기초편 1. R 시작하기 (R이란? + 기본 세팅) [R] R 시작하기(R을 배운 이유 + 기본 세팅 in Mac) 2. R 패키지 다운 및 사용하기 [R] 패키지(외부 라이브러리) 다운 및 사용하기 3. R의 변수, 데이터 타입, 연산자 [R] R 기초 (변수, 기본 데이터 타입, 연산자) 4. R의 벡터 [R] 데이터 컬렉션 - 벡터 5. R 문법 [R] R 문법 6. R의 Data Structure (행렬, 배열, 리스트, 데이터 프레임) [R] 행렬과 배열 [R] 리스트 [R] 데이터 프레임 7. apply 계열 함수 [R] apply 계열 함수 - apply, lapply, sa..
[R] R 정리본R 정리본 R에 대해 공부한 내용(R 기초, 시각화, 회귀 분석 등)을 한눈에 볼 수 있도록 정리한 게시글입니다. R 기초편 1. R 시작하기 (R이란? + 기본 세팅) [R] R 시작하기(R을 배운 이유 + 기본 세팅 in Mac) 2. R 패키지 다운 및 사용하기 [R] 패키지(외부 라이브러리) 다운 및 사용하기 3. R의 변수, 데이터 타입, 연산자 [R] R 기초 (변수, 기본 데이터 타입, 연산자) 4. R의 벡터 [R] 데이터 컬렉션 - 벡터 5. R 문법 [R] R 문법 6. R의 Data Structure (행렬, 배열, 리스트, 데이터 프레임) [R] 행렬과 배열 [R] 리스트 [R] 데이터 프레임 7. apply 계열 함수 [R] apply 계열 함수 - apply, lapply, sa..
2023.10.12 -
이번 학기에 [자성재료]라는 전공수업을 듣게 되었는데요. 이 과목에서는 특이하게도 총 3번의 팀프로젝트를 진행합니다. 교수님께서 문제와 실험 조건을 알려주시면, 그에 맞게 직접 실험을 설계, 수행, 발표를 하는데요. 이번 게시글에서는 첫번째 팀 프로젝트에서 제가 맡은 간단한 시뮬레이션(?) 프로그램을 만든 경험에 대해 정리해보고자 합니다. 1. 문제 정의 및 개발 동기 1-1. 문제 정의 이번 프로젝트 문제는 크게 단일 코일과 Helmholtz Coil(2개의 코일)를 우리가 원하는 H(Magnetic Field Strength) 값을 얻도록 설계하는 것입니다. (단, 설계조건은 1A 이하, 코일의 지름 5cm 이상) Problem 1. 단일 코일 디자인 코일 중심부의 자기력(Magnetic field ..
[Project] Helmholtz Coil Simulator 구현이번 학기에 [자성재료]라는 전공수업을 듣게 되었는데요. 이 과목에서는 특이하게도 총 3번의 팀프로젝트를 진행합니다. 교수님께서 문제와 실험 조건을 알려주시면, 그에 맞게 직접 실험을 설계, 수행, 발표를 하는데요. 이번 게시글에서는 첫번째 팀 프로젝트에서 제가 맡은 간단한 시뮬레이션(?) 프로그램을 만든 경험에 대해 정리해보고자 합니다. 1. 문제 정의 및 개발 동기 1-1. 문제 정의 이번 프로젝트 문제는 크게 단일 코일과 Helmholtz Coil(2개의 코일)를 우리가 원하는 H(Magnetic Field Strength) 값을 얻도록 설계하는 것입니다. (단, 설계조건은 1A 이하, 코일의 지름 5cm 이상) Problem 1. 단일 코일 디자인 코일 중심부의 자기력(Magnetic field ..
2023.10.11 -
Obsidian을 입문하게 된 이유 Obsidian을 입문하기 전에.. 안녕하세요! 최근에 니콜라스 쌤의 Obsidian 영상을 보고난 후, Obsidian에 처음 접하게 되었는데요. 한 동안 Obsidian을 직접 이리저리 배워보고 지금은 Obsidian의 매력에 완전히 빠져들게 되었습니다! 그런데 처음 Obsidian을 배우면서 많은 어려움이 있었는데요. 대표적으로 한국어로 된 Obsidian에 대한 자료들이 많이 부족하다고 느꼈습니다. 그래서 이번에 제가 시행착오를 겪었던 경험들을 공유하여 조금이라도 더 많은 분들께서 쉽게 Obsidian에 입문했으면 합니다. 완벽하게 사용하기 위해 한 번에 많이 배우는 것보다는 차근차근 자기가 필요한 기능들을 하나씩 알아가자고 말씀드리고 싶습니다! 저도 처음에 막..
[Obsidian] 옵시디언을 쓰는 이유 (vs Notion)Obsidian을 입문하게 된 이유 Obsidian을 입문하기 전에.. 안녕하세요! 최근에 니콜라스 쌤의 Obsidian 영상을 보고난 후, Obsidian에 처음 접하게 되었는데요. 한 동안 Obsidian을 직접 이리저리 배워보고 지금은 Obsidian의 매력에 완전히 빠져들게 되었습니다! 그런데 처음 Obsidian을 배우면서 많은 어려움이 있었는데요. 대표적으로 한국어로 된 Obsidian에 대한 자료들이 많이 부족하다고 느꼈습니다. 그래서 이번에 제가 시행착오를 겪었던 경험들을 공유하여 조금이라도 더 많은 분들께서 쉽게 Obsidian에 입문했으면 합니다. 완벽하게 사용하기 위해 한 번에 많이 배우는 것보다는 차근차근 자기가 필요한 기능들을 하나씩 알아가자고 말씀드리고 싶습니다! 저도 처음에 막..
2023.10.11 -
Obsidian 정리본 Obsidian에 대해 공부한 내용(기본 세팅부터 다양한 플러그인, 유용한 팁 등)을 한눈에 볼 수 있도록 정리한 게시글입니다. 해당 게시글은 기존 외부링크와 블로그 게시글로 구성되어있습니다. 1. Obsidian 시작하기 옵시디언을 쓰는 이유 (vs Notion) Obsidian 설치하기 추천하는 옵시디언 튜토리얼 사이트 옵시디언도 이미 유튜브나 구글에 검색해보면 많은 자료들을 찾아볼 수 있는데요. 그 중에서도 제가 옵시디언을 익히는데 도움이 많이 되었던 사이트들을 추천해드리겠습니다. 1. 이토록 쉬운 옵시디언 (Tistory) 'Obsidian' 카테고리의 글 목록 Obsidian 옵시디언으로 만드는 나만의 지식베이스 olait.tistory.com 2. 작가의 방 (유튜브) ..
[Obsidian] Obsidian 정리본Obsidian 정리본 Obsidian에 대해 공부한 내용(기본 세팅부터 다양한 플러그인, 유용한 팁 등)을 한눈에 볼 수 있도록 정리한 게시글입니다. 해당 게시글은 기존 외부링크와 블로그 게시글로 구성되어있습니다. 1. Obsidian 시작하기 옵시디언을 쓰는 이유 (vs Notion) Obsidian 설치하기 추천하는 옵시디언 튜토리얼 사이트 옵시디언도 이미 유튜브나 구글에 검색해보면 많은 자료들을 찾아볼 수 있는데요. 그 중에서도 제가 옵시디언을 익히는데 도움이 많이 되었던 사이트들을 추천해드리겠습니다. 1. 이토록 쉬운 옵시디언 (Tistory) 'Obsidian' 카테고리의 글 목록 Obsidian 옵시디언으로 만드는 나만의 지식베이스 olait.tistory.com 2. 작가의 방 (유튜브) ..
2023.09.25 -
안녕하세요. 오늘은 맥, 아이패드, 아이폰 등 애플 제품을 사용하는 분들에게 추천하는 앱을 하나 알려드리고자 합니다. 바로 `Aiko`라는 앱인데요. 이 앱은 OpenAI(ChatGPT 만든 회사)의 Whisper라는 모델을 이용하여 자동으로 MP3 파일에서 텍스트를 추출합니다. 어떻게 사용하는지 알아보겠습니다. How to use? 먼저, App store에 접속 후 `Aiko`를 검색합니다. 참고로 Aiko 앱의 크기는 2GB로 네트워크 상황에 따라 설치하는데 시간이 오래 걸릴 수 있습니다. 설치를 완료한 후 앱을 실행하면 위 화면이 뜨는데요. Open 버튼을 클릭 후 MP3 파일을 열면 자동으로 텍스트 변환을 시작합니다. MP3 파일의 크기, 사용하는 기기에 따라 변환 시간이 달라집니다. 자신의 기..
[App] MP3 파일을 텍스트로 변환하는 앱 (Aiko)안녕하세요. 오늘은 맥, 아이패드, 아이폰 등 애플 제품을 사용하는 분들에게 추천하는 앱을 하나 알려드리고자 합니다. 바로 `Aiko`라는 앱인데요. 이 앱은 OpenAI(ChatGPT 만든 회사)의 Whisper라는 모델을 이용하여 자동으로 MP3 파일에서 텍스트를 추출합니다. 어떻게 사용하는지 알아보겠습니다. How to use? 먼저, App store에 접속 후 `Aiko`를 검색합니다. 참고로 Aiko 앱의 크기는 2GB로 네트워크 상황에 따라 설치하는데 시간이 오래 걸릴 수 있습니다. 설치를 완료한 후 앱을 실행하면 위 화면이 뜨는데요. Open 버튼을 클릭 후 MP3 파일을 열면 자동으로 텍스트 변환을 시작합니다. MP3 파일의 크기, 사용하는 기기에 따라 변환 시간이 달라집니다. 자신의 기..
2023.09.24 -
어느날 vscode 를 쓰다가 위 사진처럼 한글 입력이 이상하게 되는 현상이 일어나기 시작했는데요. 처음에는 이게 Vim plugin 문제인지 모르고 vscode 세팅 값을 바꾸고 여러 plugin들을 재설치 해보는등 삽질을 했습니다. ㅠㅠ 그러다가 vim plugin을 끄면 해당 현상이 안 일어나는 것을 알게 되었는데요. (vim을 안 쓸수도 없고..) 제가 여러 삽질을 통해 알아낸 해결 방법은 간단합니다! vim 버전을 낮추시면 됩니다! 아마 2023년 9월 24일 기준 vim plugin의 최신 버전은 1.26.0 일텐데요. 해당 버전을 사용시에 한글 입력이 안되는 오류가 있습니다. 따라서, vim 버전을 `1.25.2`으로 낮추면 됩니다. 버전을 낮추는 방법은 다음과 같습니다. vscode를 실행..
[Vscode] 한글 입력이 안돼요. (Vim, Linux, Mac 사용자)어느날 vscode 를 쓰다가 위 사진처럼 한글 입력이 이상하게 되는 현상이 일어나기 시작했는데요. 처음에는 이게 Vim plugin 문제인지 모르고 vscode 세팅 값을 바꾸고 여러 plugin들을 재설치 해보는등 삽질을 했습니다. ㅠㅠ 그러다가 vim plugin을 끄면 해당 현상이 안 일어나는 것을 알게 되었는데요. (vim을 안 쓸수도 없고..) 제가 여러 삽질을 통해 알아낸 해결 방법은 간단합니다! vim 버전을 낮추시면 됩니다! 아마 2023년 9월 24일 기준 vim plugin의 최신 버전은 1.26.0 일텐데요. 해당 버전을 사용시에 한글 입력이 안되는 오류가 있습니다. 따라서, vim 버전을 `1.25.2`으로 낮추면 됩니다. 버전을 낮추는 방법은 다음과 같습니다. vscode를 실행..
2023.09.24