2013-10-04 3 views
0

필기 회 돌이는 내 존재의 단점입니다. 는 I 작동이 기능을 가지고치수가 다른 데이터 프레임의 열을 통과하는 루프가있는 함수

rnd.data < α- 함수 (X) { min.x <라는 우수한 성능을 나타내었다 (X [2]) max.x < -max의 (X [2] (x [, 3]) min.y < -min (x [, 3]) max.y < -max (x [, 3]) data.table (x = runif (34, min.x, max.x) , Y = runif (34 min.y, max.y)] }는

그 목적은 I 쓴 첫 번째 데이터 세트에 대해 질문 에서 dataframe의 열에 의존 파라미터 내의 데이터를 시뮬레이션가요 그것을 위해 단지 2 colu 난 에 대한 예제를 시뮬레이션하고 싶었지만 난 열의 다른 숫자와 추가 dataframes을 가지고 이상적으로 하나의 함수를 쓸 수있는 모든 루프에 대한 예제를 계산할 수있는 모든 dataframes에 대한 샘플을 나는 1000 개 이상의 샘플을 시뮬레이션 할 필요가 입력하고 싶습니다 Logged dataframe

피곤 같은 읽기 시작 조작 : rnd2.data < α- 함수 (X) {N < -dim (X) [2] (I 1 : N)에 대한 N { 경우 (> 3) { 하지만 다음에 무엇을 해야할지로 붙어있어

도움이 될만한 점이 있다면 감사!

답변

1

이 기능을 사용하면 반복없이 수행 할 수 있습니다, 예를 ff(x[,-1],10) 또는 ff(x[,2:3],10)를 들어, 일부 열을 무시하려면

ff<-function(x,r){ 
    apply(x,2,function(z) do.call(runif,as.list(c(r,range(z))))) 
} 

> set.seed(123) 
> x<-cbind(1:10,11:20,51:60) 
> ff(x,10) 
      [,1]  [,2]  [,3] 
[1,] 3.588198 19.61150 59.00585 
[2,] 8.094746 15.08001 57.23523 
[3,] 4.680792 17.09814 56.76456 
[4,] 8.947157 16.15370 59.94843 
[5,] 9.464206 11.92632 56.90135 
[6,] 1.410008 19.09842 57.37677 
[7,] 5.752949 13.21479 55.89659 
[8,] 9.031771 11.37854 56.34728 
[9,] 5.962915 13.95129 53.60244 
[10,] 5.109533 19.59053 52.32402 
> 

, 그냥 전화 등이 적용하려면

dataframes의 목록으로, 당신은 그러나 나는 오류 메시지가 계속,

lapply(listOfData,ff,numberOfSamples) 
+0

감사를 호출 할 수 있습니다 : 오류 match.fun에 (FUN) : 를 'rnd.data (x)'는 함수, 문자 또는 기호가 아닙니다. – KatMartin

+0

내가 작성한 코드에 'rnd.data (x)'가 없습니다. 당신에게 그 오류를주는 것을 실행하려고하는 것은 무엇입니까? – mrip

+0

아무 문제가 없습니다. 죄송합니다. 잘못 수정했습니다. 그것은 꿈처럼 작동합니다. 감사! – KatMartin

관련 문제