[解決済み] data.tableで変数を使ってカラム名を渡す[重複]。
2022-09-28 14:14:42
質問
重複の可能性があります。
data.tableのフィールドへの可変的な選択/割り当て
次の例では、カラム名 'x' と 'v' を持つデータテーブルを作成しています。
library('data.table')
DT <- data.table(x = c("b","b","b","a","a"), v = rnorm(5))
列 'x' の値にアクセスするには、:
DT[ , x]
# [1] "b" "b" "b" "a" "a"
しかし、変数を介してアクセスしたい場合は、うまくいきません。
temp <- "x"
DT[ , temp]
# [1] "x"
複数のカラムがあり、そのうちのいくつかのカラムの値を選択する必要があります。これらの列の名前は、Rモジュールを介して提供される予定です。
気にしないでください、私はそれを得た、それはそうでなければなりません。
DT[ , get(temp)]
どのように解決するのですか?
を使用します。
quote()
と
eval()
関数に変数を渡すことができます。
j
. この方法では、カラム名に二重引用符をつける必要はありません。
quote()
-の中で評価されるからです。
DT[]
temp <- quote(x)
DT[ , eval(temp)]
# [1] "b" "b" "b" "a" "a"
カラム名が1つの場合、結果はベクトルになります。もしdata.tableの結果や、複数のカラムが必要な場合は、リスト形式を使用します。
temp <- quote(list(x, v))
DT[ , eval(temp)]
# x v
# 1: b 1.52566586
# 2: b 0.66057253
# 3: b -1.29654641
# 4: a -1.71998260
# 5: a 0.03159933
関連
-
R 描画エラー plot.new() : 図形の余白が大きすぎる
-
[解決済み] Rでデータフレームに行を追加する方法は?
-
[解決済み] 特定のサイズのプロットウィンドウを作成する
-
[解決済み] データフレーム列の名前によるドロップ
-
[解決済み] 情報を損なわずに因数を整数値に変換するには?
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] ggplotで凡例のタイトルを変更する方法
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?
-
[解決済み】data.tableで名前を指定してカラムを削除する方法は?
-
[解決済み] data.tableにキーを設定する目的は何ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
R: hclust(d, method = method)でのエラー : 外部関数呼び出しは NA/NaN/Inf(arg10) を持つことができません。
-
R - よくあるエラーとその原因 - 注意事項
-
R plot.new() のエラー : 図形の余白が大きすぎる
-
R言語における共通関数
-
[解決済み] Rで複数行のコメントを持つことは可能ですか?[重複している]。
-
[解決済み] パッケージ 'xxx' は利用できません (for R version x.y.z) 」という警告にどのように対処したらよいですか?
-
[解決済み] require()とlibrary()の違いは何ですか?
-
[解決済み] Rでオブジェクト(変数)が定義されているかどうかを確認するには?
-
[解決済み】R関数でオプション引数を指定する "正しい "方法
-
[解決済み] テーブルをデータフレームに変換する方法