R 특정 열 제거 - R teugjeong yeol jegeo

R 특정 열 제거 - R teugjeong yeol jegeo

저는 R로 전향한지 얼마 되지 않았습니다. R을 쓸 때 익숙하지 않아서 가장 힘든 것이 바로 데이터 편집입니다. 어떤 데이터를 분석할 때 가장 시간이 많이 드는 부분은 통계 분석이나 그래프 그릴 때가 아니라 "데이터를 분석하기 좋게 편집할 때"입니다. 그래서 이번 포스팅부터 R에서 데이터 편집하는 방법을 정리해 보려고 합니다. 데이터 형식 중에서 우리가 가장 많이 쓰는 데이터 프레임(data frame)을 쓰도록 하겠습니다. 데이터 프레임 형식은 우리에게 익숙한 엑셀시트 형식이라고 보시면 됩니다. 이 포스팅에 사용된 예는 R graphics Cookbook 15장: 데이터 틀 잡기를 많이 참고하였습니다.

데이터 프레임에 열 추가하기: 데이터프레임$열이름 <-값

#데이터프레임 불러오기

install.packages("gcookbook") #gcookbook 설치하기

library(gcookbook) #gcookbook 불러오기

str (heightweight) #heightweight 데이터프레임 구조 살펴보기

#데이터 프레임에 새로운 열 추가하기 

heightweight$newcol <- NA #heightweight에 newcol을 추가하고 NA값을 넣기

str (heightweight) #heightweight 데이터프레임 추가된 열 확인하기

데이터 프레임에 열 삭제하기: subset(데이터프레임, select=-열이름) 

#데이터프레임에 기존에 있는 열 삭제하기 

heightweight <- subset(heightweight, select = -newcol) #heightweight에 newcol을 제외하기

str(heightweight)#heightweight 데이터프레임 삭제된 열 확인하기

도움이 되셨다면 공감하트 꾹 눌러주세요~!

#열 추가

> x<-cbind(x, 학과=c("경영", "영"))

> x<-cbind(x, 학과=c("경영", "영"))

> x<-cbind(x, 학과=c("경영", "영어"))

> x

    성명 나이 주소 학과 학과 학과

1 홍길동   20 서울 경영 경영 경영

2   둘리   30 대전   영   영 영어

#행 추가

> x<-rbind(x, data.frame(성명="장발장", 나이=40, 주소="파리", 학과="전산학"))

> x

    성명 나이 주소   학과

1 홍길동   20 서울   경영

2   둘리   30 대전   영어

3 장발장   40 파리 전산학

#열 삭제

> x <- x[,-c(4, 5)]

> x

    성명 나이 주소 학과

1 홍길동   20 서울 경영

2   둘리   30 대전 영어

의학통계 with R, feat. 내과의사

  • 분류 전체보기 (76)
    • Notice (2)
    • R_statistics (44)
      • Rs_preparation (17)
      • Rs_analysis (2)
      • Rs_graphics (12)
      • Rs_basic (13)
    • Py_Mahcine learning (6)
    • R_knitr (4)
    • Sql (4)
    • LaTex (1)
    • Paper_works (2)
    • Trivial_information (4)
    • Just_chatting (9)
      • ? Questions (0)

POWERED BY TISTORY


R_statistics/Rs_preparation

MD.Statistics 2019. 2. 1. 11:01

데이터 프레임에서 일정조건을 만족하는 행을 제거 하는 명령어 입니다.

df <- df[!(df$column == "condition" ), ]
df

"condition" 이 부분에 원하시는 조건을 걸어주시면됩니다.

예시를 들면, 

df$column < 60 

df$colum > 13

df$colum == "male" 

이런식으로 말이죠 !

정말 간단하죠? 

태그


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

R 특정 열 제거 - R teugjeong yeol jegeo

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

2.1. 행 추가 방법

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

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

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

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

R 특정 열 제거 - R teugjeong yeol jegeo

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

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

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

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

R 특정 열 제거 - R teugjeong yeol jegeo

4. 데이터프레임 열 삭제

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

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

R 특정 열 제거 - R teugjeong yeol jegeo

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

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

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

R 특정 열 제거 - R teugjeong yeol jegeo

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

R 특정 열 제거 - R teugjeong yeol jegeo

4. 데이터프레임 행 삭제

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

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

R 특정 열 제거 - R teugjeong yeol jegeo

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

R 특정 열 제거 - R teugjeong yeol jegeo


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

R 특정 열 제거 - R teugjeong yeol jegeo

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

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

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