A. 在r語言中用什麼命令讀取全部數據
使用R語言的時候,如果是少量數據,不妨使用c()或其他函數進行創建;但是對於大量數據,最好還是先通過其他更方便的軟體創建數據文件,然後使用R讀入這個文件。
.csv是非常好的數據文件格式,跨平台支持非常好。我在Excel或者SPSS中創建的數據,只要存為csv格式,就可以使用幾乎任何數據處理軟體對這些數據進行處理了。使用通用格式在多人合作、不同版本兼容等常見行為中,優勢十分明顯。另外,之所以使用不同的數據處理軟體,第一,可以取長補短。比如有些工作SPSS很復雜的,可以用R語言幾行命令搞定。第二,可以進行軟體間處理結果對照,發現問題。
R語言中讀取外部文件的最基本函數是read.table(),還有用來讀csv的read.csv(), .csv是非常好的數據文件格式,跨平台支持非常好。。
輸入help(read.table)命令,就看到了關於數據輸入函數的說明。
B. 如何用r語言抓取資料庫中的資料庫
一、 安裝RODBC庫
1、進入R語言的GUI界面(RGUI.EXE),在菜單欄選擇「程序包/安裝程序包
2、在彈出的窗口裡往下拉,選擇RODBC如圖,點擊確定
3、在ODBC數據源管理器里將需要的資料庫添加進去,這里筆者使用的是SQL Server2008,驅動程序選擇Native Client10.0
3、在R語言窗口輸入連接語句
> library(RODBC)
**這里是載入RODBC庫
> channel<-odbcConnect("MyTest",uid="ripley",case="tolower")
**連接剛才添加進數據源的「MyTest」資料庫
**ch <- odbcConnect("some dsn ", uid = "user ", pwd = "**** ")
**表示用戶名為user,密碼是****,如果沒有設置,可以直接忽略
> data(USArrests)
**將「USArrests」表寫進資料庫里(這個表是R自帶的)
> sqlSave(channel,USArrests,rownames = "state",addPK = TRUE)
**將數據流保存,這時候打開SQL Server就可以看到新建的USArrests表了
> rm(USArrests)
> sqlTables(channel)
**給出資料庫中的表
> sqlFetch(channel,"USArrests",rownames = "state")
**輸出USArrests表中的內容
> sqlQuery(channel,"select * from USArrests")
**調用SELECT查詢語句並返回結果(如圖)
> sqlDrop(channel,"USArrests")
**刪除表
> odbcClose(channel)
**最後要記得關閉連接
當然,通過這個辦法也可以讀取Excel、Access表中的內容,具體方法類似,這里不再重復
C. 如何用R讀取xml 格式的數據
第一步:安裝xml包,library調用。
第二步:找到你要讀取的xml文件的位置,網站的就寫清楚網址,本地的寫到文件名。
url<-"E:\\input.xml"
第三步:先把xml格式的文件暫時讀進來,給計算機分析文件的機會。(Parse:描述,分析,解析)
xmldoc<-xmlParse(url)
第四步:找根節點。xmlroot
rootNote<-xmlRoot(xmldoc)
第五步:讀取根節點的數據。想想看,一般來說會有好幾個根節點,每個根節點下面又會有好幾個欄位和對應的數值。像這種洋蔥似的數據(自創名詞)的讀取和轉化怎能少了apply。
D. R語言如何從外部讀取數據到R中
R語言如何從外部讀取數據到R中
R語言可以從鍵盤,文本,excel,access,資料庫,專業處理軟體sas
一、使用鍵盤的輸入
mydata<-data.frame(age=numeric(0),gender=character(0),weight=numeric(0))
mydata<-edit(mydata)
二、讀入帶有分隔符文本格式的數據
data<-read.table(文件,header=true/false,sep="delimeter",row.names=列名)
其中文件可以有很多選項的
file()gzfile(),bzfile(),等一些壓縮文件以及url(http://,ftp://,smtp://)
例子:
默認的時候,字元串會自動使用factor轉化為數值型
data<-read.table("student.csv",header=TRUE,sep=",",row.names="studentid",stringsAsFactors=FALSE)
三、將xls文件導入到R中
(1)將xls變成csv的格式導入
(2)在Windows系統中,你也可以使用RODBC包來訪問Excel文件。
library(RODBC)
channel <- odbcConnectExcel("student.xls")
mydataframe<-sqlFetch(channel,"Sheet1")
odbcClose(channel)
四、抓取網頁並且提取信息
五、導入spss數據
library(Hmisc)
mydata<-spss.get("mydata.sav",use.value.labels=TRUE)
六、導入SAS數據
將sas格式的數據轉換為csv格式的數據 然後用read.table()形式導入
七、導入關系型資料庫的數據
R中有多種面向關系型資料庫管理系統(DBMS)的介面,包括Microsoft SQL Server、Microsoft Access、MySQL、Oracle、PostgreSQL、DB2、Sybase、Teradata以及SQLite。其中一些包通過原生的資料庫驅動來提供訪問功能,另一些則是通過ODBC或JDBC來實現訪問的。
(1)使用ODBC的方式導入數據
E. 如何在R中導入不同類型的數據
在使用R的時候,我們肯定需要導入數據,現在總結一下如何導入不同類型的數據:
1.使用鍵盤輸入數據
在導入數據比較少的時候,我們使用這種方法。R中的函數 edit() 會自動調用一個允許手動輸入數據的文本編輯器。具體步驟如下:
(1) 創建一個空數據框(或矩陣) ,其中變數名和變數的模式需與理想中的最終數據集一致;
(2) 針對這個數據對象調用文本編輯器,輸入你的數據,並將結果保存回此數據對象中。在下例中,你將創建一個名為 mydata 的數據框,它含有三個變數: age (數值型) 、 height(字元型)和 weight (數值型) 。然後通過edit()函數調用文本編輯器,鍵入數據,最後保存結果。編輯器界面如下,我們在這個界面可以輸入變數值,也可以改變變數類型。
[plain] view plain
mydata<-data.frame(age=numeric(0),height=numeric(0),weight=numeric(0))
edit(mydata)
需要注意的是函數 edit() 事實上是在對象的一個副本上進行操作的。如果你沒有將它其賦值到一個對象,你的所有修改將會全部丟失!
2.導入帶分隔符的文本文件數據/CSV文件
read.table() 可以從帶分隔符的文本文件中導入數據。此函數可讀入一個表格格式的文件並將其保存為一個數據框。其語法如下:
read.table(file,header=value,sep="delimter",row.names="name")
file表示文件名,header表示表的首行是否包含變數值的邏輯值,sep 用來指定分隔數據的分隔符, row.names 用以指定一個或多個表示行標識符的變數,是個一可選參數,他還有許多參數,可以通過幫助文檔進行查看。
3.導入Excel數據
雖然Excel可能是世界上最流行的數據分析工具,但R如果直接讀取Excel數據還是比較困難的。
但我們可以在Excel中將數據將其導出為一個逗號分隔文件(csv) ,並使用前文描述的方式將其導入R中。在Windows系統中,你也可以使用 RODBC 包來訪問Excel文件。但它好像只能在32位的R軟體上面使用。雖然也有一些包可以這些問題,比如gdata,XLConnect,xlsReadWrite等,但它的有許多前提要求,比如Java環境,Per,或者32-bit R。因此一般情況將數據轉換為csv文件或者將數據導入到資料庫在導入在R。
4.導入XML數據
強大的R中有若干用於處理XML文件的包。 XML 包允許用戶讀取、寫入和操作XML文件。因為我還沒有遇到這種數據,因此還不太清楚xml包大體如何使用,感興趣的朋友可以下載xml包,通過幫助文檔進行學習。
5.從網頁抓取數據
不僅Python可以爬取網頁數據,R也可以在Web數據抓取。在這個的過程中,用戶可以從互聯網上提取嵌入在網頁中的信息,並將其保存為R中的數據結構以做進一步的分析。 完成這個任務的一種途徑是使用函數 readLines()下載網頁,然後使用如 grep() 和 gsub() 一類的函數處理它。對於結構復雜的網頁,可以使用RCurl 包和 XML 包來提取其中想要的信息。
6.導入SPSS數據
我們可以調用通過 foreign 包中的函數 read.spss() 將SPSS數據集可以導入到R中,也可以使用 Hmisc 包中的 spss.get() 函數。函數 spss.get() 是對 read. spss() 的一個封裝,它可以為你自動設置後者的許多參數,讓整個轉換過程更加簡單一致,最後得到數據分析人員所期望的結果。使用的時候我們只需要安裝Hmisc 包,在較新的R中foreign 包已被默認安裝。
[plain] view plain
mydata<-spss.get("data.sav",use.value.labels=TRUE)
這段代碼中,data.sav 是要導入的SPSS數據文件, use.value.labels=TRUE 表示讓函數將帶有值標簽的變數導入為R中水平對應相同的因子, mydataframe 是導入後的R數據框。
F. 如何在R語言中讀入數據和導出存儲數據
1.R數據的保存與載入
可通過save()函數保存為.Rdata文件,通過load()函數將數據載入到R中。
[ruby]view plain
>a<-1:10
>save(a,file='d://data//mData.Rdata')
>rm(a)#將對象a從R中刪除
>load('d://data//mData.Rdata')
>print(a)
[1]12345678910
下面創建df1的數據框,通過函數write.csv()保存為一個.csv文件,然後通過read.csv()將df1載入到數據框df2中。
[ruby]view plain
>var1<-1:5
>var2<-(1:5)/10
>var3<-c("Rand","DataMining","Examples","Case","Studies")
>df1<-data.frame(var1,var2,var3)
>names(df1)<-c("VariableInt","VariableReal","VariableChar")
>write.csv(df1,"d://data//mmmyData.csv",row.names=FALSE)
>df2<-read.csv("d://data//mmmyData.csv")
>print(df2)
110.1Rand
220.2DataMining
330.3Examples
440.4Case
550.5Studies
RODBC提供了ODBC資料庫的連接。
3.1從資料庫中讀取數據
odbcConnect()建立一個資料庫連接,sqlQuery()向資料庫發送一個SQL查詢,odbcClose()關閉資料庫連接。
[ruby]view plain
library(RODBC)
connection<-odbcConnect(dsn="servername",uid="userid",pwd="******")
query<-"SELECT*FROMlib.tableWHERE..."
#orreadqueryfromfile
#query<-readChar("data/myQuery.sql",nchars=99999)
myData<-sqlQuery(connection,query,errors=TRUE)
odbcClose(connection)
3.2從Excel文件中導入與導出數據
[ruby]view plain
library("RODBC")
conn<-odbcConnectExcel("D:/data/Amtrak.xls")
Amtrak<-sqlFetch(conn,"Data")
close(conn)
G. R語言如何資料庫讀取數據
R 對於基於 SQL 語言的關系型資料庫有良好 的支持,這些資料庫既有商業資料庫 Oracle、Microsoft SQL Server、IBM DB2 等,也包含在 GNU General Public License (GPL) 下發布的 MySQL 等開源資料庫。 RMySQL 包中提供了到 MySQL 資料庫的介面;RODBC 包提供了更為廣泛資料庫介面的解 決方案 支持所有標准 ODBC 介面的資料庫。通過這種方式,相同的 R 代碼可以方便地應用於 不同類型的資料庫。 library (RODBC) ch <- odbcConnect("stocksDSN",uid = "myuser",pwd = "mypassword") stocks <- sqlQuery(ch ,"select * from quotes") odbcClose(ch) 經測試,Windows 平台上的 Microsoft SQL Server、Access、Oracle、MySQL、PostgreSQL,和