【Rで作図】Y軸タイトルを2列にする
ggplot2でグラフを描いたとき、Y軸タイトルを長ーくすると、2列に降りたくなる。 ▲ グラフの中にY軸タイトルが収まりきれない。。。 その方法の備忘録。 Y軸タイトルを2列にして、位置を調整する 正規表現「\n」で改行する。 # Y軸タイトルを2行に labs(x = "", y = "Thickness of the CA1 \n (ventral hippocampus) [μm]") 2 […]
ggplot2でグラフを描いたとき、Y軸タイトルを長ーくすると、2列に降りたくなる。 ▲ グラフの中にY軸タイトルが収まりきれない。。。 その方法の備忘録。 Y軸タイトルを2列にして、位置を調整する 正規表現「\n」で改行する。 # Y軸タイトルを2行に labs(x = "", y = "Thickness of the CA1 \n (ventral hippocampus) [μm]") 2 […]
色調のバランスは変えないまま、全体的に配色を変えたい事は多い。 例えば下の細胞の絵でやってみる。 配色を変える 目的のオブジェクトを選択した状態で、 「編集」→「カラーを編集」→「オブジェクトを再配色」 プロパティパネルが現れる。 明度や彩度を変更 明度や彩度を変更したい場合は、プロパティパネルの下にあるバーを動かす。 例えばもっと明彩色にしたい場合は、バーを右側に移動。 明るい黄緑 […]
PowerPointで、スライド番号を挿入することがよくある。 このとき、表紙には番号をつけたくない。 で、表紙を除いた1枚目を「スライド番号『1』」としたい。 スライド番号の挿入(表紙は番号の表示を隠す) スライドナンバーを挿入するには、「挿入」→「テキスト」→「ヘッダーとフッター」 「スライド番号」に☑を入れると、デザインで配置した場所にスライドナンバーが挿入される。 このとき、 […]
先日、諸々の事情あり、サブドメインを作って、特定の記事をそちらに移動した。 その際にいくつか必要な操作があったので、忘れないようにメモメモ….φ(・ω・ )。 記事を別サイトへ移動 All-in-One WP Migrationを使って、まるっと移動 まずは、全記事をまとめて移動する方法。 今回は大量の記事を画像やコメント、PV数etc.ごと、まるっと移動したかったので、プラグインを使 […]
この血管細胞のイラスト。。。 ダイレクトセレクトで選択してみると、アンカーポイントが無駄に多いのがわかる。 アンカーポイントが多いと、線がガタガタしているし、保存したときに容量も大きくなるので、こんな単純な形はアンカーポイントを減らした方がよい(単純化)。 単純化(アンカーポイントを減らす) 目的の画像を選択した状態で、「オブジェクト」→「パス」→「単純化」。 アンカーポイントの数は35ポイントあ […]
Outlookで受信箱にやってきたメールを自動で振り分ける方法 etc.。 メールの自動振り分け 振り分け先のフォルダを作る まずは、振り分け先のフォルダを作る。 受信箱で右クリック → 新規フォルダを選択。 新規フォルダを作成し、名前をつける。 送信者毎に自動振り分けする①:ルールを作成 自動振り分けしたいメールを選択し、右クリック。 「Rules」を選択。 「From」に☑を入れ […]
私は、「できれば休日深夜早朝構わず、必要と思った時にメールを書いてそのまま送信し、後は次のメールがくるまで忘れておきたい」と思うタイプ。 これまでは、私と同じようなタイプの人たちと仕事をすることが多かったため、特に問題にはなっていなかった。 送信する側としては、 「別に返事を急かすつもりはなく、翌日や週明けに返信がくればいいので。」 くらいの気持ち。 けれども、そこは相 […]
職場のメールがExchange Serverになったので、自宅PCのOutlookにも同期させることに。 Exchangeに接続 コントロールパネルを開き、右上の「View by」のリストで「Small icons」を選ぶ。 「Mail(Microsoft Outlook)」を選択。 「Mail Setupのウィンドウが開いたら、「Profiles → Show Profiles…」を […]
R Markdownのチャンクオプション(include など)は、コードチャンクやその出力の表示方法および動作を制御するために用いる。 これにより、レポートの構成や内容を柔軟にカスタマイズすることが可能となる。 RMarkdownのチャンクオプション色々 include オプション チャンク全体を出力に含めるか否かを制御するオプション。 include = TRUE: チャンクのコードと結果を出 […]
これまで、ファイル名をハイフン “-” で区切っていたけど、諸々の事情でアンダースコア “_” に変更することに。 でも、一つ一つ手作業で変更するのは大変。 ……とゆーことで、ファイルエクスプローラー内のフォルダ名やファイル名を一括で変更する方法の備忘録。 いくつか方法があるけど、私はWindowsを使っているので、PowerShellを使って一括変 […]
文字列の抽出には、stringrパッケージのstr_extract()やstr_extract_all()を使う。 また、数値の抽出には、readrパッケージのparse_number()も使える。 3つの関数のざっくりとしたイメージは以下の通り。 str_extract(), str_extract_all(), parse_number()の特徴 str_extract():最初の一致を抽出 […]
特定の条件にマッチするかどうかを判定する関数には、str_detect() と grepl()を使うことができる。 str_detect() は stringr パッケージの関数で、grepl() はRの標準パッケージ(base)。 どちらとも正規表現が使える。 シンプルな検出なら grepl() でもよいけれど、str_detect()の方が汎用性が広いので、こちらをよく使っている。 また、st […]
str_count(string, pattern) は、文字列内に正規表現pattern がいくつ出現するかをカウントする関数。 この関数は、stringr パッケージに含まれているので、まずは、library(stringr) でパッケージを読み込む。 install.packages("stringr") library(stringr) str_count() str_count()の基本 […]
文字列を繰り返し複製する時には、str_dup() と strrep()などを使う。 str_dup():stringrパッケージの関数で、ベクトル化が簡単、使い方が直感的。 strrep():base R (標準関数)の関数で、追加パッケージのインストールは不要。 類似の関数にrep()があるけど、これは、ベクトル全体を繰り返すのに使う。str_dup()とstrrep()は文字列 […]
文字列のフォーマットを変更する時には、stringrパッケージに含まれているstr_to_upper(), str_to_lower(), str_to_title(), str_to_sentence()等を使う。 文字列のフォーマットを変更する関数 大文字にしたい → str_to_upper() 小文字にしたい → str_to_lower() タイトルケースにしたい → str_to_ti […]
あるvectorの要素を繋げて一つの文字列にしたい場合、str_flatten()やpaste0()を使う。 どちらも文字列を結合(連結)するための関数だけれど、使い方や挙動にいくつかの違いがある。 str_flatten() str_flatten() は、stringrパッケージの関数で、ベクトル内の要素を1つの文字列に結合するために使う。 ベクトル内の各要素を、collapseの区切り文字で […]
文字列を部分的に抽出したり、置換したりするときには、R標準パッケージ(base)のsubstr()、もしくは stringrパッケージならstr_sub()を使う。 substr()とstr_sub()の違い substr() は、Rの標準関数で、インストール不要でどこでも使える。 str_sub() は、stringrパッケージの関数で、可読性が高く、機能が充実。 実際には、以下の […]
文字列の中の文字数をカウントする方法としては、R標準パッケージ(base)に含まれるnchar()関数や、stringrパッケージのstr_length()関数等を使う。 ここでは主にstr_length()関数についてまとめておく。 str_length() str_length() の基本構造 str_length(string) 引数 string: 文字列または文字ベクトル。str_len […]
2つのデータフレームを結合するときには、dplyr::join()関数を使う。 join()関数は、dplyrパッケージの関数なので、まずはdplyrパッケージをインストールして読み込む必要がある。 install.packages("dplyr") library(dplyr) ただし、join()という関数自体はdplyrには存在せず、inner_join()、left_join()、righ […]
Rのrownames()関数は、データフレームや行列(matrix)の行名(row names)を取得または設定するための関数。 基本的な使い方 行名を取得する rownames(データフレームまたは行列) 例: df <- data.frame(A=1:3, B=c("X", "Y" , "Z" )) rownames(df) # 行名を取得 output [1] "1" "2" "3" […]
前回、R標準パッケージ(base)とstringrパッケージの比較をしてみて、「処理速度は、場合によってはbase、場合によってはstringrの方が速い」ということがわかった。 で、具体的にどのときにbase、どのときにstringrが速いのか、調べてみた。 処理速度に関する違い stringr の方が速い場合 ベクトル化された処理が可能なため、stringrの方が速くなることがある。 一貫した […]
とあるデータをインポートし、数セル分だけ抽出。 # データのインポート df1 <- read_excel("Data/data.xlsx", sheet="mom" ) df2 <- filter(df1, df1$...3=="Unknown" ) RefGene <- df2[df2$...5=="GAPDH" , "...6" ] ここでRefGeneはリスト型で返ってく […]
下記コードを書いて、scale_fill_manualでバーグラフの色を指定したけど、効かなかった。 p1 <- ggplot(df_6h, aes(x=Sample.name, y=Rel.Exp)) + stat_summary(fun=mean, geom="bar", colour="black" ) + scale_fill_manual(values=c("Cont"="whit […]
古いバージョンのパッケージを使っている場合、互換性の問題を引き起こす事がある。 この場合、update.packages()でパッケージをアップデートすると良い。 update.packages() アップデートが必要なパッケージをどんどん見つけ出してくれる。 「UPDATEしたい?」と聞かれるBOXが現れるので、「YES」とすれば、自動でアップデートしてくれて便利。
職場で、キングジムのテプラPRO SR599Pを購入。 このテプラ、PC上でデザインして、無線で印刷できるスグレモノ。 ……なんだけど、無線の設定に手間取ったので、同僚のPC設定のために備忘録。 いくつか方法があるけど、環境によって設定方法が異なる。 共通項目:アプリケーションのインストール ここは共通。 KING JIMのHPから、テプラPRO用ソフトウェア(とドライバ)をダウンロードする。 ダ […]
今まで、個人で Adobe Creative Cloud をサブスクリプションしていたけれど、今度から職場の Adobe ライセンスを利用できるようになりました! 2011年にAdobe がサブスク化してから、驚くほど使用料が高くなった……けれど、Adobe 関係の App は毎日と言っていいほど使っているので、弱者は言われるままでに高額サブスク料を支払うのみ……という関係がもう10年以上続いてい […]
最近職場が変わり、任期なしポストに着任しました。 これからよっぽどの事がない限り職場が変わらない……とゆー意気込みで、この機会に、個人購入していた Office365 を職場の Office365(テニュアは無料!)に完全移行することにしました。 で、そこで問題となるのが、長年貯めてきた OneDrive のデータ。 最初は地道に “ダウンロード → アップロードR […]
最近、思い切って異動!で、自宅から2時間弱かけて通うようになって……まあ、遠いです💦 往復4時間近くの通勤時間を無駄にはできないので、特急電車で通勤し、移動中も仕事の時間に! で、そこで重要となるのが、テザリング。 電車の中にもWiFiは入っているけど、まだイマイチ遅いので、毎回iphoneでテザリングして、メールのやりとりなどをしています。 今回はその […]
grepで特定の行を抽出しようとして下記コードを書いたら、 data=c <- Data[grep("Int", Data$ADNC, invert=T)] 下記メッセージ。 Error in `[.data.frame`(Data, grep("Int", Data$ADNC, invert = F)) : undefined columns selected あれ?と思って […]
データフレームから、dplyr::filter()を使って、特定の行を抽出する方法。 今回は、下記データ(Data)を使用。 > print(Data) ID Cohort Sex Age ADNC LBDSubtype 1 149 LBD M 83 Low BP 2 634 AD M 78 High DN 3 632 AD F 75 High BP 4 901 LBD M 74 Not T […]
データフレームから、grepを使って、特定の行を抽出する方法。 今回は、下記データ(Data)を使用。 > print(Data) ID Cohort Sex Age ADNC LBDSubtype 1 149 LBD M 83 Low BP 2 634 AD M 78 High DN 3 632 AD F 75 High BP 4 901 LBD M 74 Not TL 5 621 AD […]
[ ] (square brackets)を使って、各要素にアクセスする方法は、下記参照。 この基本を使って、データフレームの列を抽出する。 今回は、下記データ(Data)を使用。 > print(Data) ID Cohort Sex Age ADNC LBDSubtype 1 149 LBD M 83 Low BP 2 634 AD M 78 High DN 3 632 AD F 75 Hig […]
[ ] (square brackets)を使って、各要素にアクセスする方法は、下記参照。 この基本を使って、データフレームの行や列を抽出する。 今回は、下記データ(Data)を使用。 > print(Data) ID Cohort Sex Age ADNC LBDSubtype 1 149 LBD M 83 Low BP 2 634 AD M 78 High DN 3 632 AD F 75 H […]
久しぶりにRで作図していたら、下記メッセージ。 Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0. ℹ Please use `linewidth` instead. あれ?今までこんなメッセージ出てなかったのに……と思って調べると、ggplot2 3.4.0からは、線の太さを「size」ではなくて「li […]
以下に示すのは、ggplotを使って、平均値で棒グラフを作る方法。 前準備 パッケージのインストール あらかじめ、必要なパッケージをインストールしておく。 library(tidyverse) library("ggplot2") データフレームのインポート 使用するデータフレームをインポートする。 今回は、任意の場所に作っておいたxlsxファイルを使用。 # xlsxファイルの読み込み Data […]
右側のパネルに、画像を複数並べて表示したい場合、 「View」→「Multi-view」→「Wet grid size」を選択すると、色々選択肢が出てくる。 1x1 1x2(横並び) 2x1(縦並び) 2x2 3x3 Add row:行を追加 Add column:列を追加 Remove row:行を削除 Remove column:列を削除 Reset viewer sizes:設定をリセット […]