아래와 같이 matrix를 선언하고
세번째 column을 강제로 문자형으로 변환후 m의 세번째 칼럼으로 덮어 씌우기 했을 때
전체 m의 형태가 모두 문자형 (character)으로 변한 되는 것을 보실 수 있습니다.
m<-matrix(1:15,ncol=3,byrow = T)
m
m[,3]<-as.character(m[,3])
m
그런데 우리가 데이터를 다루다 보면 항상 숫자만 있는 것은 아닙니다.
성별, 지역 등 문자형 변수가 들어갈 수 밖에 없습니다.
그렇기 때문에 각각의 칼럼 별로 다른 class를 가질수 있도록 해주어야 합니다.
이를 가능하게 해주는것이 데이터 프레임 (dataframe)입니다.
아래 코드를 보시면 matrix를 강제로 data.frame 함수를 통해
dataframe으로 만들고 str 함수를 통해 structure를 확인해 보았습니다.
모든 column이 int형태인것을 볼 수 있죠.
여기서 위와 같이 하나의 칼럼만 문자형으로 바꾸고 다시 str을 확인해보면
하나의 column만 문자형으로 바뀐 것을 확인 할 수 있습니다.
m<-matrix(1:15,ncol=3,byrow = T)
m2<-data.frame(m)
str(m2)
m2[,3]<-as.character(m2[,3])
str(m2)
정리하면 matrix는 모든 칼럼의 요소가 같은 형태가 들어가야하고 dataframe은 다른 형태가 들어가도 된다 라는 것입니다.
더불어 dataframe은 아래와 같이 $칼럼명으로 접근이 가능하고
새로운 칼럼을 추가하는 것도 가능합니다.
m2$X3
m2$X4<-c("가","나","다","라","마")
m2
인프런에서 R강의/딥러닝 강의를 업로드 하고 있습니다.
https://www.inflearn.com/roadmaps/225
반응형
'R프로그래밍' 카테고리의 다른 글
R프로그래밍 - paste함수와 paste0함수 (0) | 2020.06.22 |
---|---|
R프로그래밍 - dataframe 칼럼/로우명 설정 하기 (colnames/rownames함수) (0) | 2020.06.22 |
R프로그래밍 - matrix선언 / matrix요소 접근법 (0) | 2020.06.22 |
R프로그래밍 - Seq / Rep함수 (0) | 2020.06.22 |
R프로그래밍 - Vector 정렬 (sort/order 함수) (0) | 2020.06.22 |
댓글