CATEGORY

R

【Rで作図】レジェンドを消す

グラフを作っていて、「レジェンド要らないな」と思って消した時の備忘録。 方法はいくつかあるけど、使い勝手が良かったのは、themeに “legend.position = “none”を追加する方法。 theme(legend.position = "none") これで、レジェンドが消えて、その分グラフの専有面積が水平方向に拡大した。     全体の […]

【Rトラブルシュート】csvで書き出すとき遭遇したトラブル

あるコードをcsvで書き出し、 # CSV で書き出し write.csv(Data, "file_name.csv", row.names = FALSE) それを別アプリで開こうとすると、下記エラーメッセージが出現した。 でも、エクセルから保存した csv ファイルは普通に work する……。   で、Rから write.csv() で出力したファイルをエクセルで開き、そのまま . […]

【Rで統計】カイ二乗検定

カイ二乗検定とは カイχ二乗検定というと、一般にピアソンのカイ二乗検定を指す事が多い。 仮説によって、適合度検定や独立性の検定などがある。 基本はt検定と似ているけれど、t検定が「2つの群の連続変数(numerical variable)の平均値の比較検定」(帰無仮説(null hypothesis)は、「平均値に差がない」)を検証するのに対して、 カイ二乗検定は「2群間のカテゴリカル変数(cat […]

【RStudio】基本言語を変更

この間、R と RStudio でバグが起こって全インストールし直したら、エラーメッセージが日本語に変わっていた。 どうやら、再インストールする時に疲れていて言語選択をスキップしてたみたい……。   別に日本語でも良いのだけれど、英語に慣れてしまったので、下記指示を入れて英語に変更。 Sys.setenv(LANG = "en") 無事、英語に戻せた。     リンク […]

【Rデータ整理】クロス集計表

カテゴリデータの集計表⇔データフレームの切り替え。 クロス集計表 例えば、 運動あり 運動なし 認知症あり 10 15 認知症なし 20 5 のようなデータの集計表を作る時。 基本は行列で作る。 行列(matrix)で作る場合 行列で作る場合は下記。 # クロス集計表を作る x < matrix(c(10, 15, 20, 5), byrow=TRUE, ncol=2) dimnames(x […]

【RStudio】RStudio Cloud を使う

私は、自宅PCと職場PCの2箇所でRStudioを利用していますが、時々データをクラウドに上げ忘れたりして困る事があります。 リモート接続で自宅PC⇔職場PCに入り、リモートでデータをクラウドに上げる、という方法で対処していますが、時々職場のセキュリティにかかることも……。   という事で、この機会に RStudio Cloud を使ってみる事にしました。 RStudio Cloud と […]

【Rトラブルシュート】Error in seq_len(n) : argument must be coercible to non-negative integer

今までサクサク動いていたコードで、カラーコードだけ変更したつもりでRUNしたら、最後にグラフを ggsave で保存する時に下記メッセージ↓。 Error in seq_len(n) : argument must be coercible to non-negative integer 下記フォーラムの回答によると、 数値が来るべき所に文字列とかNAとか、別のものが紛れ込んでいると出てくるメッセ […]

【Rデータ整理】tidy data に変換する

↑ これは見やすいけど、Rで計算する場合は tidy data じゃないのでちょっと困る。 これを、Rに取り込んで、tidy data に変換する方法。 tidy data と messy data については、多くのサイトで詳しく紹介されているので、ここでは割愛。 データの取り込み まずは、もらった “Fig044_BlMSA03-2dHipp.xlsx” という名前の […]

【R Markdown】エラーが起こっても中止しない方法

通常、エラーが起こったらRは処理を停止するけれど、人へのチュートリアルなどの時は、エラーを見せたい時もある。 そんな時は、 error = TRUE をチャンクオプションに加える。(通常は FALSE になっている。) ```{r, error=TRUE} 1 + "a" ``` アウトプットでは、下記のようにエラーの説明が入る。 Error in 1 + “a”: non […]

【Rで統計】二元配置分散分析:One-way factorial ANOVA

二元配置分散分析の求め方。 “二元” の “2” は、「目的変数に影響を与えるかもしれない因子型の説明変数が2つある」とゆーこと。 例えば下記の例。   基本事項は一元配置分散分析と同じだけれど、二元配置分散分析では、どのタイプの平方和を選択するかで結果が変わってくることがある。   分散分析の前提条件は下記3点。 N数が十分に多 […]

【R Markdown】外部スクリプト等をチャンク内で読み込む

RMarkdownは多機能だけど、内容が増えたら、コードを外部の.rmdファイルや、他の.rファイルなどに配置し、チャンクで読み込むようにした方がなにかと便利。 見た目が簡潔になるし、Rコードのデバック等も、Rスクリプトでやるほうが簡単な場合が多い。 外部の RMarkdown ファイルをチャンク内で読み込む場合 子ファイルの RMarkdown (child) を作成 子ファイル (child) […]

【Rデータ整理】行方向の平均値を出して任意の列に適応

列A、列B、列C…の各行毎に平均値を出して、それぞれ新しい列に結果を追加する方法3つ。 個人の練習も兼ねて前後の工程も記載しているので、あしからず。 事前準備 データの取り込み 人からもらった、とあるデータを取り込む。 Dat1 <- read.csv("./Data/Fig055.csv", header=TRUE) 結果は下記。 データのチェック 取り込んだデータの5-7列に […]

【R Markdown】ビジュアルモードで記述

RMarkdownで記述→knit→記述→knit…という作業を行っていくけれど、 ちょっとした所をプレビューで確認したいだけなら、毎回 knit しなくても、ビジュアルモードに切り替えるだけで事足りる場合も多い。   RStudio にも、wordpress のようにビジュアルモードとテキストエディタモードを切り替えて使うことができる。 例えば下記のような記述があって、 確 […]

【Rで統計】一元配置分散分析:One-way factorial ANOVA

統計について何もわからないまま研究を始めた頃、最初に覚えた合言葉:パラメトリックで2群比較はt検定、3群以上の比較は分散分析(Analysis of variance, ANOVA)。   ・ ・ ・   とゆーことで、今回はANOVAをRで行う時の覚え書き。   分散分析の前提条件は下記3点。 N数が十分に多い 分散が等しい 正規分布 分散はBartlett検定で、 […]

【RMarkdown】word文書をMarkdown形式に変えてRに取り込む

RMarkdown → Wordだったら、アウトプット形式をwordに変えてknitすれば良いけど、 今回は、 一度wordで出力して、色々編集した後にもう一度RMarkdownに取り込みたい 誰かが作ったword文書をRMarkdownで編集したい などの時に、Word → Markdown に変換する方法。   なお、今回参考にしたサイトは下記。 マニュアルで変換 内容が少なければ、 […]

【RMarkdown】wordアウトプットのスタイルを変更

先日、htmlアウトプットのスタイル変更について書いたので、 今回はwordアウトプットのスタイル変更について。   htmlの場合はスタイルのcssファイルを作ってそれを参照するようにしたけど、 wordの場合は、 wordファイルで自分の目的に沿ってスタイルを変更し それを.docxファイルで保存して そのスタイルを参照する という方法をとる。   とゆーわけで、「word […]

【RMarkdown】htmlアウトプットにカスタマイズのCSSスタイルを適応

RMarkdownを英語だけで使っていた時は規定のスタイルで気にならなかったのだけれど、 先日、日本語を使ってみたら、英語と日本語のフォントで明らかな差があったり、大きさのバランスが悪くて気になったので、CSSをカスタマイズした。 RMarkdownのhtmlアウトプットにカスタマイズのCSSスタイルを適応 CSSを作る CSSはブログ等で使っている形式と同じ。 今回は変更したかった部分はフォント […]

【Rデータ整理】欠損値(NA)の取り扱い④:群の中央値で補完する

NAの取り扱いシリーズ第4段。   今回は、他のデータから推測して補完する方法。 よく使われるのは、中央値(median)で補完する方法。 場合によっては平均値(mean)でもいいけど、中央値の方が外れ値の影響を受けにくいので、中央値の方が好まれる。 群の中央値で補完 (1) 例えば下記のようなデータフレーム(Dat)で、”Employees” のデータが2箇所欠 […]

【Rデータ整理】欠損値(NA)の取り扱い③:他のデータから予測し補完する

NAの取り扱いシリーズ第3段。   今回は、他のデータから予測できる場合にその情報を使って補完する方法。 他のデータを使って補完 例えば下記のようなデータフレームがあった場合、 “State” が<NA>になっているけど、隣の “City” がわかっていれば100%推測可能。 New Yorkはニューヨーク州(NY)だし、San […]

【Rデータ整理】NAの取り扱い方①:NA/NA以外のデータの抽出方法

データ整理をしていると、データが抜けていて欠損値になっている事がある。 この時の対処方法いろいろ。 前処理:空欄を NA に置き換えてデータをインポートする 例えば、下記のようなデータがあって、いくつか空欄がある。 これをRに取り込むと、 Dat <- read.csv("Data.csv") 空欄部分は時々空欄のまま、時々”NA”として認識される。   こ […]

【Rベーシック】絶対パスと相対パス

絶対パスと相対パスについて 上記、csvファイルやxlsxファイルを取り込む際、データが同じフォルダにあったら”ファイル名.csv” etc.だけでいいけど、ファイルが別の場所にある場合は、絶対パスや相対パスで場所を指定する。 絶対パス 場所を1番上の階層から全部書いていく。 Dat1 <- read_csv("D:/R/R directory/R_example/D […]

【R Markdown】Figureサイズの設定方法

R Markdown で Figures のサイズを設定する方法3つ。 YAML ヘッダーで設定する 最初の YAML ヘッダーで指定できる。 --- title: "My Document" output: html_document: fig_width: 6 fig_height: 4 --- チャンク内で設定する チャンク内に下記のように記載する事で設定可能。 knitr::opts_ch […]

【Rトラブルシュート】Error: attempt to use zero-length variable name

R markdown のチャンクに ```{r fig.height=10 fig.width=6} コード色々 ``` と書いて、「Ctrl + Enter」で実行しようとしたら下記エラーが出た。 Error: attempt to use zero-length variable name 調べると、Rチャンクの一部を普通のRスクリプトの様に実行すると、Rはこのコードを全てのRコードとして実行 […]

【Rで作図】グループ内でサブブループによってプロットの色と形を変える

下記のようなグラフがあり、   これにプロットを重ねたい……でもただプロットするだけじゃなくて、各グループ内にいるオスとメスがプロットの形と色で区別できるようにしたい。 そんな場合の備忘録↓ グループ内でサブブループによってプロットの色と形を変える 1.サブグループの列を作り、レベル指定する まずは、プロットの色形を変えるためのサブグループ毎のデータを指定する。 今回の例では、”Dat […]

【Rで作図】棒グラフにプロットを重ねる

最近はどのジャーナルからも「棒グラフにはプロットを重ねるように」と言われると思う。 私自身、プロットしていないと気持ちが悪い。 で、その方法 ↓ 棒グラフにプロットを重ねる 棒グラフだけだと mean とかのデータを使うけど、プロットを重ねる時はボックスプロットなどと同じ様に生データのデータフレームを使う。 (コード内では、表の上にもっていきたい方を後ろの方に書く。) 棒グラフの部分は、 stat […]

【Rで作図】x軸ラベルを斜めにする

下記グラフのx軸ラベルを斜めにしたい場合。 theme(axis.text.x = element_text(angle = 角度, hjust = 高さの調節)) を追加する。 theme(axis.text.x = element_text(angle = 45))   angle だけ指定すると、文字は真ん中で回転する。   なので、高さも指定。 theme(axis.t […]

【Rで統計】F検定とt検定

等分散の検定 データが等分散かどうか、F test で検証。 var.test(グループ1, グループ2)   var.test(Tg$NFT, WT$NFT) アウトプットは下記↓ output F test to compare two variances data: Tg$NFT and WT$NFT F = 4.3765, num df = 5, denom df = 5, p- […]