-1

R の mean 関数と sd 関数は、長さ 1 の数値ベクトルを返します。
ベクトルではなく、単一の値として平均と標準偏差を計算したいと思います。

これは単純に思えます: mean/sd によって返されたベクトルの最初の要素を取得するだけです。(diffs[[i]] は数値ベクトルです)

meanvec<-mean(diffs[[i]])
mean<-meanvec[1]

ただし、これは別の長さ 1 のベクトルになります!!

Browse[1]> meanvec
[1] 0.9940868
Browse[1]> mean
[1] 0.9940868
Browse[1]> class(meanvec)
[1] "numeric"
Browse[1]> class(mean)
[1] "numeric"

長さ1の数値ベクトルではなく、単純な値として平均値とsdを取得するにはどうすればよいですか?? どうもありがとう!

4

1 に答える 1

10

R には単一の値などというものはありません。R に関する限り、スカラーは長さ 1 のベクトルであり、それについてできることは何もありません。ただし、長さ 1 のベクトルを R のスカラーのように使用できるので、何が問題なのかわかりません。

スカラーとスカラー固有の & 最適化操作がないため、R には非効率性があることに注意してください。これらは、R に似た新しい言語のコンテキスト内で議論されていますが、真のスカラーの欠如を含むいくつかの弱点に対処するために変更されています。

Ross Ihaka は、 JSM2010 (PDF)として与えられた論文のテキストでスカラーの問題について説明しています。当時のブログのコメンテーターの中には、ロスの考えを次のように取り上げている人もいます。

于 2013-03-28T03:26:18.557 に答える