研究室に配属されたばかりの新入生や、これからRで統計分析を始めたいと思っている方へ向けて、【R講座】では、RとRStudioの基本的な使い方から統計手法の選び方、基本的なデータ分析方法を解説しています。特にRが初めての方でも安心して学べるように、RStudioのクリック操作も紹介していきます。実際のコード例を交えながら進めるので、これからの研究やデータ分析に、役立てていただけたら嬉しいです。

みなさん、こんにちは!
前回のR講座では、RとRStudioのインストール方法について解説しました。

今回は、実際にRStudioを使って、インストールしたRStudioを使って、起動終了・ヘルプの見方から、演算子を使った計算やRのデータ型、文字列の操作など、Rの基本操作と重要な基礎知識について解説していきます。
- RとRStudioの基本操作
- Rで使う関数の構造や演算子
- 文字列データの操作
- パッケージとライブラリの活用
起動

アプリケーションを起動するには、以下のいずれかの方法を使用します。
- 拡張子が「.R」のファイルをダブルクリックして開く
- アプリケーションのアイコンをクリックする
終了
アプリケーションを終了するには、次のいずれかの方法を使用します。
- ウィンドウ右上(または左上)のバツ印をクリックする
- 以下のコマンドを実行する
# アプリケーションの終了
q() # もしくは、quit()
関数(コマンド)
Rには多くの関数があり、これらの関数を利用することで作業を行なっていきます。関数の基本構造は以下のようになります。
関数名(引数1, 引数2,...)
- 関数名の後ろには括弧「
()
」がついています。 - その中に、関数ごとに必要な値「引数」を入れ、カンマ(
,
)で区切ります。 - 関数の使い方や引数のリストはヘルプに記載されています。

エクセルを使ったことがある人なら、馴染みある構造だと思います。
オブジェクト
Rでは、Rが作成または操作するすべての実体を「オブジェクト」(object)と呼びます。
たとえば、次のものがオブジェクトに該当します。
- 変数
- 文字列
- 配列やデータフレーム
- 関数

「オブジェクト」と聞いて難しく感じるかもしれませんが、要は「変数や数値、データなどを入れておく箱」くらいに考えれば大丈夫です。
オブジェクトの代入演算子
オブジェクトには名前をつけて値を代入できます。これは一般的なプログラミング言語における「変数への値の代入」と同じです。
代入は次の演算子を使用して行います。
演算子 | 説明 | 例 |
---|---|---|
<- | 標準の代入 | x <- 5 |
-> | 後置型の代入 | 10 -> y |
= | C言語やJavaと同じ代入方法 | z = 20 |
Rでは代入に <-
が推奨されています。=
は関数の引数指定にも使われるため、混乱を避けるために <-
を使う方が無難です。
代入の演算子 <-
と数字の間にはスペースを開けておくと良いでしょう。
例えば、比較式「 x < -1
」(x は -1 より小さい)と入力したいときに、演算子と数字の間にスペースを入れずに「x<-1
」とすると、オブジェクト「 x
」に1が代入されてしまいます。
オブジェクトの代入(付値)
オブジェクトには名前をつけて値を代入できます。これは一般的なプログラミング言語における「変数への値の代入」と同じです。
# オブジェクトの代入
x <- 5 # x に値 5 を代入
y <- 10 # y に値 10 を代入
z <- 20 # z に値 20 を代入
# オブジェクトを使った計算
x + y # 結果は 15
Rでは特定の名前は予約語(キーワード)として処理に使用されているため、オブジェクト名として使用できません。
- break
- else
- for
- function
- if
- in
- next
- repeat
- return
- while
数字で始まる名前もオブジェクト名として使用出来ません。
value2 <- 10
2value <- 10
オブジェクトの確認と削除
Rの現在の環境に含まれているオブジェクトを確認するには、objects()
関数またはls()
関数を使用します。
# 環境内のオブジェクトの確認
objects() # もしくは、ls()
また、オブジェクト名をコンソールに打ち込むことで、オブジェクトの中身を確認できます。
# オブジェクトの中身を確認
x
y
z
[1] 5
[1] 10
[1] 20
オブジェクトを削除するときは、rm()
関数を使います。
# オブジェクトの削除
rm(x) # xを削除
rm(y, z) # yとzを削除
# オブジェクトの全削除
rm(list = objects()) # もしくは、rm(list = ls())

