여러 행으로 오프셋 된 데이터 프레임에 기존 열의 복사본을 만들려고합니다.R 새 열이 고정 된 양만큼 오프셋 된 열의 복사본 만들기
예.
offset7 <- rep(0, 7)
dataframe$column1.prev7 = c(offset7, dataframe$column1[1:(length(dataframe$column1)-7)])
그것이 내가 30 이상 오프셋 (offset)를 가지는 경우에 오류를주고 시작하지만 : 2 열은 다음 (1)에 의해 상쇄, 컬럼의 사본,
> dataframe
$column1
[1] 1 2 3 4 5
$column2
[1] 0 1 2 3 4
경우 다음 코드 일부 성공을 거두었습니다. 내 데이터는 행의 수보다 큰 오프셋의 문제가되지 않을 정도로 충분히 길다. 오류 :
Error in dataframe$column1[1:(length(dataframe$column1) - 30)] :
only 0's may be mixed with negative subscripts
미리 감사드립니다. plyr와 잘 어울리는 빠른 루프 무료 버전이 선호됩니다. 여기서 timeseries 데이터를 최대 1 년 동안 다양한 래그로 분해 한 다음 다양한 방법으로 결과를 분석합니다.
사이드 바 : plyr은 정확히 "루프가 없습니다". 루핑 구조입니다. –
Joris : plyr을 사용하여 데이터 프레임을 비트로 분할하여 개별적으로 작업하여이 워크 플로에 잘 들어 맞는 작업을 수행합니다. 예 : 이 경우 주식 데이터로 시장 데이터를 분할 한 다음 이전 열을 30 일 간격으로 상쇄하는 새 열을 추가했습니다. 내 코드는 : marketdata <- ddply (시장 데이터, c ("stock_symbol"), 변형, adj.close.Prev30 = c (list30, adj.close [1 : (length (stock_symbol) -30)]), parallel = 진실)하지만 머리를 주셔서 감사합니다! :) – psandersen