0
데이터 프레임에 대한 변환 함수를 완전히 이해하지 못했을 것 같습니다. 100에서 시작하여 첫 번째 값 (100)에 "1 + delta"를 곱하여 값이 증가하는 새 인덱스 (새 열)를 작성하려고합니다. 예상되는 결과는 순서대로해야yoy로 데이터 프레임에 새 열 만들기 - 변경 R
x = c(2000,2001,2002,2003,2004,2005,2006)
delta = c(0.04,0.05,0.08,0.1,0.01,0.02)
df = data.frame(x,delta)
df = transform(df, z=c(100,z[-2]*(1+df$delta[-1])))
:
x delta z
1 2000 NA 100.0000
2 2001 0.04000000 104.0000
3 2002 0.05000000 109.2000
4 2003 0.08000000 117.9360
5 2004 0.10000000 129.7296
6 2005 0.01000000 131.0269
7 2006 0.02000000 133.6474
I 다음 값이 단지 등 "1 + 델타"여기
증가 계산 된 값이됩니다 나의 예입니다 문제를 편집하여 이해하기 쉽습니다.
코드는 예제에 나와있는 값을 생성해야하지만 그렇지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까? 카운트/반복 시작 위치, 즉 [-1]
또는 [-2]
또는 ...을 어떻게 알 수 있습니까?
이 멋진 커뮤니티에 미리 감사드립니다.
이 내용을 다시 작성하여 이해할 수 있습니까? 당신이'y'를 가지고 있지 않다면 어떻게 그 값을 얇은 공기로부터 얻을 것이라고 기대합니까? '? transform '은'transform'보다는 표준 하위 집합 (예 :'foo [, 1] <-foo [, 1] * -1')을 특별히 추천한다고 지적하겠습니다. –
방금 기준 (100)을 정의하고이를 일정 비율만큼 증가 시키면 y가 희박 해지지 않습니다. Excel에서는 매우 쉽지만 R에서 수행하는 방법을 알고 싶습니다. –
아, 그 경우 R-Intro (CRAN 및 모든 R 웹 사이트에서 사용 가능)를 읽고 게시하기 전에 언어를 배우십시오. 원하는 것은'y <- 100 + seq (0, X, length = Z)'입니다. 여기서'X'는 최대 증분이고'Z'는 결과 벡터에서 원하는 원소의 수입니다. –