0

私は R で "filtre" と呼ばれる関数を書きました: それはデータフレームを取り、各行に対してそれがビン 1 または 2 のどちらに入る必要があるかを示します。最後に、元の入力に合計する 2 つのデータ フレームがあります。 、およびビン 1 または 2 のいずれかにスローされたすべてのラインにそれぞれ対応します。ビン 1 および 2 のこれら 2 つのセットは、filtre1 および filtre2 と呼ばれます。便宜上、filtre1 と filtre2 の値は計算されますが、返されません。これは、より大きなプロセスの中間的なものであるためです (さらに、これらは非常に大きなデータ フレームです)。次の問題があります。

(i) 後で filtre1 (または filtre2) を使用したい場合、単に表示されません...たとえば、値が関数内にスタックされていて、他の場所で認識されない場合のように、コピーする必要があります。使いたいと思うたびに機能全体が非常に痛くて重い。

これはかなり単純なことだと思いますが、Web で検索しても実際には答えが見つかりませんでした (最適なキーワードがわかりませんでした)。ご不便をかけて申し訳ありません。Thxs / g。

4

1 に答える 1

1

適切な例を提供していないため、目的を達成するための最適な方法を知るのはかなり難しいですが、試してみます。変数 filtre1 と filtre2 が関数内で定義されていて、それらを返さない場合、もちろんそれらは環境に表示されません。ただし、分類を返して、後で filtre1 と filtre2 を作成することもできます。

#example data
df<-data.frame(id=1:20,x=sample(1:20,20,replace=TRUE))

filtre<-function(df){
   #example function, this could of course be done by bins<-df$x<10
  bins<-numeric(nrow(df))
  for(i in 1:nrow(df))
    if(df$x<10) 
      bins[i]<-1
  return(bins)
}

bins<-filtre(df)

filtre1<-df[bins==1,]
filtre2<-df[bins==0,]
于 2013-03-10T05:47:18.227 に答える