RStudioでは、右上ペインの「Environment」タブでオブジェクトを確認できます。
また、箒のアイコンでオブジェクトの全削除ができます。
コメント
入力したコマンドの意味などをメモしたいときは、#
を使います。
#
以下の文字列は無視されるので、そこにコメントを書き込みます。
# コメントの書き込み
print("Hello World") # このコードは"Hello World"と表示します

あまり使わないコードは時間が経つと忘れがちで、他人にも理解しづらくなるため、可読性を高めるためにも簡潔なコメントを残すといいでしょう。
履歴
前に使ったコマンドを再使用したいときは、コンソールペイン上でキーボードの上下の矢印キーを使います。

RStudioでは、右上ペインの「History」タブで履歴を確認できます。再使用したいコマンドをクリックするとコンソールペインに表示されます。
また、箒のアイコンで履歴の全削除ができます。
ヘルプ
関数のヘルプを見たい場合は、次のコマンドを使用します。
# 関数「print()」のヘルプを表示
help(print)
# または、
?print

コマンドを入力すると、RStudioでは、右下ペインの「Help」タブに関数のヘルプが表示されます。
for や in などの予約語や特殊文字のヘルプを参照する場合は、" "
で囲む必要があります。

インターネットには多くの解説があるので、ヘルプを見てもわからない場合はインターネットを検索してみましょう。
日本語で検索して見つからないときは、英語で検索すると見つかることがあります。
作業ディレクトリの設定

ファイルからデータやプログラムを読み込んだり,ファイルにデータを書き出したりする場所を作業ディレクトリといいいます。
現在のディレクトリの確認は次のように行います。
# 現在のディレクトリを確認
getwd()
[1] "/Users/Username/R"
起動時はホームディレクトリ( Rの実行ファイルがある場所) が作業ディレクトリとなっていますが,変更する場合は以下のようなコマンドを実行します。
# ディレクトリの設定
setwd("/Users/Username/R") # 架空のディレクトリ

RStudioのホームディレクトリの変更は以下の手順で行います。
- 「Tools」 → 「Global Options…」をクリックします。
- 「General」ウィンドウの「Basic」タブに移動します。
- 「Default working directory」横にある「Browse…」ボタンをクリックし、希望するディレクトリを選択します。
- ディレクトリ選択後、「Apply」を押して設定を適用します。
Rの計算と演算子

