[解決済み] RでcolSums。x' は少なくとも2次元の配列でなければならない。
2022-02-05 05:26:10
質問
私はコーディング全般の初心者です。という名前のデータフレームから2つのパラメータを計算しようとしています。
a
行iと列jについて、Rで求めることに興味があります。
B = (j列の全値の合計) - a[i,j].
C = (i行の全値の合計) - a[i,j].
i=1 , j=2 の場合、書いている。
A = a[1,2]
B = (colSums(a[1:nrow(a),1],na.rm = FALSE, dims = 1) - A)
C = (rowSums(a[1,1:ncol(a)],na.rm = FALSE, dims = 1) - A)
Cが正解のようです。しかし、Bはエラーになります。
Error in base::colSums(x, na.rm = na.rm, dims = dims, ...) :
'x' must be an array of at least two dimensions
他のスレッドも読みましたが、私の答えは見つかりませんでした。何かいい方法はないでしょうか?
解決方法を教えてください。
この問題は、コマンド
a[1:nrow(a),1]
. このコマンドは、データフレームの最初の列のすべての行を選択します。
a
しかし
は結果をベクトルとして返します(データフレームではありません)。関数
colSums
は、(ベクトルのような)1次元のオブジェクトでは動作しません。
余談ですが、この場合
1:nrow(a)
を使えば、すべての行を選択することができます。同じようにカンマの前に空の引数を指定する方が簡単です。
a[ , 1]
.
データフレームの例です。
dat <- data.frame(a = 1:3, b = 4:6)
# a b
# 1 1 4
# 2 2 5
# 3 3 6
1列を選択した場合、結果は自動的にベクトルに変換されます。
dat[ , 1]
# [1] 1 2 3
を指定した場合
drop = FALSE
の場合、1列のデータフレームが返される。
dat[ , 1, drop = FALSE]
# a
# 1 1
# 2 2
# 3 3
この1列のデータフレームは2次元のオブジェクトなので
colSums
.
colSums(dat[ , 1, drop = FALSE])
# a
# 6
関連
-
[解決済み】エラー:'dimnames' [2]の長さが配列の範囲と等しくない [終了しました]
-
[解決済み】ベースグラフィックスでプロットエリアの外側に凡例をプロットする?
-
[解決済み] テスト
-
[解決済み】「次のオブジェクトは 'package:xxx' からマスクされています」とはどういう意味ですか?
-
[解決済み】Rのメモリ管理/サイズn Mbのベクトルを割り当てられない
-
[解決済み】「Error in stripchart.default(x1, ...) : invalid plotting method」エラーを回避する方法は?
-
[解決済み】Rで結果の行数がベクトル長(arg 2)の倍数でない件
-
[解決済み】R4DSのエラー比較(1)は、アトミック型とリスト型でのみ可能です
-
[解決済み】Rでmax.printの制限値を増やす方法
-
[解決済み] 2次元配列の定義方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】'builtin'型のオブジェクトはsubsetableではない【重複
-
[解決済み] Stataバージョン5-12の.dtaファイルではない
-
[解決済み】R - if文の引数の長さが0である。
-
[解決済み] テスト
-
[解決済み】「次のオブジェクトは 'package:xxx' からマスクされています」とはどういう意味ですか?
-
[解決済み】ggplot boxplotでPosition-dodge警告?
-
[解決済み】「'dimnames' [1]の長さが配列の範囲と等しくない」とはどういう意味ですか?
-
[解決済み】Rで文字ベクトルから引用符を削除する
-
[解決済み】Rで結果の行数がベクトル長(arg 2)の倍数でない件
-
[解決済み】Rで、Error: ggplot2 doesn't know how to handle of data of class numericに対処する。