1)剪切板
dat<-read.table("clipboard",header=T)
header=T為讀入變量名
2)從文本文件讀取
(X=read.table("1230.txt"))
3)從excel讀取
X=read.table("1230.csv",sep=",")
excel單個工作簿存成csv格式,才能被R調用
而直接調用excel多個工作簿時,需要安裝和調用RODBC包。
在http://mirror.bjtu.edu.cn/cran/網站上找到與自己的操作系統和R版本相對的ODBC包,下載到本地,再安裝
library(RODBC)
> Rcode<-odbcConnectExcel("D:\\BI指標20140813.xlsx")
錯誤于odbcConnectExcel("D:\\BI指標20140813.xlsx") :odbcConnectExcel is only usable with 32-bit Windows
報錯了,原因在于我的電腦為64位的,而RODBC包里的odbcConnectExcel函數只支持32位系統。
查看網上博客,看到有人用XLConnect包里的readWorksheetFromFile函數,試驗過程為,從http://mirror.bjtu.edu.cn/cran/網站上找到與自己的操作系統和R版本相對的XLConnect包,仍然報錯,提示還需要下載rJava包,下好后
> library(XLConnectJars)
> library(XLConnect)
>df=readWorksheetFromFile("12306.xlsx",sheet=1,header=TRUE)
錯誤: POIXMLException (Java): java.lang.reflect.InvocationTargetException
報錯了,將excel文件存成.xls嘗試
>df=readWorksheetFromFile("C:\\Users\\yxc\\Desktop\\12306.xls",sheet=2,header=TRUE)
錯誤: OutOfMemoryError (Java): Java heap space
還是報錯。顯示內存溢出,我的文件有59.8M,嘗試將其中幾條數據復制出來到1.xlsx
>df=readWorksheetFromFile("C:\\Users\\yxc\\Desktop\\1.xlsx",sheet=1,header=TRUE)
> df
[1] name be
OK了,R能讀取的數據量太少了點吧,有點著急啊,如果連excel還不如,連SPSS都不如,那就讓我太失望了,肯定是我的方法不對。上網搜,問群里的小伙伴,最后發現是我方法引用不對的問題,群里小伙伴告訴我,習慣用csv為好,于是按照他的方法,用了另外一個函數,read.table
> x=read.table("12306.csv",fill=TRUE)
成功了!
小伙伴說100G以下R都很happy。很開心!!
明天繼續!