[解決済み] ggplotで列名を指定するための変数の使用方法
2022-05-01 13:27:31
質問
ggplot コマンドがあります。
ggplot( rates.by.groups, aes(x=name, y=rate, colour=majr, group=majr) )
を関数の中に入れています。しかし、私は関数のパラメータを使用して、色とグループとして使用する列を選ぶことができるようにしたいと思います。すなわち、次のようなものが欲しいのです。
f <- function( column ) {
...
ggplot( rates.by.groups, aes(x=name, y=rate, colour= ??? , group=??? ) )
}
そのため、ggplotで使用する列はパラメータによって決定されます。例えば、f("majr")の場合、次のような効果が得られます。
ggplot( rates.by.groups, aes(x=name, y=rate, colour=majr, group=majr) )
しかし、f("gender")については、次のような効果が得られます。
ggplot( rates.by.groups, aes(x=name, y=rate, colour=gender, group=gender) )
試してみたものもあります。
ggplot( rates.by.groups, aes(x=name, y=rate, colour= columnName , group=columnName ) )
は機能しませんでした。
e <- environment()
ggplot( rates.by.groups, aes(x=name, y=rate, colour= columnName , group=columnName ), environment=e )
どのように解決するのですか?
を使用することができます。
aes_string
:
f <- function( column ) {
...
ggplot( rates.by.groups, aes_string(x="name", y="rate", colour= column,
group=column ) )
}
カラムを文字列として関数に渡す限り、(
f("majr")
よりも
f(majr)
) また、他の列も変更したことに注意してください。
"name"
と
"rate"
を、文字列にする。
もし、何らかの理由で
aes_string
に変更することができます(やや面倒ですが)。
ggplot( rates.by.groups, aes(x=name, y=rate, colour= get(column),
group=get(column) ) )
関連
-
R plot.new() のエラー : 図形の余白が大きすぎる
-
Rの警告 "条件の長さが1より大きいので、最初の要素しか使えない "に対する解決策
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] グループ化関数(tapply、by、aggregate)と*applyファミリ
-
[解決済み] ggplotで凡例のタイトルを変更する方法
-
[解決済み] ベクトル中のある要素のインデックスを求めるR関数はありますか?
-
[解決済み] データフレーム内の列を名前でドロップする方法
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?
-
[解決済み】変数をグループ別に合計する方法
-
[解決済み] data.frameのカラム名を関数に渡す
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
8.2 カマグラ(No.31〜No.40)
-
R: hclust(d, method = method)でのエラー : 外部関数呼び出しは NA/NaN/Inf(arg10) を持つことができません。
-
データボックス内の行/列の削除/追加を行うR言語
-
Rによる系統的クラスタリング(階層)分析のグラフ形式の完全版
-
R言語における共通関数
-
[解決済み] R および RStudio のコンソールをクリアする関数
-
[解決済み] R:自然対数を使った方程式をnlsで使う
-
[解決済み] 非常に大きなテーブルをデータフレームとして高速に読み込む
-
[解決済み】エラー:Rで関数が見つかりませんでした。
-
[解決済み] ggplot2 で個々のファセットにテキストをアノテートする