2016-04-19 3 views
1

私はRで可能な限り効率的にプログラムしたい数式を持っています。Rで数学的な和をするには?

$ \ sum_ {i = 1}^{N}(x_i- \ bar x)(y_i- \ bar y) $

は、我々は次の例のデータを持っているとしましょう:

x = c(1,5,7,10,11) 
y = c(2,4,8,9,12) 

どのように私は簡単に別の機能を加えることなく、このデータと、この合計値を得ることができますか? これらの数学的な合計を計算できるパッケージまたは関数はありませんか?

+0

私はこのlm()関数について知っています。私はその機能をたくさん使います。しかし、私はちょうど、これらのような数学関数のための簡単な修正があるのだろうかと思っていた。あなたはこれを簡単に修正できる何かがそこにあると思うでしょう。 – Ansjovis86

+0

さて、あなたの質問は、これらの量を計算する関数があるかどうかを尋ね、それが基底Rに存在することを指摘します。あなたは同意します....したがって、私は質問に完全で完全な答えを与えたと思います。 – Sycorax

+0

それで、私はそれをうまく策定していません。私は回帰には興味がありませんが、ゲレナルでのそのような数学的な和を解決することに興味があります。私は回帰の部分のビットを削除しました。 – Ansjovis86

答えて

6

sumコマンドとベクトル化操作を使用してください:ここsum((x-mean(x))*(y-mean(y)))

キー啓示はsum関数は、単に引数(ベクトル、行列、何でも)以上の合計を取っているということです。この場合、ベクトルを与えるだけで十分です。この場合、ベクトル式はsum(z)より少し複雑ですが、(x-mean(x))*(y-mean(y))zと評価されるため、コマンドが少し華やかであるということは実際には変わりません機能の仕組みこれは、sumコマンドだけでなく、多くの場所で当てはまります。

+0

ゼロを通る係数ではないでしょうか? – Toni

+0

@AntoniParellada私はあなたの意味を理解していません。 – Sycorax

+0

原点を通るOLS回帰直線の傾きを定義しているかのようです。 – Toni

関連する問題