2014-06-24 5 views
0

read.csv를 사용하여 데이터 세트를로드했습니다. 여기에는 첫 번째 행에 머리글이 포함 된 다음 다른 열에 일련의 주가가 포함됩니다.R의 매트릭스에 값 지정

그때 롤링 분석을 수행하는 것을 시도하고있다 (SD 또는 다른 간단한 통계 함수를 의미하고는 I 정의한 행렬의 요소에 할당) I는 전체 셀 NA가 계속하지만

을 agstudy이 rollapply 제안한 것처럼 내가

내 코드

{ 
APD = read.table(file="C:\\Path\\Pasted Data Temp.csv",head=TRUE,sep=",",blank.lines.skip = TRUE,row.names = NULL); 
DMA = matrix(nrow=dim(APD)[1]+25,ncol=dim(APD)[2]+25) 
a = ncol(APD); 
DMAno = 20; 
for(i in 3:a) { 
z = length(APD[1]) 
for(j in DMAno:z) 
    { 
    DMA[[i][j]] <- mean(APD$ABNL[j-DMAno+2:j]) 
    } 
} 
} 
+2

'zoo'와'rollapply'를 사용하십시오. – agstudy

답변

0

을 CSV로 쓰고 때 매우 빠를 것이기 때문에, 아마도 최선의 방법입니다. 코드에 관해서는

는 : 당신은 즉, i 번째 DMA의 열과 j 번째 행이 DMA[j,i]를 통해 accesed되어, 다소 다른 방식으로 (j-DMAno+2):j과 R 하나의 집합 매트릭스에 일부 괄호가 필요합니다. data.frame$x[] 일부 중복 하위 집합을 생성합니다. 이것을 시도하십시오 :

for(i in 3:a) { 
    z = length(APD[1]) 
    for(j in DMAno:z) 
     { 
     DMA[j,i] <- mean(APD[(j-DMAno+2):j,"ABNL"]) 
     } 
    } 
}