본문 바로가기
R * RStudio

[R/RStudio] dcast() - melt된거 spread하기

by 비븽 2022. 12. 7.

아 어렵다 ~

 

사전준비

install.packages("tidyr")
install.packages("reshape2")
library(tidyr)
library(reshape2)

 

① 원본 데이터 준비

my_car <- mtcars
my_car <- my_car %>%
  mutate(new_rw = tolower(rownames(my_car)))

rownames(my_car) <- NULL

 

② melting 하기

my_car_melt <- my_car %>%
  gather(key="구분",
         value = "값",
         am, cyl, disp) # 96행 4열

 

③ melt 된거 다시 spread하기 (이러면 ①원본으로 돌아간다)

my_car_melt %>%
	dcast(new_rw+mpg ~ 구분)

dcast( ' melt되지 않은 것 중에서 가져올 열 ' ~ ' 열로 꺼내고 싶은 Key ')

- melt되지 않은 것 중에서 가져올 열이 하나 이상일 경우 (열1+열2) 이런 식으로 작성

- 이러면 Key 에 melt되었던 ' am, cyl, disp '가 열로 튀어나오게 되며, 각 열의 데이터는 value에 있던 값으로 들어가게 된당 =