いろいろ倉庫

KNIME、EXCEL、R、Pythonなどの備忘録

Tips

【R】リストの使い方メモ

・お題:リストの使い方が分からないので、メモしておきたい。 ・リストは、形式の異なるデータを詰め込めるデータ構造のこと。使うたびにググっていたので、少しまとめたい。 ・とりあえずデータを作る。 > library(tidyverse) #Rを便利に使うパッケージ > …

【R】Heatmap.2のクラスタリング情報を扱ってみたい

・お題:遺伝子発現を比較する際に、ヒートマップというカラフルな図をheatmap.2を使って作ってみた。この図では階層型クラスタリングとセットで使われることが多い。図示するだけではなく、階層型クラスタリングの情報も扱ってみたい。 ・正確には、クラス…

【R】色のベクトルを作りたい

・お題:元ベクトルに対応するように色を振ったベクトルを作りたい。 ・やることは、元ベクトルをファクター化して、色のベクトルから要素をとって来るような感じ。 > ori <- c("1","1","2","3","3") #元ベクトルを設定 > iro <- c("red", "blue", "yellow")…

【R】アルファベットや月のベクトルを呼び出したい

・お題:piと言えば円周率が割り当てられているように、アルファベットや月名を呼び出したい。 ・Rにはもともと割り当てられている変数がある。アルファベットや月名は、以下が割り当てられているのでメモしておきたい。 > LETTERS #大文字アルファベット [1…

【R】data.frameの列名を綺麗にしたり集計したい

・お題:スプレッドシートで作った表をRにデータフレームとして読み込んだら、列名が変で扱いづらい。うまいこと修正したい。 ・janitorというパッケージを使う。正しいことは以下を参照いただきたい。インストールは割愛。 https://cran.r-project.org/web/…

【R】クリップボードから読み込んだりしたい

・お題:クリップボードのデータを読み込んだり、クリップボードに結果を出力したりしたい。 ・EXCELなどの表をクリップボードにコピーした。 ・クリップボードをdata.frameとして読み込むには、read.tableで'clipboard'を指定すれば良い。> test1 <- read.t…

【R】複数項目含まれている列をうまいこと分けたい

・お題:データフレームを入手したところ、ある列の項目が一つの場合だけではなく、複数の項目をカンマで区切って繋げている場合があった。行を複製して要素をばらけさせたい。 ・何かのライブラリの関数でスパッとうまくような気もするが、該当するライブラ…

【R】データフレームの行や列の順番を変えたい

