當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R write.foreign 編寫文本文件和代碼來讀取它們


R語言 write.foreign 位於 foreign 包(package)。

說明

該函數通過將數據寫入free-format文本並編寫單獨的指令文件供其他包讀取數據,將簡單數據幀導出到其他統計包。

用法

write.foreign(df, datafile, codefile,
              package = c("SPSS", "Stata", "SAS"), ...)

參數

df

一個 DataFrame

datafile

數據輸出的文件名

codefile

代碼輸出的文件名

package

包裝名稱

...

各個 writeForeign 函數的其他參數

細節

該函數的工作由 foreign:::writeForeignStataforeign:::writeForeignSASforeign:::writeForeignSPSS 完成。要添加對另一個包(例如 Systat)的支持,請創建一個函數 writeForeignSystat,其前三個參數與 write.foreign 相同。當 package="Systat" 時,這將從 write.foreign 調用。

所有包都支持數字變量和因子:SAS 還支持日期和時間( DatedatesdatePOSIXt 類)和邏輯向量,SPSS 支持字符。

對於 package="SAS",有可選參數 dataname = "rdata" 接受將作為 SAS 數據集名稱的字符串,validvarname 接受 "V6""V7" ,以及 libpath = NULL 接受將作為數據集所在目錄的字符串。當生成的 SAS 代碼運行時,將寫入目標 SAS 數據集。

對於 package="SPSS",有一個可選參數 maxchars = 32L 采用整數,導致變量名稱(不是變量標簽)縮寫為不超過 maxchars 字符。為了與 SPSS 版本 12 及之前版本兼容,請將其更改為 maxchars = 8L 。在 SPSS 版本 13 或更高版本的單字節語言環境中,可以將其設置為 maxchars = 64L

對於 package="SPSS" ,作為副作用,小數指示器始終由 SET DECIMAL=DOT. 設置,這可能會覆蓋指示器的用戶設置或其從當前區域設置派生的默認值。

看不見的NULL

例子

## Not run: 
datafile <- tempfile()
codefile <- tempfile()
write.foreign(esoph, datafile, codefile, package="SPSS")
file.show(datafile)
file.show(codefile)
unlink(datafile)
unlink(codefile)

## End(Not run)

作者

Thomas Lumley and Stephen Weigand

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Write Text Files and Code to Read Them。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。