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)여기에 알바생에게 주어야할 '주급' 컬럼을 추가해보도록 하죠.
각 컬럼에 접근하는 방법은 아래의 link를 확인하세요.
Link : //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
데이터프레임에 '$' 을 붙이고 추가하길 원하는 컬럼명(파생변수명)을 입력하면 없는 컬럼의 경우 생성이 됩니다.
있는 변수의 경우는 update.
위와같이 데이터프레임명$추가할컬럼명 <- 추가하길원하는데이터 를 선언해주시면 됩니다.
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 를 합칩니다. 결과를 보시죠.
'알바생4' 가 추가된 것을 확인하실 수 있습니다.
주의 하셔야 될 점은 rbind() 사용시 구조가 일치해야 합니다.
데이터프레임을 컨트롤 할 수 있는 패키지의 함수를 사용하면 보다 쉽게 행, 열을 추가 삭제 할 수 있습니다.
이 내용은 다음 포스팅에서 알아보도록 하겠습니다.
참고) row index를 사용한 행 삭제
df_ex <- df_ex[-c(4), ]알바생4 row 삭제
이번에는 R 데이터프레임에 대해 알아볼 것인데요.
데이터프레임은 R에서 가장 많이 쓰고 중요한 데이터 구조입니다.
지난 포스팅에서 데이터프레임에 대해 간단하게 다루었는데, 이번 글은 데이터프레임만을 다루는 주제로 정했습니다.
2. 데이터프레임 행(row) 추가
2.1. 행 추가 방법
이제 위에서 만든 test라는 데이터에 행을 추가할 것입니다.
변수에 4와 11을 각각 추가하여 네번째 행을 만들어봅시다.
# 4행에 데이터 추가하기
# test[4, ] 은 test의 4번째 행을 가리키는 표현입니다.
test[4, ] <- c(4, 11)
test
3. 데이터프레임 열(column) 추가
데이터프레임의 열 추가도 위와 비슷한 방식으로 하면 됩니다.
test데이터에 var100 이라는 변수에 100, 200, 300, 400을 추가하고 싶습니다.
test[ , "var100" ] <- c(100,200,300,400)
test
4. 데이터프레임 열 삭제
변수 생성이 있으면 삭제하는 방법도 있습니다.
test 데이터에서 var1 변수를 제거하려면 -색인명을 붙여주면 됩니다.
# test[ , -1] 은 첫번째 열을 삭제를 의미함
test[ ,-1]
위와 같은 방법도 있고 남겨놓을 열을 선택하는 방법도 있습니다.
다수의 열을 남겨 놓을 때는 벡터를 이용합니다!
# 두번째, 세번째 열을 선택
test[ ,c(2,3) ]
# 연속적으로 열을
선택 또는 삭제는 : 를 이용할 수 있음
test[ , 2:3]
4. 데이터프레임 행 삭제
행 삭제도 위와 같은 방식으로 비슷하게 진행합니다.
# test[ -1, ] 은 첫번째 행 삭제를 의미함
test[ -1, ]
# test[
c(2,3,4) , ] 은 2~4행 선택을 의미함
test[ c(2,3,4), ]
# 연속적으로
행을 선택 또는 삭제는 : 를 이용할 수 있음
test[2:4, ]
행/열 추가 및 삭제는 dplyr 패키지를 이용하거나 subset 함수를 이용하여 할 수도 있습니다.
포스팅 해놓았으니 관심있으신 분들은 함께 봐주세요.
다른 함수를 이용해 행/열을 다룰 수 있지만, 이번에 소개한 방법이 가장 기본이 되는 것이기 때문에 꼭 숙지하시기 바랍니다!