R で文字を数値に変換する方法 (例付き)


次の構文を使用して、R で文字ベクトルを数値ベクトルに変換できます。

 numeric_vector <- as. numeric (character_vector)

このチュートリアルでは、この関数の実際の使用例をいくつか紹介します。

例 1: 文字ベクトルを数値に変換する

次のコードは、文字ベクトルを数値ベクトルに変換する方法を示しています。

 #create character vector
tanks <- c('12', '14', '19', '22', '26')

#convert character vector to numeric vector
numbers <- as. numeric (tanks)

#view digital vector
numbers

[1] 12 14 19 22 26

#confirm class of numerical vector
class (numbers)

[1] "digital"

例 2: 文字列を数値に変換する

次のコードは、データ フレーム内の特定の列を文字から数値に変換する方法を示しています。

 #create data frame
df <- data. frame (a = c('12', '14', '19', '22', '26'),
                 b = c(28, 34, 35, 36, 40))

#convert column 'a' from character to numeric
df$a <- as. numeric (df$a)

#view new data frame
df

   ab
1 12 28
2 14 34
3 19 35
4 22 36
5 26 40

#confirm class of numerical vector
class (df$a)

[1] "digital"

例 3: 複数の列を文字から数値に変換する

次のコードは、文字データ フレーム内のすべての文字列を数値に変換する方法を示しています。

 #create data frame
df <- data. frame (a = c('12', '14', '19', '22', '26'),
                 b = c('28', '34', '35', '36', '40'),
                 c = as. factor (c(1, 2, 3, 4, 5)),
                 d = c(45, 56, 54, 57, 59))

#display classes of each column
sapply(df, class)

          abcd
"character" "character" "factor" "numeric" 

#identify all character columns
chars <- sapply (df, is. character )

#convert all character columns to numeric
df[, chars] <- as. data . frame ( apply (df[, chars], 2, as.numeric ))

#display classes of each column
sapply (df, class)

        abcd
"numeric" "numeric" "factor" "numeric"

このコードは、データ フレーム列に次の変更を加えました。

  • コラムa:キャラクターからデジタルへ
  • コラムb:文字からデジタルへ
  • 列 c:変更なし (要因であるため)
  • d列:変更なし(すでに数値なので)

apply()関数とsapply()関数を使用すると、文字列のみを数値列に変換し、他のすべての列は変更しないままにすることができました。

追加リソース

Rで数値を文字に変換する方法
R で文字を因数に変換する方法
Rで因子を文字に変換する方法
R で文字をタイムスタンプに変換する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です