R 関数の目次

UB3/informatics/R_functions

このページの最終更新日: 2025/08/06


R 関数の目次です。「データフレームから特定の列・行を抽出する」のような「作業内容による目次」は R の目次 をご覧ください。



  1. システム系の関数
  2. パッケージ系の関数
  3. 数を発生させる関数
  4. オブジェクトの書き出し、読み込みを行う関数
  5. オブジェクトの情報を表示する関数
  6. オブジェクト自体を操作する関数
  7. オブジェクトの中身を操作する関数
  8. 図形描画に使える関数
  9. 統計検定に使える関数

広告

「あとがき」で当サイトを参考にしたと書いてくれているラノベです。面白かったです。

システム系の関数

作業ディレクトリ、R オブジェクトではない一般的なファイルの操作などに関する関数。

sessionInfo()

現在の使用環境を表示する。

getwd()

作業ディレクトリを表示。現在のパスと考えて良い。

setwd()

作業ディレクトリを指定する。" " で囲むのを忘れがちなので注意。

list.files()

作業ディレクトリには、R のデータであるオブジェクト以外のファイルもある。それらの一覧を表示する (参考)。Mac shell script の ls 関数 に相当するだろう。 list.files(./フォルダ名) のような使い方も可能。

file 操作に関係する関数も一覧にしておく。

  • file.path ('a.txt'): a.txt というファイルのパスを表示
  • file.info ('a.txt'): ファイル情報を表示
  • file.create ('a.txt'): a という名前のファイルを作る
dir.create()

dir.create("name") でディレクトリを作成する。

system.time()

プロセスにかかった時間を出力する。user, system, elasped の 3 つが表示され、elasped が実際の実行時間となる。単位は秒である。

capabilities()

libxml, X11, cairo などのツールが使えるかどうかの一覧を表示する。

quit() R を終了する。

パッケージ系の関数

パッケージ操作に関する関数。

install.packages()

パッケージをインストールする。詳細は R のパッケージ: Install, CRAN の使い方など を参照のこと。

install.packages("パッケージ名") で良いが、install.packages("パッケージ名", dependensies = TRUE) とすると、依存関係のあるパッケージもまとめてインストールできる。

remove.packages()

remove.packages("パッケージ名") で、特定のパッケージを取り除く。

library()

どのようなパッケージが用意されているかを見る。

library(パッケージ名): たとえば library(outliers) で、outliers という名前のパッケージを呼び出す。

require()

require(パッケージ名) でパッケージを呼び出す。library と極めて近く、違いはパッケージが存在しないときに処理を続行するかどうか。library は止まり、require は止まらない。



オブジェクトの書き出し、読み込みを行う関数

saveRDS
readRDS

saveRDS(object, file = "filename.obj") として、オブジェクトを拡張子 obj のファイルとして保存する。

読み込む場合は、A = readRDS(file, refhook = NULL) とすることで、ファイルの内容が A というオブジェクトとして保存される。

save.image()

全てのオブジェクトを保存する。デフォルトでは .RData という不可視ファイルに保存される。save.image(file = "abc.RData") のようにファイル名を指定するとよい。

RStudio を閉じるときに Save workspace image to ... と聞かれるが、これは save.image() と同じことである。

ファイルを右クリックして RStudio で開けるが、スクリプト中で読み込むなら load を使用する。

assign()

assign(A, B) で、A に B を代入する (B を割り振る)。

具体的には、for loop を回して assign(variable, 計算結果) とすると、各ループの結果をそれぞれ違う名前でオブジェクトとして保存できる。

write.csv

データフレームを csv ファイルに書き出す。

read.csv()
read_csv()

R デフォルトの csv ファイルを読み込むための関数。データフレームとして読み込むようで、これが都合が悪いので read_csv を使うように推奨しているページがある (参考)。

csv ファイルを tibble として読み込む。readr パッケージに含まれている。

read.delim()

スペースなどで区切られたテキストファイルを読み込む。

write()

write(x, file = "filename") で、オブジェクト x の内容をファイルに書き出す。

  • append = TRUE or FALSE: 上書きするかどうかの指定
  • ncolumns = 1: 書き出すファイルにおける列の数

参考: R 出力の記録45. ファイルへのデータ出力

オブジェクトの情報を表示する関数

str()

str(dataframe) でデータフレームの情報を表示する。各列が text, numeric... などを表示してくれる。

dim()

データフレームの次元を表示する。行数 (obs) 列数 (variables) の順に表示される。

identical()

identical(A, B) で、ベクター A と B が同一であるかを TRUE or FALSE で返す。

is.numeric()