Rは関数と演算子を使って計算を行なっていきます。
ここでは基本的な演算子や演算記号、数学関数などを紹介します。
基本的な計算
演算子 | 説明 | 例 | 結果 |
---|---|---|---|
+ | 加算 | 3 + 2 | [1] 5 |
- | 減算 | 5 - 1 | [1] 4 |
* | 乗算 | 4 * 2 | [1] 8 |
/ | 除算 | 8 / 2 | [1] 4 |
^ | 累乗 | 3 ^ 2 | [1] 9 |
%% | 剰余 | 5 %% 2 | [1] 1 |
数学関数で計算
関数 | 説明 | 例 | 結果 |
---|---|---|---|
sin() | 正弦 | sin(pi / 2) | [1] 1 |
cos() | 余弦 | cos(pi) | [1] -1 |
tan() | 正接 | tan(pi / 4) |
|
sinh() | 双曲線正弦 | sinh(1) | [1] 1.175 |
cosh() | 双曲線余弦 | cosh(1) | [1] 1.543 |
tanh() | 双曲線正接 | tanh(1) | [1] 0.762 |
asin() | 逆正弦 | asin(1) | [1] 1.571 |
acos() | 逆余弦 | acos(0) | [1] 1.571 |
atan() | 逆正接 | atan(1) | [1] 0.785 |
asinh() | 逆双曲線正弦 | asinh(1) | [1] 0.881 |
acosh() | 逆双曲線余弦 | acosh(2) | [1] 1.317 |
atanh() | 逆双曲線正接 | atanh(0.5) | [1] 0.549 |
log() | 自然対数 | log(10) | [1] 2.303 |
log10() | 常用対数 | log10(1000) | [1] 3 |
log2() | 底が2の対数 | log2(8) | [1] 3 |
log1p() | log(1 + x) の計算 | log1p(0.5) | [1] 0.405 |
exp() | e の累乗 | exp(1) | [1] 2.718 |
expm1() | exp(x) - 1 の計算 | expm1(1) | [1] 1.718 |
sqrt() | 平方根 | sqrt(16) | [1] 4 |
round() | 四捨五入 | round(3.14) | [1] 3 |
trunc() | 整数部分のみ | trunc(3.99) | [1] 3 |
floor() | 小数点以下切り捨て | floor(3.99) | [1] 3 |
ceiling() | 小数点以下切り上げ | ceiling(3.01) | [1] 4 |
signif() | 有効桁数で丸める | signif(3.14159, 3) | [1] 3.14 |
論理・比較演算子
演算子 | 説明 | 例 | 結果 |
---|---|---|---|
== | 等しい | 3 == 3 | [1] TRUE |
! | 否定 | !FALSE | [1] TRUE |
!= | 等しくない | 3 != 4 | [1] TRUE |
> | 大きい | 5 > 3 | [1] TRUE |
< | 小さい | 3 < 5 | [1] TRUE |
>= | 大きいか等しい | 5 >= 3 | [1] TRUE |
<= | 小さいか等しい | 3 <= 5 | [1] TRUE |
& | AND (2つの式の両方が TRUE の場合にのみ TRUE を返します。) | TRUE & TRUE | [1] TRUE |
&& | AND (ベクトルの全要素に対してANDを評価します。) | TRUE && TRUE | [1] TRUE |
| | OR (ベクトルの全要素に対してORを評価します。) | TRUE | FALSE | [1] TRUE |
|| | OR (2つの式のうち少なくとも1つが TRUE の場合に TRUE を返します。) | TRUE || FALSE | [1] TRUE |
xor() | 排他的論理和 (2つの論理値が異なる場合に TRUE を返します。) | xor(TRUE, FALSE) | [1] TRUE |
その他の演算記号
記号 | 用途 |
---|---|
; (セミコロン) | コマンドの区切り (1行に2つのコードを書ける) |
: (コロン) | 公差±1の数列を作る |
%*% | 行列積 |
%o% | 外積 (関数outerと同じ) |
[ ] | ベクトル、行列の要素の取り出し |
[[ ]] | リストの成分の取り出し |
$ | リストの成分の取り出し |
|> | 左側のコードを右側の関数の第一引数に入れる |
# セミコロンを使って1行に2つのコードを書き込む
print("abc"); print("def")
[1] "abc"
[1] "def"
# 公差±1の数列
1:5
5:1 # 逆向きもOK
[1] 1 2 3 4 5
[1] 5 4 3 2 1 # 逆向きの場合
# 行列積
a <- matrix(1:4, nrow = 2)
b <- matrix(5:8, nrow = 2)
a %*% b
[,1] [,2]
[1,] 23 31
[2,] 34 46
# 外積
c(1, 2) %o% c(3, 4)
# もしくは、outer(c(1, 2), c(3, 4), "*")
[,1] [,2]
[1,] 3 4
[2,] 6 8
外積の %o%
の o
はアルファベットの o です。
# []を使ってベクトルの要素の取り出し
x <- c(10, 20, 30, 40)
x[2]
[1] 20
# []を使って行列の要素の取り出し
m <- matrix(1:9, nrow = 3, byrow = TRUE)
m[2, 3]
[1] 6
- Rではインデックスが 1 から始まるので
x[2]
はオブジェクト「x」
の2番目の要素を指します。 - 行列の場合は
[○行目, ○列目]
の順で要素を指定します。
# 行列 m の中身
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
# [[]](二重角括弧)を使って要素の取り出し
lst <- list(a = 1:3, b = "hello")
lst[[1]]
# lst$aも同じ結果になります
[1] 1 2 3
角括弧が一つの場合は、リスト名aも同時に出力されます。
lst[1]
$a
[1] 1 2 3

