통계/R
R의 기본 개념, 예시코드와 알아보는 리스트(List)
MKKM
2023. 9. 8. 13:53
반응형
R 언어에서 리스트는 다양한 데이터 유형을 하나의 구조 안에 저장할 수 있어, 복잡하고 다양한 데이터를 효율적으로 관리할 수 있습니다. 또한, R에서 제공하는 다양한 함수들과의 호환성도 뛰어나, 데이터 분석 작업에 있어 중심적인 역할을 합니다.
목차
1. 리스트의 기본 개념
- 리스트란 무엇인가?: 리스트는 다양한 유형의 데이터(숫자, 문자열, 다른 리스트 등)를 한데 모아 저장할 수 있는 유용한 구조입니다.
- 기본 데이터 구조와의 차이점: 벡터는 동일한 유형의 항목만 저장할 수 있는 '상자'라면, 리스트는 여러 유형의 '물건'을 담을 수 있는 '상자'와 비슷합니다.
2. 리스트의 생성 및 수정
- 리스트 생성:
list()
함수를 사용하여 다양한 유형의 데이터를 하나의 리스트에 저장할 수 있습니다.
my_list <- list(1:5, "hello", c(TRUE, FALSE), 3.14)
- 리스트 결합: 여러 리스트를 하나로 결합하려면
c()
함수를 사용합니다.
list1 <- list(a = 1, b = 2)
list2 <- list(c = 3, d = 4)
combined_list <- c(list1, list2)
- 리스트의 원소에 이름 붙이기: 리스트의 각 원소에 이름을 붙여서 쉽게 참조할 수 있습니다.
named_list <- list(name = "John", age = 30, city = "New York")
3. 리스트 내의 데이터 접근
- 인덱싱과 서브셋: 리스트에서 특정 항목을 선택하려면 인덱싱을 사용합니다.
[[
는 항목 자체를,[
는 항목의 서브셋을 반환합니다.
my_list[[2]] # "hello"
my_list[1:3] # 처음 세 항목의 서브셋
- $를 사용한 원소 접근: 이름이 있는 항목을 참조할 때는
$
기호를 사용할 수 있습니다.
named_list$name # "John"
4. 리스트 조작하기
- 리스트 내 원소 추가: 원하는 위치에 새로운 항목을 추가할 수 있습니다.
my_list$new_item <- "new element"
- 리스트의 길이 조절하기: 리스트의 길이를 늘리거나 줄일 수 있습니다.
length(my_list) <- 10 # list 길이를 10으로 조절
- unlist() 함수를 이용한 리스트 해제: 리스트의 구조를 해제하고 벡터로 변환하려면
unlist()
를 사용합니다.
unlisted <- unlist(my_list)
5. 리스트의 응용
- 중첩된 리스트: 리스트 내에 또 다른 리스트를 저장할 수 있습니다.
nested_list <- list(list1 = list(a = 1, b = 2), list2 = list(c = 3, d = 4))
- 리스트를 이용한 데이터 프레임의 조작: 리스트 구조는 데이터 프레임의 열을 분할할 때 유용합니다.
df <- data.frame(id = 1:3, name = c("A", "B", "C"))
list_df <- split(df, df$id)
- lapply() 함수 예시: 리스트의 각 항목에 함수를 적용하려면
lapply()
를 사용합니다.
result <- lapply(my_list, length)
6. 실제 사례로 배우는 리스트 활용
- 리스트 생성 및 조작 예제: 개인의 정보와 기술을 저장하는 리스트를 만들고 기술을 추가하는 예제입니다.
person <- list(name = "Anna", age = 28, skills = c("R", "Python"))
person$skills <- c(person$skills, "SQL")
- 통계 및 데이터 분석에서의 리스트 활용: 여러 모델의 결과를 한곳에 저장할 때 리스트는 매우 유용합니다.
models <- list(
linear_model = lm(mpg ~ wt, data = mtcars),
log_model = glm(vs ~ wt, family = binomial, data = mtcars)
)
아래 포스팅도 참고해 보세요! ▶ RStudio 단축키 모음 ▶ [R] ggplot2로 쉽게 데이터 시각화하기 ▶ R에서 데이터 정렬하는 방법 ▶ R에서 그룹별 합계와 평균 구하기 |
반응형