반응형

<순서>

1. 데이터 프레임 만들기

2. 데이터 프레임에 Column 추가

3. 데이터 프레임에서 Column 제거

 

 

1. 데이터 프레임 만들기

종종 샘플 데이터를 만들 때 데이터프레임을 직접 만들어야 하는 경우가 있습니다. R에서 데이터 프레임을 직접 만드는 방법은 아래와 같습니다.

# Data Frame 만들기

id <- c(1,2,3,4,5,6)
class <- c(1,1,1,1,2,2)
math <- c(50,60,45,30,25,50)
english <- c(98,97,86,98,80,89)

exam <- data.frame(id,class,math,english, stringsAsFactors = F)

1) c()를 이용해 길이를 맞춰 벡터를 생성한다

2) 해당 벡터를 data.frame이라는 함수와 함께 생성한다.

3) Character가 자동으로 Factor로 처리되는 것을 막기 위해 stringsAsFactors = F로 설정해준다.

 

결과는 아래와 같습니다.

  id class math english
1  1     1   50      98
2  2     1   60      97
3  3     1   45      86
4  4     1   30      98
5  5     2   25      80
6  6     2   50      89

 

꼭 이 방법을 사용해야 하는 것은 아니지만, 가장 깔끔하게 데이터를 생성할 수 있는 방법이라고 생각합니다.

더 좋은 방법은 댓글로 공유해주세요 :)

 

2. 데이터 프레임에 Column 추가하기

위에서 만든 데이터 프레임은 시험 점수에 대한 데이터 프레임입니다. 만약 데이터 프레임에 과학점수를 추가하고 싶을 수 있겠죠? 그럼 어떻게 해야 할까요?

# Data Frame Column 추가하기
# 1) $ 사용하기
exam$science <- c(50,60,78,58,65,98)

먼저 위와 같이 $로 이용한 방법이 있습니다.

기존의 데이터 프레임에서 $를 사용하여 새로운 Column이름을 붙여주고 똑같은 길이의 벡터를 붙여주는 방법입니다.

 

# 2) transform 함수 사용하기
exam <- transform(exam, physics = c(10,10,10,20,40,30))

두 번째로 transform 함수를 사용하는 방법입니다.

Transform 함수를 통하여 Physics라는 Column을 추가했습니다.

결과를 볼까요?

  id class math english science physics
1  1     1   50      98      50      10
2  2     1   60      97      60      10
3  3     1   45      86      78      10
4  4     1   30      98      58      20
5  5     2   25      80      65      40
6  6     2   50      89      98      30

Science와 Physics가 잘 생성된 것을 볼 수 있네요 :)

 

3. 데이터 프레임에서 Column 제거

마지막으로 만든 Column을 지우고 싶은 경우가 있을 수 있습니다. 현재 exam 데이터 프레임에는 science와 physics 점수가 들어가 있습니다. 이 중 physics 점수를 빼고 싶다고 가정할게요.  

 

# Data Frame Column Column 지우기

exam$physics <- NULL

 $을 사용해서 제거를 원하는 Column에 NULL을 할당해주면 됩니다. 간단하죠?

 

 

감사합니다 :)

반응형

+ Recent posts