【R講座】基本操作について

R

この記事では、演算子を使った計算やデータの入出力方法、ヘルプの見方など、Rの基本操作について解説しています。

基本計算

Rは、簡単な計算を行うための強力なツールです。

ここでは、基本的な演算子を使って、四則計算や代入、関数計算の方法を解説します。

演算子

演算子には、算術演算子、代入演算子、論理演算子があります。

それぞれの演算子の一例を以下の表に示します。

算術演算子一例

演算子説明結果
+加算3 + 25
-減算5 - 14
*乗算4 * 28
/除算8 / 24
^累乗3 ^ 29
%%剰余5 %% 21

代入演算子一例

演算子説明
<-代入x <- 5
=代入y = 10

論理演算子一例

演算子説明結果
==等しい3 == 3TRUE
!=等しくない3 != 4TRUE
>大きい5 > 3TRUE
<小さい3 < 5TRUE
>=大きいか等しい5 >= 3TRUE
<=小さいか等しい3 <= 5TRUE
&ANDTRUE & TRUETRUE
|ORTRUE | FALSETRUE

演算子と数字の間にはスペースを開けておくことをおすすめします。

比較式「 x < -1」の演算子と数字の間にスペースを入れずに「x<-1」としてコードを実行すると、代入式として計算されます。

四則計算

四則計算は、足し算、引き算、掛け算、割り算の基本操作です。

以下はRを使った簡単な四則計算のサンプルコードです。

# 四則計算のサンプルコード
a <- 10
b <- 5

# 足し算
sum <- a + b
sum

# 引き算
difference <- a - b
difference

# 掛け算
product <- a * b
product

# 割り算
quotient <- a / b
quotient

このコードを実行すると、以下の結果が得られます。

[1] 15   # 足し算の結果
[1] 5    # 引き算の結果
[1] 50   # 掛け算の結果
[1] 2    # 割り算の結果

「#」の右側はコードとして実行されないため、コメントを入れることができます。

代入

Rでは、値を変数に代入して保存することができます。

代入演算子を使って変数に値を割り当てる方法を以下に示します。

# 変数への代入
x <- 42  # xに42を代入
y = 24   # yに24を代入

# 代入した変数の表示
x
y

このコードを実行すると、以下の結果が得られます。

[1] 42 # x
[1] 24 # y

関数計算

Rには多くの組み込み関数があり、これらを利用することで効率的に作業を行うことができます。

関数の基本構造は以下のようになります。

関数名(引数1, 引数2,...)

関数名の後ろには括弧がついています。その中に、関数ごとに必要な値「引数ひきすう」を入れていきます。

関数に必要な引数は、以下の方法で確認することができます。

??関数名

help(関数名) 

# 括弧をつけなくても大丈夫です

データの入力

Rでデータを入力する方法には、直接入力、データフレームの作成、CSVファイルからの読み込みがあります。

RではCSVの他にTSVが使えます。

直接入力

Rでは、c()関数を使ってデータを直接入力することができます。

# データを直接入力
草丈 <- c(10, 20, 15, 18, 22)
節数 <- c(5, 7, 6, 8, 9)

このコードを実行すると、以下のように草丈と節数のデータが入力されます。

# 草丈のデータ
[1] 10 20 15 18 22

# 節数のデータ
[1] 5 7 6 8 9

データフレームによる入力

データフレームは、行と列で構成された表形式のデータを扱うためのオブジェクトです。

次のコードでは草丈と節数のデータをデータフレームに格納しています。

# データフレームの作成
data <- data.frame(草丈, 節数)
data

このコードを実行すると、以下のようなデータフレームが作成されます。

  草丈 節数
1 10 5
2 20 7
3 15 6
4 18 8
5 22 9

データの要素にアクセス

データフレームの要素にアクセスする方法をいくつか示します。

# 草丈の列にアクセス
data$草丈

# 1列目にアクセス
data[1]

# 1行目にアクセス
data[1,]

# 1列目のベクトルにアクセス
data[,1]

