Rとウェブ解析:SPSSやSASのファイルまで!Rに取り込むコードの紹介


投稿日: Rの解析に役に立つ記事

ほんの一昔、10年程前まで統計処理や解析・解釈にはSPSSやSASが主流でした。しかし、今はRが取って代わり、たまにSPSSやSASを使う程度となっています。また、Rで処理できれば楽なのにSPSSやSASのファイルしか無いと困ったことはありませんか。Rにはそんな問題を解決する為に「foreign」パッケージが用意されています。今やRはFDA内でも使用されるくらいメジャーなものになっています。この機会にSPSSやSASから切り替えてみてはいかがでしょうか。

本パッケージを使用して、Rデータファイルの「radファイル」、SPSSの「sav」、「xlsl」、「csv」ファイルを読み込むコマンドを作成したので紹介します。


パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("foreign")
install.packages("XLConnect")

コマンド

コマンドを実行すると読み込んだファイルがデータフレームになります。SASのファイルを読み込む場合はread.ssdを使ってみてください。

###ライブラリーの読み込み#####
library(XLConnect)
library(foreign)
library(tcltk)
#####

###データの読み込み#####
sheetSelect <- 1 #読み込むシート番号を入力

###ファイルの選択#####
selectABook <- tclvalue(tkgetOpenFile(title = "xlsxファイルを選択",
                                         filetypes = '{"Rデータファイル" {".rad"}} {"SPSSファイル" {".sav"}} {"エクセルファイル" {".xlsx"}} {"csvファイル" {".csv"}}'
))

###読み込みファイル#####
if (identical(selectABook %in% grep(".sav", selectABook, value = TRUE), TRUE)){
  
  AnaData <- read.spss(selectABook, use.value.labels = TRUE, to.data.frame = TRUE)
  
} else {
  
  if (identical(selectABook %in% grep(".rad", selectABook, value = TRUE), TRUE)){
    
    load(selectABook)
    
  }else{
    
    if (identical(selectABook %in% grep(".xlsx", selectABook, value = TRUE), TRUE)){
      
      AnaData <- read.xlsx(file = selectABook, sheetIndex = sheetSelect)
      
    }else{
      
      AnaData <- read.csv(selectABook, header = TRUE, sep = ",", na.strings = "", stringsAsFactors = FALSE)
    } 
    
  } 
}

少しでも、あなたの解析が楽になりますように!!

スポンサードリンク

スポンサードリンク