目次

頻用関数 {R}

パッケージを入れる

install.packages("NAME")
library("NAME")

基本

getwd()
ls()
rm(list=ls())
as.numeric("5")  #これで文字列の5を数字の5に変換する.1/2などの文字列は 0.5 と変換できない
as.character(5)  #これで数字の5を文字列の "5" に変換する.

ベクトル作成

id <- c(1,2,3,4,5)

データフレーム作成

data.frame(列1=a,列2=b,...)  #a,b,...はいずれもベクトルデータ
hyou <- data.frame(
  id=c(1,2,3,4),
  name=c("阿部くん","馬場さん","近田くん","段田さん")
  )  
View(hyou) # 上で書いたデータフレームを表示するには View関数を使う.頭文字が大文字なので注意!
idname
1阿部くん
2馬場さん
3近田くん
4段田さん

tibble形式

as_tibble("変数")

計算

a %%2  # aを2で割った余り
a %/%2  # aを2で割った商

繰り返し関数rep

weekend <- rep(
 c(rep"weekday",5), "weekend", "weekend"), 4   #平日*5+週末+週末,というベクトルを4回繰り返す
)

関数の作成

kansu1 <- function(<任意のargument>){
 #<処理>
 return(<処理した結果>)}
tasizan <- function(x,y){
  temp <- x+y
  return( temp )
}

データクリニーング

データチェック

#最初の行列を表示
head()

#最後の行列を表示
tail()

表を作成する

hyou <- tibble(
  col1=c(1,2,3,4), 
  col2=c(10,20,30,40)
)
col1col2
110
220
330
440

列を追加する (mutate)

TABLE %>% 
  mutate (<新しい列名> = <ベクトル>)
hyou %>% 
 mutate(
 col3 = col1+col2,
 col4 = col2-col1
 )
col1col2col3col4
110119
2202218
3303327
4404436
hyou$new <- hyou$col1 + hyou$col2

列の名前を変える (rename)

#普通の rename 関数
rename (TABLE, NEW_COL_NAME = original_col_name)

#パイプ関数を使う場合
TABLE %>% rename(NEW_COL_NAME = original_col_name)

列を選択する (select)

#普通の select 関数
select (TABLE, col1, coll2, col5)

#パイプ関数を使う場合 tidyverse
TABLE %>% select(col1,col2,col5)

#baseでやる場合
TABLE[c("col1","col2","col5")]
#ABC,abc(大文字・小文字区別しない)を含む文字列を引っ張ってくる
TABLE %>% select(matches("ABC"))
#TABLEの1列目を除外する
select (TABLE, !col1)  

#TABLEの1列目を除外する(パイプ関数版)
TABLE %>% select(!col1)

#TABLEの1,2,5列目を除外する
TABLE %>% select(!c(col1,col2,col5))
#TABLEの5列目を一番前に持ってくる
TABLE %>% select(col5, everything())

#TABLEの5列目を一番前に(relocate関数)
TABLE %>% relocate(col5)

#TABLEの5列目を3列目の前に(relocate関数)
TABLE %>% relocate(col5, .before=col3)

#TABLEの5列目を3列目の後に(relocate関数)
TABLE %>% relocate(col5, .after=col3)
#TABLEの1列目,3列目だけ持ってきて違う名前にする
TABLE %>% select(RENAME_col1 = col1,
                 RENAME_col3 = col3)

列を確認する (colnames)

#TABLEの列名一覧をベクトルとして取得する
colnames(TABLE)

行を並び替える (arrange)

# 列1が昇順となるように並び替える
arrange(TABLE,col1)

#パイプ関数を使う場合
TABLE %>% arrange(col1)

# 列1が降順となるように並び替える
arrange(TABLE,desc(col1))

#パイプ関数を使う場合
TABLE %>% arrange(desc(col1))

# 列1を昇順とした上で,列2も昇順になるよう並び替える
arrange(TABLE,col1,col2)

#パイプ関数を使う場合
TABLE %>% arrange(col1,col2)

行をフィルターする(filter)

#1列目(col1)が 15以上の行のデータだけ抜き出す
TABLE %>% filter(col1 => 15)

ざっくり外観をみる

GGally

install.packages("GGally")
library(GGally)

#行列データセットの外観を一目でチェック
GGally::ggpairs(DATASET)