반응형

R/R basic 36

이름이 비슷한 csv 파일을 불러서 통합해서 하나의 데이터프레임을 만들 경우

일을 하다보면 파일 안에 있는 변수는 같은데 파일 이름은 다르지만, 이를 하나로 통합하고 싶은 경우가 있을 겁니다. 예를 들어 파일 이름이 data2000, data2001,... data2020 이렇게 있는데 이를 다 합쳐서 하나로 만들 경우가 있을 수 있죠. 이를 한 번에 불러서 하나의 정돈된 데이터프레임으로 바꿀 수 없을까요? 우선 일단 특정 폴더를 만들어서 관련 csv 파일을 다 몰아 넣는 것이 첫번째 스텝입니다. 이후에 워킹 폴더를 그 폴더로 지정해주시구요 (setwd()). 아래가 가장 흔하게 쓰는 방법입니다. setwd("/Users/abc/Downloads") #이것은 한 예입니다. 폴더에 맞춰 변경해주시면 됩니다. files = list.files(pattern="*.csv") #csv파..

R/R basic 2020.05.08

내가 갖고 있는 데이터의 형태는 데이터프레임인가?

기본적으로 R은 데이터프레임 형태의 데이터를 갖고 할 수 있는 일이 많습니다. 많은 명령문들이 기본적으로 데이터가 데이터프레임이라는 가정에서 시작하는대요. 하지만 데이타가 list, matrix의 형태일 수도 있고 최근에는 data table도 많이 쓰이고 있습니다. 그래서 데이트프레임에서만 먹히는 명령문들이나 라이브러리가 적용이 되지도 않는 경우가 있는데요. 그래서 기본적으로 내 데이터가 데이터프레임의 형태인가를 알고 시작하는 게 중요합니다. 예를 들어 R이 제공하는 mtcars 데이터가 데이터프레임인가를 보기 위해서는 class()는 명령어를 이용합니다. class(mtcars) 그러면 "data.frame"이라는 답을 줍니다. 다시 말해 데이터프레임이라는 거죠. 아니면 아예 데이터프레임인지 아닌지 ..

R/R basic 2020.05.07

열 (column) 이름 바꾸기: colnames or rename

R에서 열 (column) 이름을 바꾸는 방법은 크게 두가지가 있습니다. 우선 별 다른 library 없이 데이터프레임 안에서 바꿀 경우는 colnames()를 쓰면 됩니다. colnames(df)[1]%라는 연산자를 이용해서 하는 게 좀 편합니다. %>%는 앞의 명령어를 한 다음에 그 다음 것을 해라는 연산자 정도로 생각해주시면 됩니다. df %>% rename(b1=a1, b2=a2, ...., b10=a10) 아예 벡터를 만들어서 rename 한 칼에 해주는 것도 나쁘지 않은 것 같습니다. oldnames=c('a1', 'a2' ... ,'a10') newnames=c('b1', 'b2', ... ,'b10') df %>%remane_at(vars(oldnames), ~newnames) 검색을 해보..

R/R basic 2020.05.03
반응형