2016-05-23 6 views
0

私はプロットを取得し、メソッドのパラメータを最適化しようとしています。リストに関数をプロットして適用する方法

ここで私は、私はここで私は私が20未満行

output<-matrix(,20,) 

を持って知っているので、その後、私は20行が、未知の列の空行列を作る、私が使用したパッケージおよび関連データ

をロード私はあなたが次の操作を行うことができます

iteration <- c(100, 200, 300, 400, 500) 

for (i in 1:length(fiedler2009subset)){ 
output[,i] <- estimateBaseline(fiedler2009subset[i], method="SNIP",iterations=100) 
} 
+0

@ジンボウ通常のデータ構造ではありません。たとえば、私がdputを実行すると、このようなものが得られます。クラス構造( "MassSpectrum"、package = "MALDIquant")>、 ......です私はそれにこだわっています – nik

+0

'estimateBaseline(fiedler2009subset [[i]]、method =" SNIP "、iterations = 100)'を使用してください。 '?estimateBaseline' – Jimbou

+0

@Jimbouごめんなさい、分かりませんでした。私はそれをdputに使用していますか? – nik

答えて

1

を行う方法がわからないこれは個々の繰り返し数との$ intenstityにestimateBaseline機能を適用したい:

output<-list() 
for (i in 1:length(fiedler2009subset)){ 
    output[[i]] <- estimateBaseline(fiedler2009subset[[i]], method="SNIP", iterations=100) 
    } 

outputがリストになりました。 lapplyすることができますそれぞれの素子を介してloop

df <- do.call(cbind, output) 

編集:

あなたはこのような何かを行うことができますコメントしたら:

マトリックス/ data.frameとしても保存

lapply(output, head, 2) 
[[1]] 
     mass intensity 
[1,] 1000.015  3149 
[2,] 1000.117  3134 

[[2]] 
     mass intensity 
[1,] 1000.015 3709.00 
[2,] 1000.117 3701.75 

[[3]] 
     mass intensity 
[1,] 1000.015  3834 
[2,] 1000.117  3789 

output<-list() 
for (i in 1:length(fiedler2009subset)){ 
    tmp <- do.call(cbind, lapply(iteration, function(x) estimateBaseline(fiedler2009subset[[i]], method="SNIP", iterations= x))) 
    # clean up 
    rownames(tmp) <- tmp[, 1] 
    tmp <- tmp[, -seq(1, length(iteration)*2, by=2)] 
    colnames(tmp) <- paste0(colnames(tmp), "_", iteration) 
    output[[i]] <- tmp 
    } 
+0

私はそれがすでに好きで感謝します。出力を元のデータと同じ構造にすることは可能ですか? – nik

+0

はい、私はそうだと思いますが、私は 'S4'オブジェクトの経験がありません。しかし、なぜ? – Jimbou

+0

この投稿を見る私は、私はそれにこだわっているhttp://stackoverflow.com/questions/37390426/run-a-function-to-optimise-tw-parameters-based-on-a-list-data-structure – nik

関連する問題