데이터 프레임의 모든 열에 차이와 백분율 변경을 추가하고 싶습니다.데이터 프레임의 모든 열의 차이와 변화율을 추가 하시겠습니까?
데이터를 녹여 계산을 수행 할 수는 있지만이를 다시 캐스팅하거나 다시 형성하는 방법을 알 수는 없습니다. 또한 이것은 플라이어으로 쉽게 수행 할 수 있지만, n-1 개의 행은 diff()
으로 반환된다는 문제가 있습니다.
library(plyr)
library(quantmod)
head(longley)
GNP.deflator GNP Unemployed Armed.Forces Population Year Employed
1947 83.0 234.289 235.6 159.0 107.608 1947 60.323
1948 88.5 259.426 232.5 145.6 108.632 1948 61.122
1949 88.2 258.054 368.2 161.6 109.773 1949 60.171
1950 89.5 284.599 335.1 165.0 110.929 1950 61.187
1951 96.2 328.975 209.9 309.9 112.075 1951 63.221
1952 98.1 346.999 193.2 359.4 113.270 1952 63.639
longley.m <- melt(longley, id="Year")
longley.m <- ddply(longley.m, .(variable), transform, valdiff=diff(c(NA, value)), valdelt=Delt(value))
head(longley.m)
Year variable value valdiff Delt.1.arithmetic
1 1947 GNP.deflator 83.0 NA NA
2 1948 GNP.deflator 88.5 5.5 0.066265060
3 1949 GNP.deflator 88.2 -0.3 -0.003389831
4 1950 GNP.deflator 89.5 1.3 0.014739229
5 1951 GNP.deflator 96.2 6.7 0.074860335
6 1952 GNP.deflator 98.1 1.9 0.019750520
이제 (삼각근이 자신의 열 이름입니다 만드는 이유를 모르겠어요,하지만 난 그것에 포기했습니다), 내가 cast(longley.m, Year ~ variable)
얻을 수는 포함 된 데이터 집합을 사용
원래 데이터 세트로 돌아가지만 각 변수에 대해 수동으로 계산을 수행하지 않고 다른 열의 각 변수에 대한 차이와 백분율을 변경할 수 있기를 원합니다. 나는 ... 나는 아무 소용이 캐스트의 모든 변화를 시도했다 꽤 확신
업데이트 : Joran는 DELT 열 명명 문제를 해결 : as.vector 그것을 강요!
그것은 무엇입니까?내 문제는 모든 열에서 동일한 작업을 수행하고 다시 데이터 프레임에 넣는 것입니다. 거기에 대한 해결책이 보이지 않습니다. – Totovader
나는 어려움의 근원을 이해하지 못했다고 생각한다. 나는 unvote하기 위해 내가 할 수있는 것을 본다. –