国境大好き芸人

旅行と語学ととプログラミング。陸路で国境を越えるのが生きがいです。

【R言語】CSVの処理でよく使う関数まとめ

R言語CSVを読み込んでいろいろ処理する時によく使う関数のまとめ



CSVファイルを読み込んで集計したり、他のテーブルと組み合わせたり、LEFT JOINしたりなど・・・
まとめます!

文字列の処理


・数値になおす
x <- "12345"

このように、xというオブジェクトに文字列として数値が入っていた場合、以下で数値に変換できる。
x <- as.numeric(x) #xを数値に変換

さらに、カンマを取り除いて数値に変換したい場合は以下のようにする。(ついでに小数点以下を四捨五入する)
x <-"123,456,789.0000"
x <- round(as.numeric(gsub(",", "", x)), digits = 0)


・文字列の中から最初に出現する数値を取り出す
x <- "abcde12345"
上のように、文字列と数値が混じった文字列の場合、最初に出現する数値をparse_number()で取得できる。

library("readr")
x <- parse_number(x) #最初に出てくる数値を取り出す
x #xを出力
[1] 12345


※ただしパッケージ「readr」をインストールしておく必要がある。
install.packages("readr")

欠損値(NA)を0に変換する方法


read.csvで取り込んだものをdfに格納しよう。
その際、欠損値を一発で0に変換するのが次のやり方。

df <- read.csv("data.csv", header=TRUE)
df[is.na(df)] <- 0


もちろん、次のようにすれば"NA"と表示させることもできる。
df[is.na(df)] <- "NA"

特定の列に対して欠損値の処理をしたい場合は、$列名で指定できる。
df$x[is.na(df$x)] <- 0

今後もよく使う処理を書き足していきます!