見出し画像

データの読み込み

昨年の学生が行った分析コード(一部)を置いておきます.

# ライブラリの読み込み
library(mlogit)
library(readxl)


# 文字列の連結関数の定義
"%s+%" <- function(x, y) paste0(x, y)

# getwd()
setwd("C:/Users/jf197/OneDrive/ドキュメント/R/講義/都市システム計画演習/R04/")
wd1 <- getwd()

## グループ4
path1 <- wd1 %s+% "/グループ4.xlsx"
df1 <- readxl::read_excel(path1, sheet = 1)
str(df1)
head(df1, 7)

data1 <- mlogit.data(df1, shape = "wide", choice = "choice")
head(data1,7)
colnames(data1)

# 結果を書き込むためのファイルを指定
# working directoryに作られる
sink("グループ4.txt")

res1 <- mlogit(choice ~ 0|x1 + x2 - 1, data1)
summary(res1)

res1 <- mlogit(choice ~ 0 | x1 + x2, data1)

res2 <- mlogit(choice ~ 0|x1 + x2 + x1:x3 + x2:x3 - 1, data1)
summary(res2)

res3 <- mlogit(choice ~ 0|x1 + x2 + x1:x4 + x2:x4 - 1, data1)
summary(res3)

res4 <- mlogit(choice ~ 0|x1 + x2 + x1:x5 + x2:x5 - 1, data1)
summary(res4)

res5 <- mlogit(choice ~ 0|x1 + x2 + x1:x6 + x2:x6 - 1, data1)
summary(res5)

# 結果を書き込んでいたファイルを閉じる
sink()

文字列の連結関数は文字列 x と文字列 y をすき間を置かずに連結する関数 paste0(x,y) の代わりに,x %s+% y で同じ処理をできるようにするためです.

setwd("フォルダ") で読み込むファイルとコードが置いてあるフォルダを指定します.Windows ユーザーは Explorer のリンクを上部のパスからコピペしてください.日本語を含まないフォルダを強く推奨します!

path1 という変数にフォルダ名とファイル名を連結して格納しています.

df1 という変数にエクセルファイルのシート1を読み込んでデータフレームとして格納しています.

str( ) は変数の構造を返す関数,head( ) はデータフレームの先頭数行を返す関数です.

mlogit.data( ) でデータフレームを mlogit で分析できるように型を変更してdata1 に格納しています.

colnames( ) は新しく作成したデータ型の列名を表示する関数です.

sink(ファイル名) はこれ以降,sink( ) が実行されるまでにコンソール画面に出力される結果をテキストファイルに書き込むための命令です.

res1 <- mlogit(choice ~ 0|x1 + x2 - 1, data1) はmlogit で分析結果を変数res1 に格納して,summary(res1) で結果をコンソール画面に表示しています.

res2, res3 など複数の結果を出力したうえで,最後にsink( ) でファイルへの書き込みを終了しています.

この記事が気に入ったらサポートをしてみませんか?