データ分析に使用されるR言語の基礎構文をまとめてみた

公開日: 2023/7/12

R言語は、統計解析やデータ分析に特化したプログラミング言語であり、初心者でも比較的簡単に学ぶことができます。

今回はR言語の初心者向けにR言語の基礎を紹介しようと思います。

1. Rの基本


1-1. インストールとセットアップ

まずは、Rをインストールしてセットアップする必要があります。

Rはオープンソースであり、R Foundation for Statistical Computingからダウンロードすることができます。

インストールが完了したら、Rを起動して、Rのコンソール画面に入力して実行することができます。

1-2. 変数の定義

変数を定義するには、<-または=演算子を使用します。たとえば、xに値を代入するには、以下のようにします。

Copy code
x <- 5

1-3. ベクトル

ベクトルは、複数の要素を持つ配列です。

Rでは、c()関数を使用してベクトルを定義します。たとえば、以下のようにして、1から5までの整数のベクトルを作成することができます。

Copy code
my_vector <- c(1, 2, 3, 4, 5)

1-4. 行列

行列は、2次元配列です。

Rでは、matrix()関数を使用して行列を作成します。たとえば、以下のようにして、3行2列の行列を作成することができます。

Copy code
my_matrix <- matrix(c(1, 2, 3, 4, 5, 6), nrow=3, ncol=2)

1-5. データフレーム

データフレームは、表形式のデータを扱うためのオブジェクトです。

Rでは、data.frame()関数を使用してデータフレームを作成します。たとえば、以下のようなデータを持つデータフレームを作成することができます。

Copy code
name <- c("Alice", "Bob", "Charlie")
age <- c(25, 30, 35)
height <- c(165, 175, 180)
my_df <- data.frame(name, age, height)

1-6. 関数の定義

関数を定義するには、function()キーワードを使用します。

たとえば、以下のようにして、2つの引数を受け取り、それらを足し合わせる関数を定義することができます。

Copy code
my_function <- function(a, b) {
  c <- a + b
  return(c)
}

1-7. 条件分岐

条件分岐は、if-else文を使用して実装することができます。

以下のようにして、xが5より大きい場合には「x is greater than 5」と表示し、そうでない場合には「x is less than or equal to 5」と表示することができます。

Copy code
if (x > 5) {
  print("x is greater than 5")
} else {
  print("x is less than or equal to 5")
}

1-8. ループ

ループは、forループやwhileループを使用して実装することができます。

以下のようにして、1から10までの整数を順番に表示することができます。

Copy code
for (i in 1:10) {
  print(i)
}

1-9. パッケージの使用

Rには、多くのパッケージがあります。

これらのパッケージを使用することで、より高度な統計解析やデータ分析を行うことができます。

以下のようにして、ggplot2パッケージを使用して散布図を作成することができます。

Copy code
library(ggplot2)
my_data <- data.frame(x=c(1, 2, 3), y=c(4, 5, 6))
ggplot(my_data, aes(x=x, y=y)) + geom_point()

2. Rの応用


2-1. データの読み込みと加工

Rを使用して、CSVファイルなどのデータを読み込むことができます。

以下のようにして、iris.csvファイルを読み込んで、その内容を表示することができます。

Copy code
my_data <- read.csv("iris.csv")
print(my_data)

また、Rを使用して、データの加工や変換を行うこともできます。

以下のようにして、irisデータセットから、Sepal.Lengthが5より大きいデータを抽出することができます。

Copy code
my_data <- iris[iris$Sepal.Length > 5,]
print(my_data)

2-2. 統計解析とデータ分析

Rは、統計解析やデータ分析に特化したプログラミング言語であるため、多くの統計解析やデータ分析の機能が組み込まれています。

以下のようにして、t.test()関数を使用して、2つのサンプル間のt検定を実行することができます。

Copy code
group1 <- c(1, 2, 3, 4, 5)
group2 <- c(6, 7, 8, 9, 10)
result <- t.test(group1, group2)
print(result)

また、Rを使用して、データの可視化を行うこともできます。

たとえば、以下のようにして、ggplot2関数を使用して、複数のグラフを作成して並べることができます。

Copy code
library(ggplot2)
my_data <- data.frame(x=c(1, 2, 3), y=c(4, 5, 6))
p1 <- ggplot(my_data, aes(x=x, y=y)) + geom_point()
p2 <- ggplot(my_data, aes(x=x, y=y)) + geom_line()
plot2(p1, p2, ncols=2)

2-3. 機械学習

Rには、機械学習に必要なライブラリやツールが豊富にあります。

以下のようにして、caretパッケージを使用して、ロジスティック回帰モデルを構築し、テストデータを使用して予測を行うことができます。

Copy code
library(caret)
my_data <- iris
set.seed(123)
trainIndex <- createDataPartition(my_data$Species, p=0.7, list=FALSE)
train_data <- my_data[trainIndex,]
test_data <- my_data[-trainIndex,]
model <- train(Species ~ ., data=train_data, method="glm", family="binomial")
predicted <- predict(model, newdata=test_data)

3. まとめ


Rは、統計解析やデータ分析に特化したプログラミング言語であり、多くの機能が組み込まれています。

初心者でも比較的簡単に学習することができ、データの可視化や統計解析、機械学習など、様々な分野で活用することができます。

また、多くのパッケージがあり、それらを使用することで、より高度な統計解析やデータ分析を行うことができます。

R言語の学習によって、データ分析のスキルを高めていきましょう。