6. 데이터 프레임(data.frame)

CHOI·2021년 6월 11일
0

R

목록 보기
6/10
post-thumbnail

이번에는 데이터 프레임을 만들어보자

1. data.frame

데이터 프레임은 엑셀이나 다른 언어에서도 확인할 수 있는 기본적인 것 중 하나이다.

이러한 데이터 프레임을 R에서는 다음과 같이 만들 수 있다.

name = c('CHOI', 'KIM', 'LEE')
sex = c('M','F','F')
age = c(22,20,26)
occup =c('pilot','doctor','teacher')

먼저 각 값들을 문자열을 사용하여 변수에 넣어준다.

data.frame(name,age,sex,occup)

그리고 이러한 변수들을 가지고 데이터프레임으로 만들어주면 된다.

2. 원하는 값 찾기

member = data.frame(name,age,sex,occup)

앞서 만든 데이터들을 변수 안에 넣어주고

이제 만약 우리가 'KIM'의 나이(age)가 뭔지 궁금하다고 하자 그렇다면 어떻게 찾을 수 있을까?
이전에 우리는 리스트에서 원하는 값들을 찾는 방법을 배웠었다.

name 이라는 리스트안에서 2번재 있는 값이 무엇인지 어떻게 찾을까? 바로 name[2] 를 하면 됐다.
그렇다면 member 라는 데이터 프레임에서 이를 활용하면 어떻게 나올까?

member[2]


이렇게 2번째 들어있는 age 의 값들이 데이터프레임의 형태로 나온다. 다른말로 2열이 나온다고 말할 수 있다.

우리가 원하는 값은 'KIM'의 나이 즉 2행 2열의 값이다. 그렇다면 아래와 같이 하면 된다.

 member[2,2] # [1] 20

그러면 우리가 원하는 KIM의 나이인 20이 나오는 것을 확인할 수 있다.

member[행,열] 을 하면 원하는 위치의 값을 가져올 수 있다.

행 가져오기

그렇다면 행 한줄의 값들을 전부 가져오려면 어떻게 해야할까? 다음과 같이 하면 된다

member[1,]

이렇게 하면 원하는 행의 값들을 전부 가져올 수 있다.

원하는 열의 값을 가져오려면 member[,2] 를 한다.

이를 통해서 앞서 우리가 해보았었던 member[2] 는 사실 member[,2] 와 같은 값을 가져온다는 것을 볼 수 있다. 하지만 이렇게 말고 다음과 같이도 가져올 수 있다.

memeber[,1] # [1] "CHOI" "KIM"  "LEE"
member$name # [1] "CHOI" "KIM"  "LEE"

이렇게 $ 를 활용하여 가져올 수 있다.

3. 값 바꾸기

이번에는 값을 바꾸는 것을 해보자.

아까 만든 데이터프레임에서 나이를 바꾸는 예제를 진행해보자

members

여기서 'LEE'의 나이를 26에서 23으로 바꿔보자 'LEE'의 나이에 대한 정보는 3행 2열에 있다.

members[3,2] # [1] 26

이제 이 값을 다음과 같이 바꾸면 된다.

members[3,2] = 23

그러면 다음과 같이 바뀐 것을 확인할 수 있다.

profile
벨로그보단 티스토리를 사용합니다! https://flight-developer-stroy.tistory.com/

0개의 댓글