精華區beta R_Language 關於我們 聯絡資訊
- 問題: 當你想要問問題時,請使用這個類別 [問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 使用者(已經有用R 做過不少作品) [問題敘述]: 最近處理的資料因為過於龐大 所以沒辦法用read.csv 只能硬讀取.sas7bdat(SAS檔) 但是怎麼讀取都錯誤...想請問板上有人用R讀過SAS檔案嗎? 順便分享當要處理龐大資料時R可能無法讀取或是效果不佳 現在有叫做REvolution-R軟體 同樣與R一樣但是可以處理big data 我不知道要不要收費...不過學術使用似乎是無償的 [程式範例]: > local({pkg <- select.list(sort(.packages(all.available = TRUE))) + if(nchar(pkg)) library(pkg, character.only=TRUE)}) > > dd<-read.ssd("D:/Ad97.sas7bdat", header=TRUE, sep=",") 錯誤在read.ssd("D:/Ad97.sas7bdat", header = TRUE, : unused argument(s) (header = TRUE, sep = ",") [關鍵字]: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.85.83.97
Chris7462:把後面的 sep="," 整個拿掉試試看 04/16 11:55
Chris7462:read.ssd 沒有 sep 這個 argument 04/16 11:55
Chris7462:header = TRUE 也拿掉,一樣也是沒這個 argument 04/16 11:56
clickhere:help("readLines") 這可能是negative R最快的讀法了. 04/16 12:05
MIZUYAMA:都拿掉過了 一樣不能讀 另外原始檔案是sas7bdat 04/16 13:29
Chris7462:拿掉後的錯誤訊息是什麼? 04/16 14:26
錯誤在read.ssd("D:/Ad97.sas7bdat") 缺少引數 "sectionnames",也沒有預設值 ※ 編輯: MIZUYAMA 來自: 219.85.83.97 (04/16 17:12)
Chris7462:read.ssd 有兩個 arg:libname 跟 sectionnames 04/16 17:25
Chris7462:你的 sectionnames 應該是 "Ad97" 04/16 17:26
MIZUYAMA:那個也試過了 也是有問題 冏 04/16 17:26
Chris7462:我不知道 libname 是什麼。看一下 help 怎麼用吧! 04/16 17:27
MIZUYAMA:help(read.ssd) 說沒有該指令XD 04/17 00:08
Chris7462:是 ?read.ssd 你應該要去查 R 的 doc .... 04/17 01:21
> -------------------------------------------------------------------------- < 作者: MIZUYAMA (致命祈願) 看板: R_Language 標題: Re: [問題] 用R讀取SAS檔 時間: Thu Apr 18 11:27:47 2013 自問自答.... 基本上?read.ssd寫的看的不是很懂 後來找到國外一位老外也有類似的問題 看到他貼在網路上的訊息才摸索出來 指令:read.ssd() read.ssd(libname, sectionnames, tmpXport=tempfile(), tmpProgLoc=tempfile(), sascmd="sas") 1.libnames:所要讀取檔案的路徑 2.sectionnames:所要讀取檔案的名稱 3.tmpXport=tempfile() & tmpProgLoc=tempfile() 沒用到其實我也不太清楚 4.sascmd:SAS安裝檔案的路徑 執行的電腦要有安裝SAS才可以使用 [程式範例]: 假設要讀取的檔案放在D:/files 檔案名Ad97.sasbdat > local({pkg <- select.list(sort(.packages(all.available = TRUE))) + if(nchar(pkg)) library(pkg, character.only=TRUE)}) >datahome<-"C:/Program Files/SAS/SASFoundation/9.2/sas.exe" > dd<-read.ssd("D:/files","Ad97",sascmd=datahome") 但是換成另外一個SAS檔案就不能讀取了 出現 SAS failed. SAS program at C:\Users\user\AppData\Local\Temp\ RtmpYH2ZDb\file4ae13d6c.sas The log file will be file4ae13d6c.log in the current directory Warning messages: 1: In file.symlink(oldPath, linkPath) : 這個平台不支援符號連結 2: In read.ssd("D:/files", "other_data", sascmd = "C:/Program Files/SAS/SASFoundation/9.2/sas.exe") : SAS return code was 2 推測可能是與SAS檔案形式有關... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.85.83.97