# 1行1列の要素にアクセス
data[1,1]

データの要素追加

データフレームに新しい列を追加することもできます。

# 新しい列を追加
data$葉枚数 <- c(3, 4, 3, 5, 4)
data

このコードを実行すると、以下のようなデータフレームになります。

  草丈 節数 葉枚数
1 10 5 3
2 20 7 4
3 15 6 3
4 18 8 5
5 22 9 4

CSVファイルから読み込み

CSVファイルは、カンマ区切りのテキストファイルで、Rではread.csv()関数を使って読み込むことができます。

CSVファイルの入力方法と注意点はこちらで紹介しています。

パスを指定する方法

CSVファイルを読み込む際、ファイルのパスを指定する方法があります。

# Windowsの場合
data <- read.csv("C:/path/to/your/file.csv")

# macOSの場合
data <- read.csv("/Users/yourusername/path/to/your/file.csv")

# URLの場合
data <- read.csv("http://example.com/your/file.csv")

パス(PATH)は、コンピュータのファイルシステム内で特定のファイルやディレクトリにアクセスするための位置情報です。

次のように書きます。

  • 絶対パス:システムのルートディレクトリから始まる完全なパス
    • (例:C:\Users\YourName\Documents\file.txt
  • 相対パス:現在の作業ディレクトリからの相対的な位置を示すパス
    • (例:documents/file.txt

パスがわからない場合は、RStudioの右下ペイン「ファイルタブ」から目的のファイルの場所へ進み、ペインのメニューバーから「More」→「Copy Folder Path to Clipboard」の順でクリックするとパスをコピーできます。

ファイル名はコピーされないので、パスの後ろにファイル名を足してください。

拡張子(.csv)をつけ忘れたり、パスをダブルクォテーション(" ")で囲い忘れるとエラーになるので注意してください。

ファイル選択画面から読み込む方法

ファイル選択画面を使ってCSVファイルを読み込むこともできます。

# ファイル選択画面からCSVファイルを読み込み
data <- read.csv(file.choose())

パスを指定せずにファイルを選択できますが、どのファイルを選択したか履歴を残すことができないため、再現性の確保が難しくなります。

データの書き出し

Rで処理したデータをwrite.csv( )関数でCSVファイルに書き出すこともできます。

# データの書き出し
write.csv(data, "path/to/your/output.csv", row.names = FALSE)

このコードを実行すると、指定したパスにCSVファイルが保存されます。

図の描画

Rでは作図が簡単行うことができます。

今回は標準で入っているplot( )関数を使って散布図を描画します。

# 散布図の描画
plot(data)

次のような図が右下のペインに表示されます。

保存するときはPlotsペインの「Export」から「Save as Image...」または「Save as PDF...」で保存することができます。

Macの場合、次のコードを使うとPDF形式で保存することができます。

# 図の保存方法
par(family = "HiraKakuProN-W6") # フォントの指定
cairo_pdf(file = "~/Downloads/plot.pdf",
      family = "HiraKakuProN-W6",
      width = 5,
      height = 5,
      pointsize = 10)
print(plot(data))
dev.off()

日本語を図表に使うと文字化けが発生しやすいです。

ヘルプと終了

Rには、関数やパッケージに関するヘルプが充実しています。

また、作業を終了する際には特定のコマンドを使います。

# ヘルプの表示

help(sum)  # sum関数のヘルプを表示

# Rの終了
q()  # Rを終了

このコードを実行すると、ヘルプペイン(右下)にsum関数の詳細な説明が表示されます。

また、q()を実行すると、Rの作業が終了し、ウィンドウが閉じます。


この記事ではRの基本操作について解説しました。

次回は、データの入力について紹介します。

この記事が少しでもお役に立てたら嬉しいです。

プロフィール
この記事を書いた人

農学の博士前期課程を修了した研究者の卵。
植物生理と環境調節をテーマに研究しています。

Masaをフォローする
RRStudio
Masaをフォローする
タイトルとURLをコピーしました