R 기초 - 11. ggplot2 시각화 심화
·
BI&Programming-Tools/R
이전 글에서 기본 그래프 유형을 다뤘고, 이번에는 밀도 플롯, 히트맵, 패싯, 통계적 요소, 좌표계 설정, 그래프 꾸미기에 대한 내용을 정리합니다.예제 데이터는 계속 mtcars 데이터셋을 사용합니다.library(ggplot2)data(mtcars) Density Plot: geom_density()히스토그램의 연속적인 버전입니다.데이터의 분포를 부드러운 곡선으로 보여줍니다.ggplot(mtcars, aes(x = mpg)) + geom_density()# fill로 채우기ggplot(mtcars, aes(x = mpg)) + geom_density(fill = "steelblue", alpha = 0.5)그룹별로 비교할 때 히스토그램보다 겹쳐서 보기 편합니다.ggplot(mtcars, ae..
[R 기초] 10. ggplot2 시각화 기초
·
BI&Programming-Tools/R
ggplot2는 tidyverse에 포함된 시각화 패키지입니다.그래프의 문법(Grammar of Graphics)을 기반으로 설계되어, 그래프를 레이어를 쌓는 방식으로 구성합니다.ggplot2의 구조를 이해하면 다양한 그래프를 일관된 방식으로 만들 수 있습니다.library(ggplot2)# 또는library(tidyverse) 기본 문법ggplot2 그래프는 세 가지 핵심 요소로 구성됩니다.ggplot(data = df, aes(x = 열이름, y = 열이름)) + geom_*(옵션)ggplot(): 그래프의 기반을 설정합니다. 사용할 데이터와 전역 심미적 매핑을 지정합니다.aes(): 데이터의 열을 시각적 요소(x축, y축, 색상, 크기 등)에 매핑합니다.geom_*(): 어떤 종류의 그래프를 ..
[R 기초] 9. Tidyverse
·
BI&Programming-Tools/R
tidyverse는 데이터 분석에 필요한 패키지들을 하나로 묶어 놓은 패키지 묶음입니다.ggplot2, dplyr, tidyr, readr, tibble 등이 포함되어 있으며, 일관된 문법과 파이프 연산자를 기반으로 데이터 불러오기부터 전처리, 시각화까지 하나의 흐름으로 이어서 작성할 수 있습니다.install.packages("tidyverse")library(tidyverse) 파이프 연산자파이프 연산자는 앞 함수의 결과를 다음 함수의 첫 번째 인자로 전달합니다.# 파이프 없이result abs() |> sqrt() |> sum() 두 종류가 있습니다.%>%: magrittr 파이프. tidyverse를 불러오면 사용 가능합니다.|>: R 4.1 이상에서 도입된 기본 파이프. 별도 패키지 없이 사용..
[R 기초] 8. 데이터 전처리
·
BI&Programming-Tools/R
실제 분석 데이터를 불러와서 R에서 확인하고, 필터링하고, 저장하는 전처리 흐름을 정리합니다.데이터 불러오기read.csv()쉼표로 구분된 CSV 파일을 읽습니다.df read.table()구분자를 직접 지정할 수 있는 범용 함수입니다.read.csv()도 내부적으로 read.table()을 사용합니다.df read.delim()탭으로 구분된 파일을 읽는 데 특화된 함수입니다.df 세 함수의 차이는 기본 구분자와 기본 옵션 값의 차이입니다.보통 CSV는 read.csv(), TSV는 read.delim(), 그 외는 read.table()로 구분해서 씁니다.데이터 확인일부 확인head(df) # 상위 6행 (기본값)head(df, 10) # 상위 10행tail(df, 3) # 하..
[R 기초] 7. 제어문과 함수
·
BI&Programming-Tools/R
조건문if / else if / elsex = 30) { print("high coverage")} else if (x >= 20) { print("moderate coverage")} else { print("low coverage")}# "moderate coverage" 조건식은 반드시 단일 논리값이어야 합니다.벡터를 조건에 넣으면 첫 번째 원소만 사용되고 경고가 발생합니다.x 20) print("ok") # 경고: x[1]만 사용됨 R에서 if 블록은 값을 반환합니다.변수에 바로 할당할 수 있습니다.status = 30) "high" else "low"ifelse()벡터 단위로 조건을 처리할 때 사용합니다.x = 30, "high", "low")# "high" "low" ..
[R 기초] 6. 데이터 구조 (행렬, 데이터프레임)
·
BI&Programming-Tools/R
행렬 (Matrix)행렬은 같은 타입의 값으로 이루어진 2차원 구조입니다.벡터를 행과 열로 배열한 것으로, 수치 계산이나 발현량 행렬처럼 동일한 타입의 데이터를 표 형태로 다룰 때 사용합니다.행렬 생성# matrix(): 벡터를 행렬로 변환m 기본적으로 열 방향(column-wise)으로 값이 채워집니다. 행 방향으로 채우려면 byrow = TRUE를 지정합니다.matrix(1:12, nrow = 3, byrow = TRUE)# [,1] [,2] [,3] [,4]# [1,] 1 2 3 4# [2,] 5 6 7 8# [3,] 9 10 11 12rbind(), cbind()로 생성row1 행렬 인덱싱[행, 열] 형태로 접근합니다.m 데..
[R 기초] 5. 데이터 구조 (벡터, 팩터, 리스트)
·
BI&Programming-Tools/R
벡터 (Vector)벡터는 R에서 가장 기본이 되는 데이터 구조입니다.같은 타입의 값들을 순서대로 담는 1차원 구조이며, R의 모든 단일 값도 사실 길이 1짜리 벡터입니다.벡터 생성# c(): 값을 직접 나열x 벡터에 타입이 다른 값을 섞으면 하나의 타입으로 강제 변환됩니다.우선순위는 logical c(1, "hello", TRUE) # "1" "hello" "TRUE" (모두 character로 변환)c(1, TRUE, FALSE) # 1 1 0 (logical → numeric) 팩터 (Factor)팩터는 범주형 데이터를 표현하는 자료구조입니다.내부적으로는 정수로 저장되지만, 각 정수에 레벨(level)이라는 이름이 붙어 있습니다.통계 분석에서..
[R 기초] 4. 논리형과 결측값
·
BI&Programming-Tools/R
비교 연산자두 값을 비교해서 TRUE 또는 FALSE를 반환합니다.3 == 3 # TRUE 같다3 != 5 # TRUE 같지 않다3 > 5 # FALSE 크다3 = 3 # TRUE 크거나 같다3 벡터에 비교 연산을 하면 원소별로 결과가 반환됩니다.x 3 # FALSE TRUE FALSE TRUE FALSEx == 5 # FALSE TRUE FALSE FALSE FALSE 문자열 비교도 가능합니다.알파벳 순서를 기준으로 비교합니다."apple" == "apple" # TRUE"apple" 논리 연산자벡터 단위 연산: &, |, !TRUE & FALSE # FALSE (AND: 둘 다 TRUE여야 TRUE)TRUE | FA..
[R 기초] 3. 수와 문자 다루기
·
BI&Programming-Tools/R
산술 연산자10 + 3 # 1310 - 3 # 710 * 3 # 3010 / 3 # 3.333...10 ^ 2 # 100 (거듭제곱)10 %% 3 # 1 (나머지)10 %/% 3 # 3 (정수 나눗셈, 몫) 파이썬과 다른 점은 거듭제곱이 ** 대신 ^라는 것입니다. (** 연산자가 없는 것은 아님.) %%와 %/%는 파이썬의 %, //에 해당합니다. 벡터에 산술 연산을 하면 각 원소에 자동으로 적용됩니다.x 수 관련 기본 함수abs(-5) # 5 절댓값sqrt(16) # 4 제곱근round(3.567, 2) # 3.57 반올림 (자릿수 지정)ceiling(3.2) # 4 ..
[R 기초] 2. 변수와 데이터 타입
·
BI&Programming-Tools/R
변수 할당 연산자R에서 변수에 값을 할당하는 방법은 세 가지입니다.x x # 오른쪽 방향 할당, 거의 쓰지 않음 셋 다 동작하지만 R에서는 =는 함수 인자를 전달할 때 사용하는 기호와 겹쳐서 코드가 길어지면 헷갈릴 수 있습니다.RStudio에서는 Alt + - (Mac: Option + -) 단축키로 =와 # 함수 호출 시 = 는 인자 전달로만 동작mean(x = c(1, 2, 3)) # x는 전역 환경에 저장되지 않음# 일반적으로는 변수명 규칙my_var R은 대소문자를 구분합니다.Value와 value는 서로 다른 변수입니다.파이썬과 마찬가지로 스네이크 케이스(my_var)를 권장하는 편이지만, R 코드에서는 점(.)을 구분자로 쓰는 방식(my.var)도 흔하게 볼 수 있습니다..
[R 기초] 1. R 개념과 RStudio 환경
·
BI&Programming-Tools/R
R이란R은 통계 계산과 데이터 시각화를 위해 만들어진 프로그래밍 언어입니다.1990년대 초 뉴질랜드 오클랜드 대학교에서 S 언어를 기반으로 개발됐고, 현재는 오픈소스로 전 세계에서 활발하게 사용됩니다. 데이터 분석 언어로는 파이썬과 함께 가장 많이 쓰이는데, 분야마다 주력 언어가 조금씩 다릅니다.통계학, 역학, 임상 연구 쪽에서는 R이 표준에 가깝고, 머신러닝이나 소프트웨어 엔지니어링 쪽으로 갈수록 파이썬 비중이 높아지는 편입니다. 생물정보학에서 R을 많이 쓰는 이유는 Bioconductor 때문이라고 해도 과언이 아닙니다.Bioconductor는 RNA-seq, 마이크로어레이, ChIP-seq, 단일 세포 분석 등 유전체 데이터 분석에 특화된 패키지를 2000개 이상 제공하는 저장소입니다.DESeq2,..