두 개의 키/값 쌍을 확산하려고하지만 공통 값 열이 축소되지 않습니다. 나는 이전의 처리와 관련이 있을지도 모른다고 생각한다. 또는 내가 기대하는 결과를 얻기 위해 둘 이상의 키/값 쌍을 분산시키는 올바른 방법을 모를 가능성이 높다.r 행을 축소하지 않는 다중 키 값 쌍을 사용하는 tidyverse spread()
나는이 데이터 세트로 시작하고 다음 수집 다음() 함수에서 만든 "계산"값의 순서를 정의하는이 전 확산 단계가 있습니다
library(tidyverse)
df <- tibble(order = 1:7,
line_1 = c(23,8,21,45,68,31,24),
line_2 = c(63,25,25,24,48,24,63),
line_3 = c(62,12,10,56,67,25,35))
. 은 "셀"의 숫자 순서를 정의하는
ntrl <- df %>%
gather(line_1,
line_2,
line_3,
key = "sector",
value = "count") %>%
group_by(order) %>%
mutate(sector_ord = row_number()) %>%
arrange(order,
sector)
이 상기 제 2 프리 - 확산 공정 변수이 변수는 행 번호를 사용하여 "셀"의 원래 순서를 정의하는 제 사전 확산 단계 :
ord <- ntrl %>%
arrange(order,
count) %>%
group_by(order) %>%
mutate(num_ord = paste0("ord_",
row_number(),
sep=""))
그리고 마지막으로 내가 사용 된 확산 코드 :
0,123,516 :wide <- ord %>%
group_by(order) %>%
spread(key = sector,
value = count) %>%
spread(key = num_ord,
value = sector_ord)
내가지고있어하는 것은 이것이다
order line_1 line_2 line_3 ord_1 ord_2 ord_3
1 1 23 NA NA 1 NA NA
2 1 NA 63 NA NA NA 2
3 1 NA NA 62 NA 3 NA
4 2 8 NA NA 1 NA NA
5 2 NA 25 NA NA NA 2
6 2 NA NA 12 NA 3 NA
7 3 21 NA NA NA 1 NA
8 3 NA 25 NA NA NA 2
9 3 NA NA 10 3 NA NA
... and so on thru 21 lines accounting for all 7 "order" lines
내가 기대하고 동작은 "순서"열은 다음과주고 동일한 "순서"값을 모든 행에 붕괴 것입니다 :
order line_1 line_2 line_3 ord_1 ord_2 ord_3
1 1 23 63 62 1 3 2
2 2 8 25 12 1 3 2
3 3 21 25 10 2 3 1
4 4 45 24 56 2 1 3
... and so on, I think that paints the picture
내가 검토 한 질문과 답변 중복 식별자를 사용하여 확산되고 행 번호 인덱스를 사용하지만 도움이되지 않습니다.
나는 두 배 퍼짐과 관련이 있다고 생각하지만, 어떻게 할지를 알 수 없다.
도움 주셔서 감사합니다.
완벽하게 작동하는 ycw에게 감사합니다. 나는 완전히 이해하고 있는지 확신 할 수 없지만 그것이 깔끔한 방법론을 고수하고 싶다. 나는 이것을 더 연구 할 것이다. 다시 한번 감사드립니다. –