수색…


소개

: tidyr 데이터를 재편하기위한 두 가지 도구가 gather (와이드 롱)과 spread (너비로를).

다른 옵션의 경우 데이터 재구성을 참조하십시오.

spread ()를 사용하여 긴 형식에서 넓은 형식으로 변형

library(tidyr)

## example data
set.seed(123)
df <- data.frame(
  name = rep(c("firstName", "secondName"), each=4),
  numbers = rep(1:4, 2),
  value = rnorm(8)
)
df
#         name numbers       value
# 1  firstName       1 -0.56047565
# 2  firstName       2 -0.23017749
# 3  firstName       3  1.55870831
# 4  firstName       4  0.07050839
# 5 secondName       1  0.12928774
# 6 secondName       2  1.71506499
# 7 secondName       3  0.46091621
# 8 secondName       4 -1.26506123

우리는 '수'열을 별도의 열로 "확산"할 수 있습니다.

spread(data = df,
       key = numbers,
       value = value)
#      name          1          2         3           4
# 1  firstName -0.5604756 -0.2301775 1.5587083  0.07050839
# 2 secondName  0.1292877  1.7150650 0.4609162 -1.26506123

또는 '이름'열을 별도의 열로 펼칩니다.

spread(data = df, 
       key = name,
       value = value)
#   numbers   firstName secondName
# 1       1 -0.56047565  0.1292877
# 2       2 -0.23017749  1.7150650
# 3       3  1.55870831  0.4609162
# 4       4  0.07050839 -1.2650612

gather ()를 사용하여 넓은 형식에서 긴 형식으로 변경

library(tidyr)

## example data
df <- read.table(text ="  numbers  firstName secondName
1       1  1.5862639  0.4087477
2       2  0.1499581  0.9963923
3       3  0.4117353  0.3740009
4       4 -0.4926862  0.4437916", header = T)
df
#   numbers  firstName secondName
# 1       1  1.5862639  0.4087477
# 2       2  0.1499581  0.9963923
# 3       3  0.4117353  0.3740009
# 4       4 -0.4926862  0.4437916

'numbers'를 키 열로 사용하여 함께 열을 수집 할 수 있습니다.

gather(data = df,
       key = numbers,
       value = myValue)
#   numbers    numbers    myValue
# 1       1  firstName  1.5862639
# 2       2  firstName  0.1499581
# 3       3  firstName  0.4117353
# 4       4  firstName -0.4926862
# 5       1 secondName  0.4087477
# 6       2 secondName  0.9963923
# 7       3 secondName  0.3740009
# 8       4 secondName  0.4437916


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow