R語言:導入導出數據


主要學習如何把幾種常用的數據格式導入到R中進行處理,並簡單介紹如何把R中的數據保存為R數據格式和csv文件。

 

 

1、保存和加載R的數據(與R.data的交互:save()函數和load()函數)

a <- 1:10

save(a, file = "data/dumData.Rdata")  # data文件為當前工作目錄下的文件,必須存在

rm(a)

load("data/dumData.Rdata")

print(a)

 

 

 

2、導入和加載.csv文件(write.csv()函數和read.csv()函數)

var1 <- 1:5

var2 <- (1:5) / 10

var3 <- c("R", "and", "Data Mining", "Examples", "Case Studies")

a <- data.frame(var1, var2, var3)

names(a) <- c("VariableInt", "VariableReal", "VariableChar")

write.csv(a, "data/dummmyData.csv", row.names = FALSE)

b <- read.csv("data/dummmyData.csv")

 

 

 

3、導入SPSS/SAS/Matlab等數據集

# 導入spss的sav格式數據則要用到foreign擴展包,加載后直接用read.spss讀取sav文件

library(foreign)

mydata=read.spss('d:/test.sav')

# 上面的函數在很多情況下沒能將sav文件中的附加信息導進來,例如數據的label,

# 那么建議用Hmisc擴展包的spss.get函數,效果會更好一些。

library(Hmisc)

data=spss.get("D:/test.sav")

 

導入時候,如果報了這樣的錯誤:

Unrecognized record type 7, subtype 24 encountered in system file

可以使用下面的這個包:

library(memisc)

data<-as.data.set(spss.system.file("D:/test.sav"))

 

 

 

4、導入數據庫中的數據

library(RODBC)

#這里是載入RODBC

Connection <- odbcConnect(dsn="servername",uid="userid",pwd="******")

#連接剛才添加進數據源的數據庫,表示用戶名為user,密碼是****

Query <- "SELECT * FROM lib.table WHERE ..."

# Query <- readChar("data/myQuery.sql", nchars=99999)    --或者選擇從SQL文件中讀入語句

myData <- sqlQuery(Connection, Query, errors=TRUE)

#在R中查詢

odbcCloseAll()

#最后要記得關閉連接

 


R通過RODBC方式進行數據存取的主要函數如下:
函數名稱                               函數描述
odbcConnect(dsn, uid="", pwd="")   # 建立並打開連接  
sqlFetch(channel, sqtable)         # 從數據庫讀取數據表,並返回一個數據框對象
sqlQuery(channel, query)           # 向數據庫提交一個查詢,並返回結果
sqlSave(channel, mydf, tablename = sqtable, append = FALSE)  

# 將一個數據框寫入或更新(append=True)到數據庫
sqlDrop(channel, sqtable)          # 從數據庫刪除一個表
sqlClear(channel, sqtable)   # 刪除表中的內容
sqlTables(channel)  # 返回數據庫中表的信息
sqlColumns(channel, sqtable)  # 返回數據庫表sqtable列的信息
close(channel)  # 關閉連接

操作步驟:建立DSN——〉打開連接——〉數據操作——〉關閉連接

 

5、導入Excel數據

library(RODBC)

channel=odbcConnectExcel("d:/test.xls")

mydata=sqlFetch(channel,'Sheet1')      #如果是Excel2007格式數據則要換一個函數odbcConnectExcel2007


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM