2016-05-12 4 views
0

testFuncという2つの引数を必要とするテスト関数を作成しました。Lapplyを使用して2つの引数を持つ関数を適用する

testFunc<-function(x,y){ 
    length(x) 
    nrow(y) 
} 

ここで、lappyを使ってリストにこの関数を適用し、y引数を固定したままにします。

は、testlistというテストリストを考えてみましょう:

私たちは、yの値が同じでtestlistという$ aと$ bのtestlistという上testFuncを実行するために使用することはできlapply
testList<-list(a=c(1,2,3,4,5,5,6),b=c(1,2,4,5,6,7,8)) 

私はこの呼び出してみました:

lapply(X = testList, FUN = testFunc, someDataFrame) 

をしかし、私は常に出力としてsomeDataFrameの長さを取得しています。私は明白な何かを欠いている。

+0

を'y'を関数内で固定し、' x'だけを引数として使用します。 'testfunc < - function(x、y = ...){...}'? – Sotos

+0

@Sotos:投稿されたコードは、すでに仕事をしています。しかし、私はTusharが長さ(x)とnrow(y)の両方を返したいと思うと思います – vasanthcullen

+0

ええ、それはあまり意味がないと思った... – Sotos

答えて

0
デフォルトで

testFunc<-function(x,y){ 
    return(c(length(x), nrow(y))) 
} 

にあなたの関数を変更し

、Rの機能は、最後に評価値

0

最も簡単な方法を返す、という名前の変数を使用:しない理由

lapply(X = testList, FUN=testFunc, y=someDataFrame)

関連する問題