【R言語の基礎#2】データの作成と保存

記事の目的

R言語でのデータ作成と保存方法について解説します。データについて、作成方法から参照、追加や変更を解説しています。また、全てのコードはコピペで実行できるように作成しています。

 

目次

  1. データの作成
  2. データの参照
  3. データの追加と変更
  4. データの保存と読み込み

 

1 データの作成

1.1 データの作成(乱数)

rnorm(データ数, 平均, 標準偏差)で、正規分布からの乱数を発生させることができます。

set.seed(1) # 乱数種を指定
数学 <- round(rnorm(10, 50, 10)) # 数学~N(50,10)
英語 <- round(rnorm(10, 50, 10)) # 英語~N(50,10)
data <- data.frame(数学, 英語) # データフレーム作成

 

1.2 データの作成(連続)

seq(スタート, ゴール, 間隔) スタートからゴールまで指定した間隔で数値を出してくれます。

x <- seq(1,10,2) # 1から10まで間隔2

 

1.3 データの作成(繰り返し)

rep(要素,繰り返し回数)で要素を指定した回数分出力してくれます。

y <- rep("D研",5) # D研を5回繰り返す

 

2 データの参照

2.1 数字で指定

data[行,列]で数値やベクトルを指定することで、特定の行や列のデータを参照することができます。

data[,1] # 1列目
data[1,] # 1行目
data[1:3,] # 1~3行目

 

2.2 名前で指定

data$カラムまたはdata[,”カラム名”]で特定の列のデータを参照することができます。

data$数学
data[,"数学"]

 

2.3 条件で指定

data[条件式,]で特定の条件を満たす行のデータを参照することができます。列も条件で参照することができます。

data[data$数学>=50, ] # 数学が50点以上
data[data$数学==52, ] # 数学が52点
data[data$数学>=50&data$英語>=50, ] # 数学が50点以上かつ英語が50点以上
data[data$数学>=50|data$英語>=50, ] # 数学が50点以上または英語が50点以上

 

3 データの追加と変更

3.1 データの追加

data$新しいカラム名にデータを入れることで、新しいデータを追加することができます。

国語 <- round(rnorm(10, 50, 10)) # 国語~N(50,10)
data$国語 <- 国語 # 国語の列追加

 

3.2 データの変更

特定のデータに数値を代入することでデータを変更することができます。

data[2,3] <- 50 # 2行3列目の点数を50に変更

 

4 データの保存と読み込み

4.1 データの保存

以下のコードで、csvまたはrda形式でデータを保存することができます。データの保存場所は、わーキングディレクトリで設定したファイルになります。

write.csv(data, file="data.csv") # csv形式
save(data, file="data.rda") # データ型、変数名も保存

 

4.2 データの読み込み

データの読み込みは以下でできます。読み込むファイルはワーキングディレクトリに保存しておいてください。

data2 <- read.csv("data.csv") # csvファイル読み込み
data2 # データ確認
load("data.rda") # データ読み込み