2010-12-11 4 views
3

R:ループを使用せずに行列のすべての要素に対してログ操作を実行するにはどうすればよいですか?R:ループなしで行列の要素をログに記録する方法

私は行列mを持ち、各要素をそのログに置き換える必要があります。 ログ(m)が機能しません。

params = array(list(),c(2, 2)) 

次にすべての要素を手動で設定します。

params 

[1] [2]

[1] 3 3

[2] 3 3

log(params) 

エラーでlog(params):数学的関数への非数値引数

答えて

4

log(M)正しい行列上の私たちのすべてのための作品:

R> M <- matrix(1:4,2) 
R> M 
    [,1] [,2] 
[1,] 1 3 
[2,] 2 4 
R> log(M) 
     [,1] [,2] 
[1,] 0.00000 1.0986 
[2,] 0.69315 1.3863 
R> 

はあなたが私達にあなたのMを表示することができますか?

+0

私はそれを私の質問に追加しました。 – Uri

+1

データタイプが不適切です。私の答えには、例えば*のような*数値型を作成してください。 –

1

あなたは行列の作成に失敗しました。これはリストの行列を持ち、数の行列を必要とします。
はこれを試してみてください:

params<-array(3,c(2,2)) 
log(params) 
0

は現在、いくつかのマトリックス細胞で0があると仮定します。さらに、そのようなセルの出力に0を表示するとします。

今、ソリューションをどのように計算しますか?

log(0)はいい数字ではありません。

関連する問題