728x90
728x90
안녕하세요
이번엔 피벗 언피벗하는 방법에 대해 공부한것을 기록하려 합니다.
reshape2패키지를 설치해야합니다.
먼저 피벗을 해보려고 합니다.
df <-
data.frame(col1=c("a","b","c","a",NA,"c"),
col2=c(NA,"e","f","d","e","f"),
col3=c(4,5,NA,7,8,9),
col4=c(7,8,9,10,NA,12))
위와 같은 data를 쓰도록 하겠습니다.
피벗은 dcast함수로 할 수 있습니다.
dcast(데이터 프레임, 그룹핑컬럼 ~ 컬럼으로 만들 열, 집계함수, value로 쓰일 컬럼)
dcast(df,col1~col2,fun=,value.var=)
dcast(df,col1~col2,fun=mean,value.var="col3")
dcast를 사용하면 위와 같이 나옵니다
여기서 col1이 "C"이면서 f열에 NA라고 나온것이 있습니다.
기존 df에서 NA를 갖고 있어서 계산이 안된것인데 이는
dcast(df,col1~col2,fun=function(x){ mean(x,na.rm=T) },value.var="col3")
위와 같이 하면 나타낼 수 있습니다.
다음은 언피벗 melt입니다.
#melt(데이터 프레임, id.var ="측정기준이 되는 컬럼",
measuer.var = "한 컬럼에 넣을 컬럼들",
variable.name ="한 컬럼의 name",
value.name="값 컬럼의 name")
melt(df,
id.vars=c("col1"),
measure.vars=c("col3","col4"),
variable.name="type",
value.name="value")
위와 같이 나타낼 수 있습니다.
728x90
728x90
'R' 카테고리의 다른 글
R ) group_by이용해서 한 셀에 여러 값 넣기 in r (0) | 2022.08.29 |
---|---|
R ) 함수에서 2개 이상 변수 return하기 in r (0) | 2022.08.21 |
R ) assign, get함수 알아보기 문자열을 객체로 사용하고 불러오기 in r (0) | 2022.08.19 |
R ) 독학 :: 변수간 상관성 알아보기 cor.test() in r (0) | 2022.06.03 |
R ) 독학 :: 산점도 알아보기 scatter plot (1) | 2022.05.08 |
댓글