2017-01-27 8 views
1

이 질문은 이전에 물어 보았지만 잘 모르겠습니다. 해 아래에 나열된 각 범죄의 값여러 개의 키로 구성

Precinct Crime  2000 2001 2002 2003 
1   Murder  3  1  2  2 
1   Rape   12  5  10 11 
1   Burglary  252 188 297 403 
2   Murder  4  2  1  0 

:

나는 다음과 같다 데이터 집합을 가지고있다.

Precinct Crime Year Value 
    1  Murder 2000  3 
    1  Rape  2000  12 

가 어떻게 그 일을 가야합니까 :

I는 다음과 같이 간단하게 세트로 재 배열하기 위해 노력하고있어? 나는 tidyr의 gather을 사용해야 만한다는 것을 알고 있지만 여러 키를위한 솔루션을 외삽하는 것은 저에게 효과적이지 않습니다.

+0

을 '수집 (DF1, 년 , Value : 3 : ncol (df1)) ' – akrun

+0

> 기존 질문의 정확한 복제본 다르게 언급 된 경우 정확히 일치하지는 않습니다. 실제로는 그 반대입니다. 그는 와이드 포맷에서 와이드 포맷으로 이동하지 않아야했습니다. tiddy와 함께 할 수있는 것 : 모으십시오. – mtelesha

답변

2

다음 작품 : 당신은 집결해야 모든 열을 지정 (또는 수집 _not_be해야 모든 열 제거) 할 필요가

df %>% gather(Year, Value, -Precinct, -Crime) 
+1

기괴한 : 왜 이것이 완벽하게 작동했는지, 베스트 프랙티스 응답은 downvoted입니까? –

-1

: 그냥 사용

library(tidyverse) 

dat <- tibble::tibble(
    Precinct = c(1, 1, 1, 2), 
    Crime = c("Murder", "Rape", "Burglary", "Murder"), 
    `2000` = c(3, 12, 252, 4), 
    `2001` = c(1, 5, 188, 2), 
    `2002` = c(2, 10, 297, 1), 
    `2003` = c(2, 11, 403, 0) 
) 

tidyr::gather(dat, Year, Value, 3:6) 
tidyr::gather(dat, Year, Value, -Precinct, -Crime) 
+0

젠장, 너무 느려! – Daniel

+2

예. 올바르게 유지할 필요가 없습니까? – Sotos