R 文字列

R言語では、文字列はテキストデータを表すデータ型であり、文字(文字ベクトル)で構成され、英字、数字、記号、空白などの文字を含むことができます。

R言語の文字列は、一対のシングルクォーテーションを使用できます。' 'または一対のダブルクォーテーション" "で表すことができます。

  • シングルクォーテーションの文字列にはダブルクォーテーションを含めることができます。
  • シングルクォーテーションの文字列にはシングルクォーテーションを含めることはできません。
  • ダブルクォーテーションの文字列にはシングルクォーテーションを含めることができます。
  • ダブルクォーテーションの文字列にはダブルクォーテーションを含めることはできません。

文字列の作成:シングルクォーテーションまたはダブルクォーテーションを使用して文字列を作成できます。

以下の例は文字列の使用を示しています:

例

a <- 'シングルクォーテーションを使用'
print(a)

b <- "ダブルクォーテーションを使用"
print(b)

c <- "ダブルクォーテーションの文字列にはシングルクォーテーション(')を含めることができます "
print(c)

d <- 'シングルクォーテーションの文字列にはダブルクォーテーション(")を含めることができます '
print(d)

上記のコードを実行すると、出力結果は次のようになります:

[1] "使用单引号"
[1] "使用双引号"
[1] "双引号字符串中可以包含单引号(') "
[1] "单引号字符串中可以包含双引号(\") "

文字列操作

R言語は文字列を操作するためのさまざまな関数と演算子を提供しており、テキストデータの処理と操作を便利にしています。

以下では、R言語のいくつかの組み込み関数による文字列操作を見てみましょう。

paste() 関数

paste() 関数は、指定された区切り文字を使用して文字列を連結するために使用され、デフォルトの区切り文字はスペースです。

構文形式:

paste(..., sep = " ", collapse = NULL)

パラメータの説明:

  • ... : 文字列リスト
  • sep : 区切り文字、デフォルトはスペース
  • collapse : 2つ以上の文字列オブジェクトを要素の対応関係に基づいて結合し、文字列を連結した後、さらに collapse で指定された結合文字を使用して連結します。

例

a <- "Google"
b <- 'サンプル'
c <- "Taobao"

print(paste(a,b,c))

print(paste(a,b,c, sep = "-"))

print(paste(letters[1:6],1:6, sep = "", collapse = "="))
paste(letters[1:6],1:6, collapse = ".")

上記のコードを実行すると、出力結果は次のようになります:

[1] "Google サンプル Taobao"
[1] "Google-サンプル-Taobao"
[1] "a1=b2=c3=d4=e5=f6"
[1] "a 1.b 2.c 3.d 4.e 5.f 6"

format() 関数

format() 関数は文字列をフォーマットするために使用され、format() は文字列または数値に適用できます。

構文形式:

format(x, digits, nsmall, scientific, width, justify = c("left", "right", "centre", "none")) 

パラメータの説明:

  • x : 入力ベクトル
  • digits : 表示する桁数
  • nsmall : 小数点以下に表示する最小桁数
  • scientific : 科学的記数法の設定
  • width : 先頭に空白を埋めて表示する最小の幅
  • justify:位置を設定します。表示は左、右、中央などにできます。

例

# 9桁を表示し、最後の桁は四捨五入
result <- format(23.123456789, digits = 9)
print(result)

# 科学的記数法で表示
result <- format(c(6, 13.14521), scientific = TRUE)
print(result)

# 小数点以下は最小5桁表示し、不足分は0で埋める
result <- format(23.47, nsmall = 5)
print(result)

# 数値を文字列に変換
result <- format(6)
print(result)

# 幅は6桁、足りない場合は先頭にスペースを追加
result <- format(13.7, width = 6)
print(result)

# 文字列を左揃え
result <- format("サンプル", width = 9, justify = "l")
print(result)

# 中央表示
result <- format("サンプル", width = 10, justify = "c")
print(result)

上記のコードを実行すると、出力結果は次のようになります:

[1] "23.1234568"
[1] "6.000000e+00" "1.314521e+01"
[1] "23.47000"
[1] "6"
[1] "  13.7"
[1] "サンプル   "
[1] "  サンプル  "

nchar() 関数

nchar() 関数は、文字列または数値リストの長さを数えるために使用されます。

構文形式:

nchar(x)

パラメータの説明:

  • x : ベクトルまたは文字列

例

result <- nchar("Google サンプル Taobao")
print(result)

上記のコードを実行すると、出力結果は次のようになります:

[1] 20

toupper() & tolower() 関数

toupper() & tolower() 関数は、文字列の英字を大文字または小文字に変換するために使用されます。

構文形式:

toupper(x)
tolower(x)

パラメータの説明:

  • x : ベクトルまたは文字列
# 大文字に変換

例

result <- toupper("サンプル")
print(result)

# 小文字に変換
result <- tolower("サンプル")
print(result)

上記のコードを実行すると、出力結果は次のようになります:

[1] "サンプル"
[1] "サンプル"

substring() 関数

substring() 関数は、文字列を切り出すために使用されます。

構文形式:

substring(x,first,last)

パラメータの説明:

  • x : ベクトルまたは文字列
  • first : 切り出し開始位置
  • last:切り出し終了位置

例

# 2桁目から5桁目までを切り出す
result <- substring("サンプル", 2, 5)
print(result)

上記のコードを実行すると、出力結果は次のようになります:

[1] "unoo"

文字列置換

使用gsub()関数を使用して、文字列内の特定の文字やパターンを置換します。

例

str <- "Hello, World!"
new_str <- gsub("World", "R", str)
# 出力: "Hello, R!"

文字列分割

使用strsplit()関数を使用して文字列を部分文字列に分割します。

例

str <- "Hello, World!"
split_str <- strsplit(str, ",")
# 出力: List of 1
#         [[1]]
#         [1] "Hello"   " World!"

以上は R言語の文字列操作の例のほんの一部を列挙したものです。R にはパターンマッチング、大文字小文字変換、文字列比較など、数多くの文字列処理関数と演算子があります。R言語の公式ドキュメントを参照すると、より多くの文字列操作関数のリストと使用説明を入手できます。

その他の拡張