Rでは、これ以外にもたくさんの演算子や演算記号が用意されています。初めて触れる方は、「こんなこともできるんだ」と気軽に眺める程度で十分です。使っていると自然に覚えられると思います。
Rのデータ型

Rにはさまざまなデータ型があります。データ処理や分析に欠かせない要素なので、以下に主要なデータ型を紹介します。
データ型 | 説明 | 入力例 | 結果 | 備考 |
---|---|---|---|---|
空オブジェクト (NULL) | 値なし | x <- c() | NULL | 初期値や属性の削除に使用 |
欠損値 (NA) | データの欠け | NA | [1] NA | 集計や分析時に注意 |
非数 (NaN) | 数値表現不可のとき | 0/0 | [1] NaN | 計算エラー時に発生 |
無限大 (Inf) | 無限値 | 1/0 | [1] Inf | 正負無限大に対応 |
実数 (numeric) | 数値データ | 1.25e3 | [1] 1250 | 科学記法も対応 |
整数型 (integer) | 整数型データ | 10L | [1] 10 | Lをつけることで明示的に整数型を指定 |
複素数 (complex) | 実部と虚部を持つ数 | 1 + 1i | [1] 1+1i | 虚数は i で表現 |
文字列 (character) | テキスト | "abc" | [1] "abc" | ダブル/シングルクオートで囲む |
論理値 (logical) | 真偽 | TRUE | [1] TRUE | T / F も使用可能 (推奨外) |
Factor型 (Factor) | カテゴリデータ | factor(c("A", "B")) | [1] A B | 統計解析やグループ化処理を効率化 |
日付型 (Date) | 年月日 | as.Date("1999-12-31") | [1] "1999-12-31" | character やFactor 型とは異なる処理 |

RStudioでは右上ペインの「Environmet」タブからデータ型を確認できます。

関数の引数によってはデータ型の指定が必要な場合があるため、頭の片隅に置いておくとスムーズにコードを書く助けになります。
文字列の操作

いきなり文字列の操作するのかと思われるかもしれませんが、Rではパスやディレクトリの設定などに文字列を使うため、基本的な操作方法を紹介します。
文字列の基本
文字列はダブルクオート " "
またはシングルクオート ' '
で囲みます。
# ダブルクオートで囲む
"abc"
# シングルクオートで囲む場合は'abc'
[1] "abc"
タブスペース・改行・引用符
文字列にタブスペースや改行、引用符を挿入するときは「 \ 」を使用します。
# タブスペース
cat("abc\tdef")
abc def
# 改行
cat("abc\ndef")
abc
def
# ダブルクオート(\"で挟む)
cat("ab\"cd\"ef")
ab"cd"ef
cat()
関数は文字列や数値などを連結して、コンソールに直接出力する関数です。
\
を単体で使用するとエラーが表示されます。
文字列の結合
paste()関数
を使って複数の文字列を結合します。
# AとBCを結合する
paste("A", "BC")
[1] "A BC"
引数のsep = " "
やcollapse = " "
を変更することで、間に挟む文字の変更や一つに文字列に結合などができます。
文字列の長さ
nchar()
関数を使って各文字列要素の長さを返します。
# 文字列の長さを数える
nchar("abcdefg")
[1] 7
部分文字列の抽出
substring()関数
を使います。この関数はsubstring(文字列, 開始位置, 終了位置)
の引数で文字列を抽出します。
substring("abcdefg", 2, 5)
[1] "bcde"

