2016-09-02 20 views
1

コードが非常に長い組み込み関数があるとしましょう。関数の行数を数えて表示するだけです関数の一部に数値の範囲を指定してコードの一部私はhead()tail()組み合わせを使用してみました組み込み関数の行数をカウントし、数字を指定して行の範囲を抽出する

機能ではありますが、私はそれぞれの行

tail(XYZ_Function) 

の前に数字が表示されますされ、tail()機能を使用どのように多くの行を参照するには、すなわち私からしたいと言うことができますライン機能の150から145まで、私は

tail(head(XYZ_Function,n=150),n=5) 

をした私はちょうどOBJを提供することができます組み合わせてhead()tail()を使用してほかRで利用可能なすべての機能がありますect名、およびそのオブジェクトから行を抽出するための2つの数字が含まれています。

これについての助けをお待ちしております。

答えて

2

私はあなたがこのいずれかを探しているかどうかわからないですが、あなたはyoureの独自の関数を書くことができ:

code_block <- function(x, y, z) { # x = your function, y = lower limit, z = upper limit 
    dat <- data.frame(head(x, n = z)) 
    dat[which(as.numeric(rownames(dat)) >= y & as.numeric(rownames(dat)) <= z), ] 
} 


code_block(summary.lm, 12, 20) 



> code_block(summary.lm, 10, 20) 

10   w <- z$weights             
11   if (is.null(w)) {            
12    rss <- sum(r^2)            
13   }                
14   else {               
15    rss <- sum(w * r^2)           
16    r <- sqrt(w) * r            
17   }                
18   resvar <- rss/rdf            
19   ans <- z[c("call", "terms", if (!is.null(z$weights)) "weights")] 
20   class(ans) <- "summary.lm" 
+0

があるように思われないように私はまた、この目的のために私自身の関数を書くことを考えていました。任意の組み込み関数を使用できます。私はあなたの機能を試して、それは本当にうまく動作します。あなたはまた、ライン数のカウントを表示するために関数内にステートメントを入れてください、それ以外の場合は問題はない編集してください。あなたが知っている私の範囲でなければならないことが今ではないので、私は上限の数値を行の数より大きくするべきではないということです。ありがとうございます、今のところそれは動作します! –

+0

@Sowmya S. Manian sry、あなたが探しているものがわからない! – maller

+0

私はやって、ありがとう:) –

関連する問題