is.numeric(A) で、ベクター A が数値であるかを TRUE or FALSE で返す。ベクター専用であり、A がデータフレームだと FALSE になるので注意。R の数値には、整数 integer と浮動小数点数 double という 2 つのタイプがある。


オブジェクト自体を操作する関数

ls()

Mac の ls と同様、ワークスペース内のオブジェクト一覧を表示。 () の中にオブジェクトを入れると、その列などが表示される。

mode()

オブジェクトがベクターのとき、そのモードを表示する。データ型 を参照。

unlist()

リストをベクターに変換する。List 形式のデータの一部を取り出すと、取り出されたデータもリストになり、そのまま計算に使えない。unlist する必要がある。

経験上、dataframe ではあまりうまくいかない。数値のデータフレームがうまく認識されず、write.csv で書き出し、それを read.csv で読み込んだら解決したことがある。

rm()

オブジェクトを削除する。shell とは異なり、ワイルドカード * が使えない。

  • 全てのオブジェクトを削除したいときは ls と組み合わせて rm(list=ls()) とする。
  • パターン検索したいときは ls および pattrn と組み合わせて rm(list = ls(pattern = "\\bresults.")) のようにする (参考)。

print()

オブジェクトを出力する。write.csv のような関数を使う場面の方が多いかもしれない。

summary()

オブジェクトのサマリーを表示する。数値データに使うと平均値、標準偏差などが計算されるが、たとえば統計検定の結果をオブジェクトに保存して、summary で内容を見るように使うこともある。

t()

オブジェクトの行列を入れ替える。データフレームでなくなってしまうことがあるので、data.frame(t(A)) または t(A) %>% as.data.frame() とすることも多い。

data()

data() で読み込めるデータの一覧を取得し、data(データ名) でそのデータを読み込む。「読み込む」とは、オブジェクトとしてワークスペースに保存するということ。

data.frame()

データフレームを作成。

c()

ベクターを作成。A = c(1,2,3,4,5) のようにして、オブジェクト A に 1-5 を入れる。A は 1 次元のベクターになる。

matrix()

行列を作成。

rbind, cbind

行列を結合する。rbind は行列を縦に、cbind は横に繋げる。


数を発生させる関数

seq()

seq(最初の数, 最後の数, 間隔) で連続する数を指定。 A = c(seq(1, 5, 1)) でオブジェクト A に 1-5 を入れる。

seq(from = 10, to = 1, by = -1) と書けば逆順にできる。by = -1 は含めなくても逆順になる。ただし、seq(10:1) では昇順になってしまう。さらに、from = 1, to = 10, by = -1 では、数の大小と符号の向きが一致していないのでエラーになる。from, to, by を入れて覚えた方がわかりやすいだろう。

rep()

rep(繰り返すもの, 繰り返し数) で繰り返しを作る。c(rep("A", 10)) なら文字列 A の繰り返しになる。

A = c(1, 2, 3) というベクターに対して rep(A, 3) とすると、1 2 3 1 2 3 1 2 3 のようにベクターが 3 回繰り返される。

R による塩基配列解析 で、ランダムな配列を生成するのに使用している。

rnorm

正規分布 を作成する。A = rnorm(10, 0, 1) のように、サンプル数、平均値および標準偏差を指定する。

runif

runif(n, min, max) で、離散型一様分布の乱数を発生させる。


オブジェクトの中身を操作する関数

tidyverse パッケージに含まれる関数

tidyverse は単独のパッケージでなく、モダンなデータ分析を可能にするパッケージがまとめられたものである。詳細は tidyverse のページ を参照のこと。

select()
filter()

データフレームから、指定した通りに列 (select) または行 (filter) を抜き出す。

mutate()

データフレームに、新たに変数 (基本的には列) を追加する。外部ベクターを指定する場合は、当然だが行の数が違うとエラーになる。

mutate(dataframe, 追加する列名1 = vector, 追加する列名2 = vector...) のような形。既存の列名を使えば、列の入れ替えも可能。

str 系の関数

str_pad(): str_pad(string, width, side = c("left", "right", "both"), pad = " ")) で、string の幅を width 分だけ side 方向に伸ばし、pad で指定した文字で埋める。

str_sub(): 決まった文字数だけ削る。str_sub(vector, start = 数字, end = 数字) で、vector の各要素から数字の部分を選択する。

pivot 系の関数

データフレームの形を、縦長、横長に変換する。

apply 系の関数

データフレームまたは行列に対し、行ごとまたは列ごとに、特定の演算を行う。

arrange()

データフレームの行をソートする関数。R 標準の order よりもはるかに使いやすい。

join() 系の関数

full_join, left_join, inner_join などがある。inner_join の場合、2 つのデータセットで、ある列を基準として共通に存在するものだけを結合する。

bind_cols, bind_rows という関数もある。

