頻用関数 {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" に変換する.
ベクトル作成
データフレーム作成
data.frame(列1=a,列2=b,...) #a,b,...はいずれもベクトルデータ
hyou <- data.frame(
id=c(1,2,3,4),
name=c("阿部くん","馬場さん","近田くん","段田さん")
)
View(hyou) # 上で書いたデータフレームを表示するには View関数を使う.頭文字が大文字なので注意!
id | name |
1 | 阿部くん |
2 | 馬場さん |
3 | 近田くん |
4 | 段田さん |
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)
)
列を追加する (mutate)
TABLE %>%
mutate (<新しい列名> = <ベクトル>)
hyou %>%
mutate(
col3 = col1+col2,
col4 = col2-col1
)
col1 | col2 | col3 | col4 |
1 | 10 | 11 | 9 |
2 | 20 | 22 | 18 |
3 | 30 | 33 | 27 |
4 | 40 | 44 | 36 |
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)