2017-01-24 3 views
-1

여러분이 잘하고 있기를 바랍니다.for 루프를 사용하여 R

빠른 질문이 있습니다.

for(i in 2:49){ 
    PriceFun[i] = approxfun(data[i]$FUEL_PRICE_REAL ~ data[i]$dd) 

    PriceFromDate[i] = function(x) { 
    round(PriceFun[i](x), 3) } 
} 

내가 출력이 원하는 무엇 :

PriceFun2 = approxfun(data2$FUEL_PRICE_REAL ~ data2$dd) 

PriceFromDate2 = function(x) { 
    round(PriceFun2(x), 3) } 

PriceFun3 = approxfun(data3$FUEL_PRICE_REAL ~ data3$dd) 

PriceFromDate3 = function(x) { 
    round(PriceFun3(x), 3) } 

내 구문이 올바르지 않습니다 ... 여기 내 코드는? 나는 거의 사용하지 않는다 R

고맙습니다.

+1

위대한 R 재현 가능한 예를 만드는 방법 (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)을 참조하십시오. 서면으로, 당신이 무엇을 요구하는지 명확하지 않습니다. 몇 가지 샘플 데이터를 보여줄 수 있다면, data.frames (데이터가 목록 인 경우'data [[i]]가 될 것입니다) 또는 무엇을 목록으로 반복하려고하는지 이해하는 데 도움이됩니다. – C8H10N4O2

+0

제 질문이 꽤 분명하다고 생각했습니다. 구문 분석에 문제가있는 것이 아니라 구문에 문제가 있습니다. 나는 단순히 R을 for 루프로 사용하는 방법을 예제와 혼동했다. –

+0

우리에게'str (data)'를 보여 주거나 아무도 당신을 도울 수 없을 것입니다. – C8H10N4O2

답변

0

1) "데이터"및 "PriceFun"의 데이터 유형에 대한 자세한 정보를 제공해 주시겠습니까? 그것들이리스트라면, for 루프 앞에 빈리스트를 만들었습니까?

2) 루프 내의 함수 본문이 구문 오류를 줄 것이라고 생각합니다. 목록의 요소를 호출하려면() 대신 대괄호 []를 사용해보십시오.

3) 라운드 (PriceFun [i], 3)를 사용하여 전체 열을 반올림 할 수 있습니다.

+0

PriceFun look은 다음과 같은 데이터를 보간합니다 : 'data1 [date] [fuel price] [1,] 01/15/2010 3.56 [2] 2010년 1월 17일 3.32 [3] 2010년 3월 18일 3.45 [4] 3.94 2010년 4월 20일 [4] 3.94 2010년 4월 25일' 그것은 외설 목록이 아니야. 간단히 for 루프로 새로운 변수를 만들고 싶습니다. –

관련 문제