R에서 c() 함수를 사용하여 두 벡터를 결합할 때 일어나는 일
벡터의 길이:
결합된 벡터의 길이는 두 원본 벡터의 길이의 합과 같습니다. 예를 들어, 길이가 5인 벡터 x
와 길이가 3인 벡터 y
를 결합하면 길이가 8인 벡터가 생성됩니다.
결합된 벡터의 요소는 원본 벡터의 요소 순서대로 나열됩니다. 먼저 x
벡터의 모든 요소가 추가되고 그 다음에 y
벡터의 모든 요소가 추가됩니다.
결합된 벡터의 유형은 두 원본 벡터의 유형 중 가장 일반적인 유형으로 결정됩니다. 예를 들어, x
벡터가 숫자형이고 y
벡터가 문자형이면 결합된 벡터는 문자형이 됩니다.
결측값:
두 원본 벡터 중 하나라도 결측값을 포함하면 결합된 벡터도 결측값을 포함합니다. 결측값은 결합된 벡터의 끝에 추가됩니다.
예시:
# 두 벡터 생성
x <- c(1, 2, 3)
y <- c("a", "b", "c")
# 두 벡터를 결합
z <- c(x, y)
# 결과 확인
print(z)
결과:
[[1] 1 2 3 "a" "b" "c"
참고:
c()
함수는 벡터뿐만 아니라 다른 객체도 결합하는 데 사용할 수 있습니다. 예를 들어, 리스트, 데이터 프레임, 매트릭스 등을 결합하는 데 사용할 수 있습니다.c()
함수는 빈 벡터를 생성하는 데에도 사용할 수 있습니다.c()
함수에 아무런 인수를 전달하지 않으면 빈 벡터가 생성됩니다.
예제 코드
예제 1: 숫자형 벡터 결합
# 두 숫자형 벡터 생성
x <- c(1, 2, 3)
y <- c(4, 5, 6)
# 두 벡터를 결합
z <- c(x, y)
# 결과 확인
print(z)
[[1] 1 2 3 4 5 6
# 두 문자형 벡터 생성
x <- c("a", "b", "c")
y <- c("d", "e", "f")
# 두 벡터를 결합
z <- c(x, y)
# 결과 확인
print(z)
[[1] "a" "b" "c" "d" "e" "f"
예제 3: 숫자형 벡터와 문자형 벡터 결합
# 숫자형 벡터와 문자형 벡터 생성
x <- c(1, 2, 3)
y <- c("a", "b", "c")
# 두 벡터를 결합
z <- c(x, y)
# 결과 확인
print(z)
[[1] 1 2 3 "a" "b" "c"
예제 4: 결측값 포함 벡터 결합
# 결측값 포함 벡터 생성
x <- c(1, 2, NA)
y <- c(3, NA, 5)
# 두 벡터를 결합
z <- c(x, y)
# 결과 확인
print(z)
[[1] 1 2 NA 3 NA 5
R에서 두 벡터를 결합하는 대체 방법
append() 함수:
append()
함수는 벡터의 끝에 다른 벡터를 추가하는 데 사용됩니다. 다음과 같이 사용합니다.
# 두 벡터 생성
x <- c(1, 2, 3)
y <- c(4, 5, 6)
# 벡터 x의 끝에 벡터 y를 추가
z <- append(x, y)
# 결과 확인
print(z)
[[1] 1 2 3 4 5 6
paste() 함수:
paste()
함수는 문자형 벡터를 결합하는 데 사용할 수 있습니다. 다음과 같이 사용합니다.
# 두 문자형 벡터 생성
x <- c("a", "b", "c")
y <- c("d", "e", "f")
# 두 벡터를 문자열로 결합
z <- paste(x, y, sep=", ")
# 결과 확인
print(z)
[1] "a, d" "b, e" "c, f"
rbind() 함수:
# 두 벡터 생성
x <- c(1, 2, 3)
y <- c(4, 5, 6)
# 두 벡터를 행으로 결합
z <- rbind(x, y)
# 결과 확인
print(z)
[,1] [,2] [,3]
[1,] 1 4 2
[2,] 2 5 3
do.call() 함수:
do.call()
함수는 임의의 함수를 호출하고 결과를 벡터로 반환하는 데 사용할 수 있습니다. 다음과 같이 사용합니다.
# 두 벡터 생성
x <- c(1, 2, 3)
y <- c(4, 5, 6)
# c() 함수를 호출하여 두 벡터를 결합
z <- do.call(c, list(x, y))
# 결과 확인
print(z)
[[1] 1 2 3 4 5 6
pmin() 및 pmax() 함수:
pmin()
및 pmax()
함수는 각 벡터의 요소별 최솟값 및 최댓값을 계산하는 데 사용할 수 있습니다. 다음과 같이 사용합니다.
# 두 벡터 생성
x <- c(1, 2, 3)
y <- c(4, 5, 6)
# 각 벡터의 요소별 최솟값 계산
z <- pmin(x, y)
# 결과 확인
print(z)
[[1] 1 2 3
# 각 벡터의 요소별 최댓값 계산
z <- pmax(x, y)
# 결과 확인
print(z)
[[1] 4 5 6
ifelse() 함수:
# 두 벡터 생성
x <- c(1, 2, 3)
y <- c(4, 5, 6)
# x 벡터의 요소가 y 벡터의 요소보다 크면 x 벡터의 요소를 선택하고, 그렇지 않으면 y 벡터의 요소를 선택
z <- ifelse(x > y, x, y)
# 결과 확인
print(z)
[[1] 4 5 6
purrr::map() 함수:
library(purrr)
# 두 벡터 생성
x <- c(1, 2, 3)
y <- c(4,
r