Rのデータ型と基本演算(数値、文字列、論理値)

以下はR言語のデータ型とその説明、型変換関数をまとめた表になります。詳細は下記をご覧になってください。

データ型説明型変換関数
numeric数値(実数)as.numeric()
integer整数as.integer()
character文字列as.character()
logical論理値(TRUE/FALSE)as.logical()
factorカテゴリカル変数as.factor()
Date日付as.Date()
POSIXct日時as.POSIXct()
complex複素数as.complex()

以下に主なデータ型の使いかたの説明を記載して行きます。

1. 数値型

Rでは、数値は主に2つの型で表現されます:整数(integer)と倍精度浮動小数点数(double)。

整数(Integer)

整数は、小数点を含まない whole number です。

x <- 5L  # 'L'をつけると明示的に整数型になります
class(x) # "integer"

倍精度浮動小数点数(Double)

小数点を含む数値は、デフォルトで double 型になります。

y <- 5.5
class(y) # "numeric" (これは double 型を指します)

数値演算

基本的な算術演算子

  • 加算: +
  • 減算: -
  • 乗算: *
  • 除算: /
  • べき乗: ^
  • 剰余: %%
a <- 10
b <- 3

a + b # 13
a - b # 7
a * b # 30
a / b # 3.333333
a ^ b # 1000
a %% b # 1

2. 文字列型(Character)

文字列は、シングルクォート(’)またはダブルクォート(”)で囲んで表現します。

name <- "Alice"
class(name) # "character"

文字列操作

  • 文字列の結合: paste() または paste0()
  • 部分文字列の抽出: substr()
  • 文字列の長さ: nchar()
first_name <- "John"
last_name <- "Doe"

full_name <- paste(first_name, last_name)
full_name # "John Doe"

substr(full_name, 1, 4) # "John"
nchar(full_name) # 8

3. 論理型(Logical)

論理値は TRUE または FALSE で表現されます。

is_student <- TRUE
class(is_student) # "logical"

Factor型の作成

Factor型はfactor()関数を使用して作成します。

# 文字列ベクトルをFactor型に変換
colors <- c("red", "blue", "green", "blue", "red")
factor_colors <- factor(colors)

# 確認
print(factor_colors)
# [1] red blue green blue red
# Levels: blue green red

レベルを指定する

factor()関数で明示的にレベルを指定することも可能です。

# レベルの順序を指定
sizes <- c("small", "large", "medium", "large", "small")
factor_sizes <- factor(sizes, levels = c("small", "medium", "large"))

print(factor_sizes)
# [1] small large medium large small
# Levels: small medium large

順序付き因子(Ordered Factor)

順序付き因子を作成するには、ordered = TRUEを指定します。

# 順序付き因子の作成
grades <- c("B", "A", "C", "A", "B")
ordered_grades <- factor(grades, levels = c("C", "B", "A"), ordered = TRUE)

print(ordered_grades)
# [1] B A C A B
# Levels: C < B < A