問題タブ [rowsum]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
12372 参照

r - Rの指定された列数の行列のrowsum

特定の行について、R の行列の列の合計を取得しようとしています。ただし、行全体を合計するのではなく、指定された数の列のみ、つまりこの場合は対角線の上のすべての列を合計したくありません。sum 関数と rowSums 関数を試しましたが、奇妙な結果が表示されるか、エラー メッセージが表示されます。説明のために、以下の 8x8 マトリックスのコード例を参照してください。最初の行では、アイテム [1,1] を除く行の合計が必要です。2 行目では、アイテム [2,1] と [2,2] を除く合計が必要です。

私は次のことを試しました:

または:

私が理解しているように、rowSumsにはベクトルではなく配列が必要です(理由はわかりませんが)。しかし、合計を使用する2番目の方法が機能しない理由がわかりません。理想的には、対角線の上にある行のすべての列のみを合計する何らかの方法があります。

どうもありがとう!

0 投票する
1 に答える
3337 参照

r - 文字行列で選択した行を合計します: エラー 'x' は R の数値でなければなりません

私はRが初めてで、これは本当に基本的なことですが、うまくいきません。たとえば、このdata.frameの列6:11の行を合計したい:

dput(タブ.res)

tab.res <- structure(c("RIL", "RIL", "RIL", "RIL", "RIL", "RIL", "RIL", "RIL", "RIL", "1993"," 1994", "1995", "1996", "1998", "2000", "2003", "2006", "2009", "0.622648030237929", "0.622780354568876", "0.623028859270455", "0.623336617104674", "0.624702676975245" , "0.62229896748978", "0.619100952240793", "0.62242230375717", "0.621052639967347", "21.8279151394679", "18.558235100949", "19.1066487340136", "19.4658454721166", "19.7990392265612", "20.5366574203101", "22.3737846431613", "21.6823832708024", "22.5832057096871", "558.462585034014", "460.190476190476", "457.319727891156", "455.210884353742", "437.78231292517", "455.360544217687", "569.442176870748", "488.367346938776", "512.421768707483", "42.048152226551", "35.7094330210724" , "36.4311339004591", "35.8460590917321", "33.3991893243174", "33.9938868563961", "39.9166803633779", "34.7098561898221", "35.4769784708925", "44.0903088045558", "40.5555666070647", "41.419372563604", "43.5776682933757", "45.5922072021568", " 46.0154886164247"、"47.3378504648163"、"46.41940144389"、"49.5580273139249", "40.6511227624141", "39.1466514500133", "40.4409858368967", "41.4903119307394", "42.9108185069093", "45.7459942527593", "47.7880868127877", "48.8291523581031", "48.3273707080036", "31.3644667603767", "31.0971941969479", "32.4804982013221" , "32.4553994494653", "34.2369548403931", "35.6674106248615", "38.53520691726", "38.8160980443", "40.8055122694451", "24.5415097525631", "23.5956393932039", "23.6298291129159", "24.6786066881199", "25.3372707363408", "25.7293935423119", " 26.2842616375337"、"29.2438109789201"、"29.6350482936186"、"76.6236464549925", "44.5672068727091", "46.962777170159", "48.0267179639631", "51.298941016064", "53.5121260383574", "55.4511984380194", "53.5652556461721", "55.2830178740705"), .Dim = c(9L, 11L), .Dimnames = list (NULL, c("Treat", "Year", "WD", "BA", "StemD", "AGB.10.20", "AGB.20.30", "ABG.30.40", "ABG.40.50", " ABG.50.60"、"ABG.60.+")))Dimnames = list(NULL, c("Treat", "Year", "WD", "BA", "StemD", "AGB.10.20", "AGB.20.30", "ABG.30.40", "ABG.40.50" "、"ABG.50.60"、"ABG.60.+")))Dimnames = list(NULL, c("Treat", "Year", "WD", "BA", "StemD", "AGB.10.20", "AGB.20.30", "ABG.30.40", "ABG.40.50" "、"ABG.50.60"、"ABG.60.+")))

これで問題は解決するはずです:

tab.res$total <- rowSums(subset(tab.res, select=6:11))

しかし、私は取得し続けます:

rowSums(subset(tab.res, select = 6:11)) のエラー: 'x' は数値でなければなりません

「as.numeric」を使用してエラーが発生したものを変換しようとしましたが、どこにも行きません...誰に電話して問題がどこにあるのか教えてください。

0 投票する
6 に答える
51884 参照

r - R の行と列の合計

これは、私のデータセット ( MergedData) が R でどのように見えるかの例です。各参加者 (5 行) がすべてのテスト (7 列) でスコア番号を取得しました。すべてのテストを組み合わせた (すべての列) が、参加者ごと (行) の合計スコアを知りたいです。

また、私の完全なデータセットには、これらのいくつかの変数だけではありません。可能であれば、数式とループを使用して、行ごと/列ごとに入力する必要がないようにしたいと思います。

私はこれを試しましたが、うまくいきません:

次のエラー メッセージが表示されます。

これを解決するにはどうすればよいですか?ありがとうございました!!

0 投票する
1 に答える
539 参照

r - 対角線上/下の行列の行和

上/下三角行列(対角線付き)の行/列の合計を計算したい。例:

これは単純なループで実行できることはわかっていますが、これはfor避けたいと思います。私は純粋なR解決策を探しています。

0 投票する
1 に答える
364 参照

r - ループ内の交互の行のrowSums

私は、Paper出版年を含む毎年の論文の引用と、いくつかのメタ情報(ジャーナル、著者)について呼び出されるデータフレームを持っています。次のようになります。

出版から 2 年後の引用の合計を計算し、このリストを に追加したいと思いますPaper。ただし、私は毎年ではなく、リストに指定されているものだけに興味がありますYears。私の手順 (以下のコード) は次のとおりですPaperPublication.Year、選択し、最初の年 (つまり、 1999 年)Publication.Yearの X 行を選択し、合計を計算し、合計をバインドし、cbind to にバインドします。X2000X2001Paper

これを行う(より)エレガントな方法はありますか?

0 投票する
1 に答える
1108 参照

r - R の rowsum の範囲内の値を除外する

データフレームの各行の行合計を取得しようとしていますが、条件があります。log2 を適用した後、-1 と 1 の間のすべての値を除外したいと思います。NA を除外する方法は知っていますが、実際の数を除外することについて混乱しています。私のデータフレームは、行と列の名前を除いて単なる数字です。

0 投票する
2 に答える
4315 参照

r - 大規模なデータ フレームで文字列の出現回数を行ごとにカウントする

大きなデータフレームでバイナリ文字の結果を行ごとにカウントしようとしています:

私が知る必要があるのは、行ごとの勝敗の頻度です。これはほんの短い例 (大規模なシミュレートされた出力の一部) ですが、行 1 の場合、5 つのシミュレーションで、5 つの損失、2 つの行で 3 つの損失、2 つの勝利などがあります。

行ごとの勝敗の頻度を示す別のテーブルを生成するか、それが機能しない場合は、2 つの新しい列を追加することを望んでいました。

各行は異なるケースであり、各列はそのケースの複製です。これは、「負け」「勝ち」の 2 つのレベルを持つ要因のデータ フレームとして表示されます。