상세 컨텐츠

본문 제목

R Scripts : 3. 리스트 (List)

빅데이터/R Fundamentals with Database

by datasa 2023. 10. 6. 09:38

본문

[img] https://www.javatpoint.com

 

# III. List ----

## 1. Vector ----

# 1) numeric vector
v1  <- sample(1:15, 5, replace = T)
class(v1)

# 2) character vector
v2 <- sample(c("a","z","b","c","q"), 5, replace = T)
class(v2)

# 3) named vector
v3 <- c(n=1, m=2, a=3)
class(v3)

# 4) list
list4 <- list(nn=v1, mm=v2, aa=v3)
class(list4)

# raw data 확인
View(v1);View(v2);View(v3)
View(list4)

## 2. list ----
#+ key와 value 형태로 관리하는 연관배열
#+ 다중형 : 서로 다른 데이터 타입 저장 가능
#+ list(key 키 = value 값)  **
#+ list(element 원소 = item 아이템)

xx1 <- list(name="유진우" , height=188)
class(xx1);xx1;View(xx1)
xx1$name
xx1$height

## 3. list insert ----

# 1) key와 value insert
# age = NA
xx2 <- c(xx1, list(age=NA))
View(xx2)

# addr = 창곡동
xx3 <- c(xx2, list(addr="창곡동"));xx3
class(xx3)
View(xx3)

# 특정 방의 값 조회
xx3$name
xx3[1]

xx3[4]
xx3[4] |> class()
xx3[[4]] |> class()
xx3$addr |> class()

# Test insert
xx3[1]
temp1 <- c(xx3[1],"권기범")
class(temp1)
View(temp1)

xx3[[1]]
temp2 <- c(xx3[[1]],"권기범")  # *
class(temp2)
View(temp2)

# 2) value만 추가

xx3
xx3[[1]] <- c(xx3[[1]],"권기범","안태환")
xx3[[2]] <- c(xx3[[2]],178,192)
xx3[[3]] <- c(xx3[[3]],32,39)
xx3[[4]] <- c(xx3[[4]],"신도림",NA)

## 4. list selection  ----

xx3
xx3[1] |> length()
xx3[[1]] |> length()

# 권기범만 조회
xx3
xx3[1]
xx3[[1]][2]

# 창곡동만 조회
xx3
xx3[4]
xx3[[4]][1]

## 5. list update ----
# 유진우: 62
# 안태환: 강변

xx3[3]
xx3[[3]]
xx3[[3]][1] <- 62

xx3[4]
xx3[[4]]
xx3[[4]][3] <- "강변"

## 6. list delete ----
# delete : data를 상대   **
# drop : 구조정보를 상대 ***

names(xx3)
xx4 <- xx3

# 구조정보에서 저장공간을 삭제 (drop)
names(xx4)
xx4
xx4[3]
xx4[3] <- NULL

# data만 삭제 (delete)
xx4
xx4[2]
xx4[2] <- NA

# 안태환 이사감, 그러나 정보공개 거부(NA)
xx4
xx4[3]
xx4[[3]]
xx4[[3]][3] <- NA

# 요약
summary(xx4)
summary(xx3)
View(xx4)

## 7. key값 변경 ----

# 1) 전체 변경
xx5 <- xx3
xx5
names(xx5) <- c("full_name","ht","at","address")
names(xx5)
xx5

# 2) 일부만 변경
# at => MBTI 변경

names(xx5)[3] <- "MBTI"
names(xx5)

# full_name => f_name
# address => addr
xx5
names(xx5)[c(1,4)] <- c("f_name","addr")
names(xx5)

'빅데이터 > R Fundamentals with Database' 카테고리의 다른 글

R Scripts : 2. 함수 (Function)  (0) 2023.10.06
R Scripts : 1. 변수 (Variables)  (1) 2023.10.04
RF7_Test dataset sample  (0) 2023.09.15

관련글 더보기

댓글 영역