2012-11-13 61 views
2

我希望從Windows中的SAS數據集中將數據讀入R中。 read.ssd函數允許我這樣做,但是,當我嘗試導入名稱中包含任何非字母符號的SAS數據集時,似乎遇到問題。例如,我可以使用下面的導入table.sas7bdat使用read.ssd將SAS數據集轉換爲R data.frame

directory <- "C:/sas data sets" 
sashome <- "/Program Files/SAS/SAS 9.1" 
table.df <- read.ssd(directory, "table", sascmd = file.path(sashome, "sas.exe")) 

,但我不能名爲table1.sas7bdat表SAS數據集做同樣的。它返回一個錯誤:

Error in file.symlink(oldPath, linkPath) : 
symbolic links are not supported on this version of Windows 

既然我沒有重命名這些數據集的選項,是有沒有辦法讀取其名稱中有非字母的符號,以R A SAS數據集?

+1

你檢查,如果該文件'table1.sas7bat'不是一個符號鏈接? –

+1

仔細檢查您是否擁有擴展權限。 SAS數據集通常是.sas7bdat而不是.sas7bat。 – Joe

+0

@保羅Hiemstra - 我不認爲這是一個符號鏈接。我使用SAS數據步驟從「表」創建「table1」:
'libname dir「C:/ sas data sets」;'
'data dir.table1;'
'set dir.table;'
'run; '
因此,唯一的區別是第二個數據集的名稱中包含非字母字符。我認爲這一定是問題的原因。 – josh

回答

0

看來,它看起來像別人也有你的問題。也許這只是一個錯誤。

無論如何,請嘗試從這個(老)R幫助文章,建議由丹納德德誰是非常擅長這個東西 - 張貼,也活躍在SASL([email protected]),如果你想嘗試在那裏交叉發佈你的問題。 https://stat.ethz.ch/pipermail/r-help/2008-December/181616.html

另外,如果您不介意8個字符長的變量名稱,您可能會考慮傳輸方法。

+0

謝謝喬。很遺憾,我無法打開該鏈接 - 是否需要安全的網絡? – josh

+0

沒有。我確實看到了一些警告,說明HTTPS可能不會表現出來 - 在Chrome中它是紅色的,這是不正常的。試試這個 - https://stat.ethz.ch/pipermail/r-help/2008-December/181616.html – Joe

+0

乾杯,我想我只會使用'sas.get'。順便說一句,Windows的sas.get'函數已經修復。 – josh

0

用途:

directory <- "C:/sas data sets"
sashome <- "/Program Files/SAS/SAS 9.1"
table.df <- read.ssd(library=directory, mem="table1", formats=F,
sasprog=file.path(sashome, "sas.exe"))