・お題:データフレームの行や列の順番を変えたい ・データフレームを作成する。 > df = data.frame(A = c(1.1, 2.1, 3.1, 4.1, 5.1),+ B = c(1.2, 2.2, 3.2, 4.2, 5.2),+ C = c(1.3, 2.3, 3.3, 4.3, 5.3),+ D = c(1.4, 2.4, 3.4, 4.4, 5.4),+ E = c(1.5, 2.…

【R】簡単にダイアログを表示したい

・お題:ダイアログを表示してぽちぽち選択できるようにしたい。 ・shinyというパッケージを使うといろいろなGUIを作成できるらしいのだけれど、いかんせん構文が理解できないので、もっと簡単に、もっとシンプルなダイアログを利用することを考える。 ・例…

【R】ggplot2メモ③(Multi-level label棒グラフ)

・お題:先日、ggplotで棒グラフを作成した。X軸のラベルを二層にしたい場合があったので、やり方をメモしたい。基本的にはfacetを使う。 ・ライブラリを読み込み、データを作る。 > library(tidyverse)> set.seed(1) > TestComp. <- rep(c("Vehicle", "Comp…

【R】ggplot2メモ②(棒グラフ)

・お題:Rでグラフを描くライブラリとして代表的なものに、ggplot2というのがある。先日使いそうなやつを纏めたけれど、一番使いそうな棒グラフが抜けていた。今回は棒グラフで私が使いそうなやつの例を纏めたい。 ・ライブラリを読み込む。tidyverseにggplo…

【R】ggplot2メモ

・お題:Rでグラフを描くライブラリとして代表的なものに、ggplot2というのがある。苦手で避けてきた。使いそうなやつを纏めて、しのぎたい。 ・ライブラリを読み込む。tidyverseにggplot2が入っているので、tidyverseを読み込む。 > library(tidyverse) ・…

【R】判定列を追加したい

・お題:表の情報を参照して、新たな列を作成したい。 ・いくつかやってみる。とりあえず表を作成する。 > library(tidyverse)> > df <- data.frame("Sei" = rep(c("Suzuki", "Tanaka", "Sato"), times = 4),+ "Mei" = rep(c("Taro", "Jiro", "Saburo", "Han…

【R】ベクトルを作りたい

・お題:サンプルデータを作成する際に、適当にベクトルを作成したいことがある。私は覚えが悪いので毎回ググっているが、面倒なのでメモしておきたい。 ・決められた文字(列)からベクトルを作成する。 ・ABCDABCDにする。 > rep(c("A", "B", "C", "D"), t…

【R】valueからnameを釣ってきたい

・お題:ベクトルやリストの要素には、名前を付けることができる。名前から要素を釣ってくるのが通常だけれど、今回は要素から名前を釣ってきたい。 ・例えば、名前付きのベクトルを作ってみる。 > vec1 <- c(1, 2, 3, 4)> names(vec1) <- c("A", "B", "C", …

【R】リストを潰したい

・お題:所用でリストをまっ平に潰したかったので、メモする。 ・例えば、ベクトルに名前を付けたり外したりしてみる。 > v1 <- c(1,2,3,4,5)> v1[1] 1 2 3 4 5> names(v1) <- c("A","B","C","D","E")> v1A B C D E 1 2 3 4 5 > v1 <- unname(v1)> v1[1] 1 2…

【R】遺伝子のIDを変換したり検索したい

・お題:データセットによって遺伝子のIDの記載方法が異なることがある。くっつけて解析する際に困るので変換・統一する方法を調べてみたい。 ・biomaRtというパッケージが使えるらしい。公式サイトは以下。 bioconductor.org ・今回参考にするチュートリア…

【R】data.frameのNAの行や列を何とかしたい+α

・お題:データには欠損値がつきものだけれど、欠損値があるとエラーが出ることもある。欠損値のある行や列を消したい。 ・適当にデータフレームを作る。 > library(tidyverse)#dplyr必須なので、tidyverseを起動> df<- data.frame(ID = c("A-01","A-02","B-…

【R】data.frameを読み込んだりくっつけたりしたい

・お題:data.frameの扱いをまだまだ覚えられないので、メモしておく。 ・データは適当にcsvで用意した。 ・とりあえず、tidyverseを読み込む。 > library(tidyverse) ・csvを読み込む。 > df0<-read.csv("20230416_0.csv")> df0 ・これでも良いといえば良い…

【R】data.frameの基本的な使い方をメモしておきたい

・お題:すぐに使い方を忘れるので、データフレームの基本的な使い方をメモしておきたい。 ・tidyverseを読み込む。 > library(tidyverse) ・適当にデータフレームを作成する。 > df <- data.frame(ID = c("A-01","A-02","B-01","B-02","C-01","C-02"),+ Sco…

【Python】モジュールを作ってみたい

・お題:処理の一部を関数化することがあるけれど、いちいち関数を作成するのもめんどくさい。関数を集めたモジュールを作成し、読み込むだけで関数を使えるようにしたい。 ・関数とモジュールの関係は、関数が「具体的な計算機能」のこと、モジュールが「関…

【R】パイプ演算子を学びたい

・お題:パイプ演算子というやつを使うと、分かりやすいコードが書けるらしい。どんなものか、体験してみたい。 ・先日Tidyverseを調べた際に、dplyrパッケージのチートシートにpipesという記述があった(以下)。 github.com ・pipesは日本語でパイプ演算子…

【R】処理を速くしてみたい

・お題:Rでfor文を使うと処理が遅いので、for文を使わずに処理を速くしてみたい。 ・以下のサイトを参考にさせて頂いた。 book.mynavi.jp ・とりあえず、以前のようにfor文で処理を記載してみる。1から1億まで整数を二乗して足してもらった。 > m=0> tic()>…

【R】処理時間を計測してみたい

・お題:処理にかかった時間を取得したい。 ・tictocという可愛らしい名前のパッケージを使ってみる。以下を参照した。 qiita.com ・install.packages("tictoc")でパッケージをインストール。 ・tictocを起動し、参考通りに実行してみる。tic()とtoc()で処理…

【R】繰り返し処理してみたい。

・お題:for文やwhile文を使って、繰り返し処理をしてみたい。 ・for文を使ってみる。1から10まで足し算することを考える。Pythonで書くとこんな感じ。rangeはわざわざリスト化する必要はないけれど、Rと似たような感じにしたくてリストにしてみた。list(ran…

【R】ggplot2で作図してみたい

・お題:先日インストールしたパッケージ群tidyverseに、ggplot2というグラフを作成するパッケージが入っていた。ggplot2でいろいろ作図してみたい。 ・以下のサイトを参考にさせて頂いた。非常に丁寧に解説なさっているので、ぜひそちらをご参照いただきた…

【R】Tidyverseに関するメモ

・お題:Pythonもそうだけれど、Rでは便利機能を備えたソフトウェアをインストールすることで、機能を拡張することができる。少し調べてみたところ、データサイエンスやりたいならとりあえずTidyverseというパッケージ集をインストールしておくと便利らしい…

【R】データの型を確認したり変更したりしたい

・お題:データの型が合わないと、うまく処理してくれない。データの型の確認方法や、変更方法をメモしておきたい。 ・とりあえず、オブジェクトを作ってみる。 > a<-1> b<-"2" ・それぞれのオブジェクトの型を確認する。Rではclass関数で出てくるっぽい。も…

【R】data.frameを直接弄ったりしたい

・お題:data.frameを直接弄ったりしてみたい。 ・とりあえず、data.frameを作成する。 > col1<-c(1,2,3,4)> col2<-rnorm(4,10,2)> col3<-sample(c("a","b"),4,replace = TRUE)> df=data.frame(col1,col2,col3)> df col1 col2 col31 1 11.516636 a2 2 14.030…

【R】数値データを作りたい

・お題:いろいろやってみたいときに、イメージするサンプルデータをテキパキ作れるとたぶん便利。数値データを作ってみたい。 ・好きに数値を入力したい。 > c(1,3,6,10)[1] 1 3 6 10 ・決まった数値を反復させたいときは、repを使う。例えば、1,2,3,1,2,3.…