R/R basic

열(column) 새롭게 추가하기

시키테이 2020. 5. 3. 07:55
반응형

R에서 열(column)을 더하는 법은 여러가지가 있습니다. 우선 그냥 데이터프레임 하에서 간단하게 하려면 <- 만 해주면 됩니다. 예를 들어 df라는 데이터에서 특정 열 (arr_delay라는 이름을 가지고 있다고 가정하고) 이 값의 2배를 새 칼럼으로 지정하고 싶다고 하면, 

df$new_col <- 2*df$arr_delay

같은 내용이지만 아래처럼 해도 무방합니다. ''를 넣느냐 안 넣느냐의 차이 정도인 것 같네요. 

df[ , 'new_col'] <- 2*df$arr_delay

dplyr 체제 안에서는 mutate라는 명령어를 주로 씁니다. 아래 첫번째는 그냥 두 배하라는 얘기가, 두번째는 열끼리 뺀 값을 새 열로 만들라는 뜻입니다. 

library(dplyr)
mutate(df, new_col=2*arr_delay)
mutate(df, new_col=arr_delay-dep_delay)

dplyr mutate가 좋긴 한데, 쉽게 만들려면 맨 위처럼 하는 게 더 손쉬울 것 같긴 하구요. 참고로 dplyr에 transmute라는 명령어도 있는데, mutate와 완전히 같은 기능이긴 합니다만, 기존 열을 제거하고 새로 만든 열만 keep하는 기능을 갖고 있습니다. 기존 열을 굳이 삭제할 필요는 없기 때문에 transmute는 생각보다 많이 쓰이진 않습니다. 

반응형