2 개의 개별 키 그룹을 두 개의 키 - 값 쌍으로 수집하려고합니다.gather()를 사용하여 2 개 이상의 키 - 값 쌍으로 두 개 이상의 그룹을 모으는 중
library(dplyr)
library(tidyr)
ID = c(1:5)
measure1 = c(1:5)
measure2 = c(6:10)
letter1 = c("a", "b", "c", "d", "e")
letter2 = c("f", "g", "h", "i", "j")
df = data.frame(ID, measure1, measure2, letter1, letter2)
df = tbl_df(df)
df$letter1 <- as.character(df$letter1)
df$letter2 <- as.character(df$letter2)
I 두 계수 열 (measure1 및 measure2)의 값이 옆 키 컬럼 (키 - 값 쌍)가 한 열에 판정 할 다음은 일부 예시적인 데이터이다. 나는 또한 letter1과 letter2에 대해서도 같은 것을 원한다. 그래서 (이 경우) 완벽하게 작동,하지만 난이 추측
df_measure = df %>%
select(ID, measure1, measure2) %>%
gather(measure_time, measure, -ID) %>%
mutate(id.extra = c(1:10))
df_letter = df %>%
select(ID, letter1, letter2) %>%
gather(letter_time, letter, -ID) %>%
mutate(id.extra = c(1:10))
df_long = df_measure %>%
left_join(df_letter, by = "id.extra")
을 : 나는 (이 일을)에 가입 한 후, 선택() 두 개의 서로 다른 데이터 세트를 만드는 데 사용하는 두 데이터 세트에 별도로 수집 사용할 수 있다고 생각 (id.extra를 쪼개거나 만들지 않고)보다 우아하게 할 수 있습니다.
이 (가)() 함수는이 작업을 수행 할 수 없습니다 모여 여러 걸릴 수
data.table
에서melt
를 사용할 수 있습니까? –@BenjaminTelkamp, 무엇을 할 수 없습니까? 나는 첫 번째 접근에서'gather' 함수를 사용했다. 그러나, 모든 기둥들을 모아서 펼쳐야합니다. – A5C1D2H2I1M1N2O1R2T1