R 기초; 벡터 인덱싱
# 벡터 만들기
num <- 0:30
prime <- c(2, 3, 5, 7, 11, 13 17, 19)
prime[1]
[1] 2
prime[2]
[1] 3
prime[3]
[1] 5
prime[1:3]
[1] 2 3 5
prime[4:6]
[1] 7 11 13
prime[c(1, 1, 5, 5)]
[1] 2 2 11 11
prime[c(1, 3, 5, 7)]
[1] 2 5 11 17
prime[c(7, 5, 3, 1)]
[1] 17 11 5 2
indices <- c(1, 3, 5, 7)
prime[indices]
[1] 2 5 11 17
# 첫 번째 원소를 제외하기
prime[-1]
[1] 3 5 7 11 13 17 19
# 첫 번째부터 세 번째까지 제외하기
prime[-1:-3]
[1] 7 11 13 17 19
prime[-(1:3)]
[1] 7 11 13 17 19
length(prime)
[1] 8
prime[1:(length(prime)-1)]
[1] 2 3 5 7 11 13 17
prime[-length(prime)]
[1] 2 3 5 7 11 13 17
# 벡터 원소 수정하기
prime <- c(2, 4, 5, 7, 11, 14, 17, 18)
prime[2] <- 3
prime
[1] 2 3 5 7 11 14 17 18
prime[c(6,8)] <- c(13,19)
prime
[1] 2 3 5 7 11 13 17 19
prime <- c(2, 3, 5, 7, 11, 13, 17, 19)
length(prime)
[1] 8
prime[9] <- 23
prime
[1] 2 3 5 7 11 13 17 19 23
prime[c(10, 11)] <- c(29, 31)
prime
[1] 2 3 5 7 11 13 17 19 23 29 31
prime[15] <- 47
prime
[1] 2 3 5 7 11 13 17 19 23 29 31 NA NA NA 47
prime <- c(2, 3, 5, 7, 11, 13, 17, 19)
prime < 10
[1] TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE
prime[prime < 10]
[1] 2 3 5 7
prime %% 2 == 0
[1] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
prime[prime %% 2 == 0]
[1] 2
# 벡터의 인덱스 출력 함수 seq_along
seq_along(prime)
[1] 1 2 3 4 5 6 7 8
seq_along(prime) %% 2 == 0
[1] FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE
prime[seq_along(prime) %% 2 == 0]
[1] 3 7 13 19
prime[seq_along(prime) %% 3 == 0]
[1] 5 13
# prime(seq_along(prime) %% 2 == 0]와 동일
prime[c(FALSE, TRUE)]
[1] 3 7 13 19
# prime(seq_along(prime) %% 3 == 0]와 동일
prime[c(FALSE, FALSE, TRUE)]
[1] 5 13
which()
which.max()
which.min()
rainfall <- c(21.6, 23.6, 45.8, 77.0, 102.0, 133.3, 327.9, 348.0, 137.6, 49.3, 53.0, 24.9)
which(rainfall > 100)
[1] 5 6 7 8 9
month.name[which(rainfall > 100)]
[1] "May" "June" "July" "August" "September"
# rainfall이라는 벡터의 최대치의 인덱스를 반환
which.max(rainfall)
[1] 8
# rainfall이라는 벡터의 최소치의 인덱스를 반환
which.min(rainfall)
month.name[which.min(rainfall)]
[1] "January"
rainfall[rainfall > 100]
[1] 102.2 133.3 327.9 348.0 137.6
rainfall[which.max(rainfall)]
[1] 348
# 벡터의 각 원소에 이름 부여하기 using names()
traffic.death <- c(842, 729, 786, 751, 844, 851, 702)
names(traffic.death) <- c("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
traffic.death
Mon Tue Wed Thu Fri Sat Sun
842 729 786 751 844 851 702
traffic.death["Sat"]
Sat
851
weekend <- c("Fri", "Sat", "Sun")
traffic.death[weekend]
traffic.death > 800
traffic.death[traffic.death > 800]
Mon Fri Sat
842 844 851
names(traffic.death[traffic.death > 800]
[1] "Mon" "Fri" "Sat"
'공부 > R Programming' 카테고리의 다른 글
R 기초; 행렬 생성 (0) | 2021.01.03 |
---|---|
R 기초; 팩터 (0) | 2021.01.03 |
R 기초; 행렬 연산 (0) | 2021.01.02 |
R 기초; 벡터 함수 (0) | 2021.01.02 |
R 기초; 벡터 연산 (0) | 2021.01.01 |
댓글