패키지의 gather
에 대한 인수를 파악하려고합니다. 정리할 때, 함수가`gather '함수를 사용하여 데이터 프레임을 넓게부터 길게 매핑하는 데는 어떤 기준이 필요합니까?
stocks <- data.frame(
time = as.Date('2009-01-01') + 0:9,
X = rnorm(10, 0, 1),
Y = rnorm(10, 0, 2),
Z = rnorm(10, 0, 4)
)
gather(stocks, stock, price, -time)
내가 마지막 줄에 대해 궁금 해요 :
gather(data, key, value, ..., na.rm = FALSE, convert = FALSE)
이 도움말 파일에 example 있습니다 :
gather(stocks, stock, price, -time)
여기서, stocks
은 우리가 수정하고 싶은 데이터입니다. 괜찮습니다.
따라서 stock
과 price
은 키 값 쌍에 대한 인수입니다.하지만이 키 값 쌍을 만들기 위해 열을 선택하는 방법을 어떻게 결정합니까? 원래 dataframe은 다음과 같습니다
time X Y Z
2009-01-01 1.10177950 -1.1926213 -7.4149618
2009-01-02 0.75578151 -4.3705737 -0.3117843
2009-01-03 -0.23823356 -1.3497319 3.8742654
2009-01-04 0.98744470 -4.2381224 0.7397038
2009-01-05 0.74139013 -2.5303960 -5.5197743
나는 우리가 X
, Y
또는 Z
의 조합을 사용해야 어떤 표시를 볼 수 없습니다. 이 함수를 사용할 때 필자는 오랫동안 서식이 지정된 데이터 프레임의 열을 원하는 이름으로 선택하고 마치 gather
이 마법처럼 작동한다고 생각합니다. 생각해 보니, melt
을 사용할 때와 같은 느낌이 듭니다.
gather
열의 유형을 확인 하시겠습니까? 그것은 넓은 것부터 길게 어떻게 매핑합니까? 아래
편집 멋진 대답, 좋은 토론 아래, 그리고 림 구문을 설명하지 않지만 확실히,이 paper을 읽어야 철학 및 tidyr
패키지의 사용에 대한 자세한 정보를 원하는 다른 사람을 위해.
'-time'은 시간을 제외한 모든 열을 사용합니다. 또 다른 방법은 "수집"해야 할 열을 지정하려는 경우'gather (stocks, stock value, value : X : Z)'를 사용하는 것입니다. 또는 심지어'모으다 (주식, 주식, 가치, X, Y, Z) '. 근본적으로 이것은'id.vars' ('melt (stocks, measure.vars = c ("X", "Y", "Z")를 지정하는 대신'measure.vars' 인수로'melt'를 사용하는 것과 같습니다.)'). – A5C1D2H2I1M1N2O1R2T1