반응형
기본적으로 R은 데이터프레임 형태의 데이터를 갖고 할 수 있는 일이 많습니다. 많은 명령문들이 기본적으로 데이터가 데이터프레임이라는 가정에서 시작하는대요. 하지만 데이타가 list, matrix의 형태일 수도 있고 최근에는 data table도 많이 쓰이고 있습니다. 그래서 데이트프레임에서만 먹히는 명령문들이나 라이브러리가 적용이 되지도 않는 경우가 있는데요. 그래서 기본적으로 내 데이터가 데이터프레임의 형태인가를 알고 시작하는 게 중요합니다. 예를 들어 R이 제공하는 mtcars 데이터가 데이터프레임인가를 보기 위해서는 class()는 명령어를 이용합니다.
class(mtcars)
그러면 "data.frame"이라는 답을 줍니다. 다시 말해 데이터프레임이라는 거죠. 아니면 아예 데이터프레임인지 아닌지 이렇게 물을 수도 있습니다.
is.data.frame(mtcars)
이 경우도 true라고 나옵니다.
그러나 다른 경우도 있는데요. 예를 들어 아래와 같이 임의의 매트릭스를 만들고 데이터프레임 여부인지를 물어보면
a <- c(1, 2, 3, 4)
b<-c('apple', 'pear', 'orange', 'banana')
c<-c(TRUE, FALSE, TRUE, FALSE)
df<-cbind(a, b, c)
is.data.frame(df)
이건 FALSE로 나옵니다. 그래서 다시 class(df)라고 해보면 "matrix"라고 친절히 답해줍니다. 그럼 이 데이터를 데이터프레임의 형태로 바꾸고 싶다면? 다음과 같이 하면 됩니다.
df<-as.data.frame(df)
그리고 is.data.frame() 혹은 class()를 통해서 df라는 데이터가 매트릭스 형태에서 데이터프레임 형태로 바뀐 것을 알 수 있습니다.
반응형
'R > R basic' 카테고리의 다른 글
많은 칼럼 속성을 변환 시켜줄 경우: 칼럼 번호가 중요한 이유 (0) | 2020.05.16 |
---|---|
이름이 비슷한 csv 파일을 불러서 통합해서 하나의 데이터프레임을 만들 경우 (0) | 2020.05.08 |
특정 열(column)만 선택 (keep) 혹은 제거(drop)하기 (0) | 2020.05.04 |
열(column) 새롭게 추가하기 (0) | 2020.05.03 |
열 (column) 이름 바꾸기: colnames or rename (0) | 2020.05.03 |