R 빈 열 추가 - R bin yeol chuga

R 데이터프레임 행 열(파생변수) 추가하기 add row, column to dataframe

R에서 데이터프레임에 파생변수(컬럼)을 추가하는 방법을 알아보겠습니다.

열(파생변수) 추가 add column

아래와 같이 알바생의 시급과 주간 근무시간이 있는 데이터프레임 예로 들겠습니다.

df_ex <- data.frame(이름 = c("알바생1", "알바생2", "알바생3"),
                    시급 = c(9000, 9500, 10000),
                    주간근무시간 = c(32, 15, 28))
View(df_ex)
R 빈 열 추가 - R bin yeol chuga

여기에 알바생에게 주어야할 '주급' 컬럼을 추가해보도록 하죠.

각 컬럼에 접근하는 방법은 아래의 link를 확인하세요.

Link : https://aljjabaegi.tistory.com/515

R 데이터분석 DB table 처럼 만들어 보자 data.frame 데이터 프래임

R 데이터분석 DB table 처럼 만들어 보자 data.frame 데이터 프래임 DB 테이블 처럼 row 와 column 이 있는 데이터셋이 R에서는 data frame 입니다. row는 vectors의 데이터가, cloumn명은 vectors의 이름이 되는..

aljjabaegi.tistory.com

R 빈 열 추가 - R bin yeol chuga

데이터프레임에 '$' 을 붙이고 추가하길 원하는 컬럼명(파생변수명)을 입력하면 없는 컬럼의 경우 생성이 됩니다.

있는 변수의 경우는 update.

df_ex$주급 <- df_ex$시급*df_ex$주간근무시간
View(df_ex)

위와같이 데이터프레임명$추가할컬럼명 <- 추가하길원하는데이터 를 선언해주시면 됩니다.

R 빈 열 추가 - R bin yeol chuga

View(df_ex)로 확인하시면 주급 컬럼이 추가된 것을 확인하실 수 있습니다.

행 추가 add row

rbind()

df_ex2 <- data.frame(이름="알바생4", 시급=9200, 주간근무시간=40, 주급=9200*40)
df_ex <- rbind(df_ex, df_ex2)
View(df_ex)

위의 코드를 보시면 df_ex2 라는 데이터프레임을 하나 만들어 

rbind() 함수를 사용하여 df_ex, df_ex2 를 합칩니다. 결과를 보시죠.

R 빈 열 추가 - R bin yeol chuga

'알바생4' 가 추가된 것을 확인하실 수 있습니다.

주의 하셔야 될 점은 rbind() 사용시 구조가 일치해야 합니다.

데이터프레임을 컨트롤 할 수 있는 패키지의 함수를 사용하면 보다 쉽게 행, 열을 추가 삭제 할 수 있습니다.

이 내용은 다음 포스팅에서 알아보도록 하겠습니다.

참고) row index를 사용한 행 삭제

df_ex <- df_ex[-c(4), ]

알바생4 row 삭제

이번에는 R 데이터프레임에 대해 알아볼 것인데요.
데이터프레임은 R에서 가장 많이 쓰고 중요한 데이터 구조입니다.
지난 포스팅에서 데이터프레임에 대해 간단하게 다루었는데, 이번 글은 데이터프레임만을 다루는 주제로 정했습니다.

R 빈 열 추가 - R bin yeol chuga

2. 데이터프레임 행(row) 추가

2.1. 행 추가 방법

이제 위에서 만든 test라는 데이터에 행을 추가할 것입니다.

변수에 4와 11을 각각 추가하여 네번째 행을 만들어봅시다.

# 4행에 데이터 추가하기
# test[4, ] 은 test의 4번째 행을 가리키는 표현입니다.

test[4, ] <- c(4, 11)
test

R 빈 열 추가 - R bin yeol chuga

3. 데이터프레임 열(column) 추가

데이터프레임의 열 추가도 위와 비슷한 방식으로 하면 됩니다.

test데이터에 var100 이라는 변수에 100, 200, 300, 400을 추가하고 싶습니다.

test[ , "var100" ] <- c(100,200,300,400)
test

R 빈 열 추가 - R bin yeol chuga

4. 데이터프레임 열 삭제

변수 생성이 있으면 삭제하는 방법도 있습니다.
test 데이터에서 var1 변수를 제거하려면 -색인명을 붙여주면 됩니다.

# test[  , -1] 은 첫번째 열을 삭제를 의미함
test[  ,-1]

R 빈 열 추가 - R bin yeol chuga

위와 같은 방법도 있고 남겨놓을 열을 선택하는 방법도 있습니다.

다수의 열을 남겨 놓을 때는 벡터를 이용합니다!

# 두번째, 세번째 열을 선택
test[  ,c(2,3) ]

R 빈 열 추가 - R bin yeol chuga

# 연속적으로 열을 선택 또는 삭제는 : 를 이용할 수 있음
test[  , 2:3]

R 빈 열 추가 - R bin yeol chuga

4. 데이터프레임 행 삭제

행 삭제도 위와 같은 방식으로 비슷하게 진행합니다.

# test[ -1, ] 은 첫번째 행 삭제를 의미함
test[ -1, ]

R 빈 열 추가 - R bin yeol chuga

# test[ c(2,3,4) , ] 은 2~4행 선택을 의미함
test[ c(2,3,4), ]

R 빈 열 추가 - R bin yeol chuga


# 연속적으로 행을 선택 또는 삭제는 : 를 이용할 수 있음
test[2:4, ]

R 빈 열 추가 - R bin yeol chuga

행/열 추가 및 삭제는 dplyr 패키지를 이용하거나 subset 함수를 이용하여 할 수도 있습니다.

포스팅 해놓았으니 관심있으신 분들은 함께 봐주세요.

다른 함수를 이용해 행/열을 다룰 수 있지만, 이번에 소개한 방법이 가장 기본이 되는 것이기 때문에 꼭 숙지하시기 바랍니다!