ここでは、次のポイントを押さえておきましょう。
- 文字列は
" "
(もしくは''
)で囲む \n
で改行できるpaste()
関数で文字の結合ができる
パッケージとライブラリ

Rでは、関数やデータを機能別に分類し、パッケージとしてライブラリ形式で提供しています。必要に応じてパッケージのインストールや起動を行いましょう。
標準パッケージ
次のパッケージは標準搭載されているのものです。
パッケージ名 | 説明 |
---|---|
base | R の基礎パッケージ |
boot | ブートストラップに関するR (S-Plus) の関数 |
class | Classification に関する関数 |
cluster | クラスター分析用関数 |
ctest | 古典的検定用関数 |
eda | 探索的データ分析 |
foreign | R 以外の統計ソフト(SASなど)で作成されたデータファイルからデータを読むパッケージ |
grid | グリッド・グラフィックス・パッケージ |
KernSmooth | カーネル関数による密度推定用関数 |
lattice | ラティス・グラフィックス関数 |
lqs | Resistant 回帰と共分散推定 |
MASS | Main Library of Venables と Ripley’s MASS に関する関数 |
methods | 形式的なメソッドとクラス |
mgcv | 多変量平滑化パラメータ推定(GCV, GAM) |
modreg | 平滑化と局所的回帰 |
mva | 古典的多変量回帰 |
nlme | 線形・非線形の混合結果モデル |
nls | 非線形回帰 |
nnet | フィード・フォワード・ニューラル・ネットおよび多項式の対数線形モデル |
rpart | 再起分割 |
spatial | クリギングと点パターン解析 |
splines | スプライン回帰 |
stepfun | 経験分布を含む階段関数 |
survival | ペナルティ尤度を含む生存時間解析 |
tcltk | Tcl/Tk へのインターフェース |
tools | パッケージ開発と管理用ツール |
ts | 時系列解析に関する関数 |
拡張パッケージのインストール
標準パッケージの他に、たくさんの便利なパッケージがRでは提供されています。次の方法でインストールを行います。パッケージ名を任意のものに書き換えて使ってください。
# パッケージのインストール
install.packages("パッケージ名")

RStudioでは右下ペインの「Packages」タブにある「Install」ボタンをクリックします。

すると次のポップアップウィンドウが開くので、任意のパッケージ名を入力して、「Install」ボタンをクリックします。
パッケージの読み込み
標準パッケージ(例:base)はそのまま利用できますが、その他のパッケージを使うには以下のコマンドで読み込みます。
# パッケージの読み込み
library(パッケージ名)

RStudioでは右下ペインの「Packages」タブにあるリストにチェックを入れると、読み込まれます。
パッケージのヘルプ
パッケージのヘルプを参照するには、次のコマンドを入力します。
# パッケージのヘルプ
library(help = "パッケージ名")

パッケージのインストールと読み込みでは次のポイントに注意です。
デフォルトでは、パッケージのインストール時に install.packages("パッケージ名")
のように ダブルクオーテーション を使うのに対し、読み込み時は library(パッケージ名)
と クオーテーションなし で書くため間違えやすい点に注意が必要です。
どうしても揃えたい時は、library("パッケージ名", character.only = TRUE)
とすることで、インストールと同じ形式でパッケージを読み込むことができます。
まとめ
- RとRStudioの基本操作
- 起動・終了方法
- コメント・履歴・ヘルプの見方
- オブジェクト作成と操作
- 作業ディレクトリの確認・変更
- Rで使う関数の構造や演算子
- 算術演算と数学関数を使った計算
- 論理演算子と比較演算子
- Rのデータ型と文字列データの操作
- パッケージとライブラリの活用

今回は、RStudioを使って、起動終了・ヘルプの見方から、演算子を使った計算やRのデータ型、文字列の操作など、Rの基本操作について紹介しました。
項目がかなり多くなってしまいましたが、使っているうちに覚えていくものばかりなので、まずは「こんな機能があるんだ」という程度の理解から始めましょう。
次回は、関数を使って基本統計量の計算する方法について紹介します。