slice

行番号で行を抽出する。slice(dataframe, 1) など。

match

外部ベクターを参照して、データフレームの行の順番を変えるなど。

その他の関数

desc()

文字列の逆順にソートするときに、arrange と組み合わせて使用した。arrange だけだと、数値で逆順のソートは - をつけて列指定すればできるが、これは文字列カラムでは動かない。desc を使う必要がある。

pull()

データフレームから、列をベクターとして抽出する。df$A とすると、df というデータフレームから A の列を抽出できるが、抽出された A もまたデータフレームとなる。df %>% pull(A) のようにすると、ベクターとして抽出できる。

行をベクターとして抽出する場合は、この方法ではうまくいかないので、リンク先の関数のページを参照のこと。

gsub()
sub()

sub("置換前の文字列", "置換後の文字列", データフレーム) で、データフレーム内の文字列を置換。条件に合う文字列の 最初の 1 個のみ を置換する。全てを置換したいときは gsub を用いる。参考: ベクターの要素を置換する

paste()

文字列操作の関数。複数の文字列を連結して、1 つの文字列にする。引数がベクトルの場合、それぞれの要素ごとに連結する (参考)。間に挟む文字列は、sep または collapse (ベクトルの場合) で指定する。"" として空を指定すれば、連続した文字列になる。

paste0()

連続した文字列としてペーストする。スクリプトに変数が含まれ、それをファイル名に含めて出力したいときwrite.csv(paste0(variable), ".pdf") によく使っている。変数を結果に含めつつ for loop を回すときにも便利。

sample()

無作為抽出を行う関数。

abs()

abs(数値) で絶対値を返す。

sort()

sort(ベクター) で並べ替える。

scale()

データを標準化する。つまり、平均値 = 0、標準偏差 = 1 のデータに変換する。scale(vector) でよい。全て同じ値だったり、標準化できないベクターは全て NaN になるので注意。

aggregate()

計算しつつ値をまとめる。たとえば、グループ A, B, C が割り振られたデータが 10 個あるとき、A は 5 個、B は 3 個・・・などとカウントできる。

names()
colnames()
rownames()

colnames(データフレーム) のようにして列名を返す。names でも同じ結果になり、違いはよくわからない。rownames の場合は行名を返す。

colnames(A) <- vector のようにして、ベクターで列名や行名を変更することができる。もちろんこの場合、A の列の数と vector の要素の数が一致していないとエラーになる。詳細は データフレームの行名、列名を扱う を参照のこと。

round()
signif()
ceiling()
floor()

値を丸める関数。切り上げと切り下げが ceiling と floor なのが面白い。


図形描画に使える関数

plot()

plot(X, Y) のようにオブジェクト X, Y の散布図を作る。

barplot(A)

オブジェクト A の棒グラフを描画する。→ R を使った棒グラフの作り方

boxplot(A)

オブジェクト A の箱ひげ図を描画する。

hist(A)

オブジェクト A のヒストグラムを表示。→ R を使ったヒストグラムの作り方

abline()

グラフに回帰直線を追加する。lm などの結果を収めたオブジェクトを指定する。

venn.diagram(A)

オブジェクト A のベン図を作成する。→ R を使った図の作成 から「ベン図の作成」を参照のこと。

heatmap()

heatmap(A) で、オブジェクト A のヒートマップを作成する。このほか、heatmap2 や pheatmap という関数もある。→ R を使ったヒートマップの作り方

par()

グラフの重ね書き。例えば plot の次に par(new = T) として、もう一つグラフを重ねられる。plot のページに詳細あり。軸などの設定に注意。

split.screen()

グラフを並べて表示する。グラフを並べて表示する を参照。

png()
pdf()
jpeg()
bmp()
postscript()
pictex()

グラフをさまざまなファイル形式でグラフを出力する関数である。詳細は R グラフをファイルとして保存する を参照のこと。

distinct_palette()

数が多いカラーパレット。microViz というパッケージに含まれる関数。


統計検定に使える関数

t.test(A, B)

ベクトル A, B に対して t 検定 をかける。

cor(A, B)
cor.test(A, B)

ベクトル A, B に対して 相関分析。相関係数と P 値などの算出。

grubbs.test(A)

オブジェクト A に対して外れ値の検定 Grubbs test をかける。

lm()

線形回帰の関数。単回帰分析重回帰分析 のページがある。

set.seed()

正則化回帰 などでランダムな seed を使う関数では、繰り返すと違う結果が返ってくる。これが嫌な場合は、set.seed(1) のように seed の値を指定する。数値は基本的に何でも良いはず (参考)。

p.adjust()

多重検定などで p 値を補正する場合に使用。

コメント欄

サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。