ggplotで複数のデータセットを1つの図に描画し、2つのスケール軸の問題

1907 ワード

ggplotで複数のデータセットを1つの図に描画し、2つのスケール軸の問題
図面を描くときに、異なるデータセットのデータを同じ図に描く必要がある場合があります.例えば、医学的に患者のAST、ALT、ウイルス量などの異なる指標を1つの図に描いて、これらの指標の変化傾向に関する傾向を観察する.また、図に別の文字をマークするなどします.以下は私が検索したいくつかの方法で、皆さんに検討してもらいます.
1
自分でテストできる方法で、自分の問題を簡単に解決しました.以下コードを参照
library(ggplot2)
x 

以上は主に私自身の問題を解決し、箱須図の上部にサンプル数をマークしたいと思います.ggplot 2に組み込まれている関数はまだ見つかっていません.だから自分で思いついた解決策.このコードは比較的分かりやすい.baseパケットの作図ロジックに似ていますが、より使いやすいです.図全体のscaleは,2つの異なる図の全体的な需要を組み合わせて考慮した.読者はgeom_text()のy値を大きくしてみることができ、座標軸は自動的に拡張されます.

これはネット通学の方法で残念ながら全部理解できなかったので、結果を繰り返すことができませんでした.原作者を尊重するために以下は私が見つけた原文の住所です.https://codeday.me/bug/20171228/112335.html興味のある方は行ってみてください.

同じキャンバスに表示したい図の数値範囲が大きく異なる場合はどうすればいいですか?ある指標が上昇したとき、別の指標がどのように変化するかなど、変化傾向の相関性を見たいだけなら、2つのデータセットのy値を標準化して、本当の数値を表示しなくてもいいです.実際の数値も見たい場合は、二軸図を使用して完了する必要があります.次はコードです
#a data set for example
Date 

(上記のコードもネットで見つけましたが、当時はサイトを記録しておらず、原作者に申し訳ありません)
以上のデータは時間系列データであり,2つの異なる変数の変化傾向を示している.なお、コードにおけるy値の変化処理は、y = Amount/20sec_axis(~. *20, name = "Amount")の2つの設定を含む.sec_axis(trans = NULL, name = waiver(), breaks = waiver(),labels = waiver())変数の解釈は、trans A transformation formula name The name of the secondary axis breaks One of: NULL for no breaks waiver() for the default breaks computed by the transformation object     A numeric vector of positions     A function that takes the limits as input and returns breaks as output labels   One of:     NULL for no labels     waiver() for the default labels computed by the transformation object     A character vector giving labels (must be same length as breaks)     A function that takes the breaks as input and returns labels as output

私はただR知識の運搬工で、私はまだ自分でR関連の内容を生産しません.大神たちの仕事と熱心な分かち合いに感謝します.Rベースは重要であるが,問題ベースのまとめも実用的であり,逆にRベースの理解を促進することができる.私はずっとこのような考えに基づいて私の文章を書いて、自分を励まして続けます.