SAS 傳輸格式是一種開放格式,這是向 FDA 提交數據所必需的。
用法
read_xpt(
file,
col_select = NULL,
skip = 0,
n_max = Inf,
.name_repair = "unique"
)
write_xpt(
data,
path,
version = 8,
name = NULL,
label = attr(data, "label"),
adjust_tz = TRUE
)
參數
- file
-
文件路徑、連接或文字數據(單個字符串或原始向量)。
以
.gz
、.bz2
、.xz
或.zip
結尾的文件將自動解壓縮。將自動下載以http://
、https://
、ftp://
或ftps://
開頭的文件。遠程gz文件也可以自動下載並解壓。文字數據對於示例和測試最有用。要被識別為文字數據,輸入必須用
I()
包裝,是包含至少一個換行符的字符串,或者是至少包含一個帶有換行符的字符串的向量。使用值
clipboard()
將從係統剪貼板讀取。 - col_select
-
一個或多個選擇表達式,例如
dplyr::select()
。使用c()
或list()
來使用多個表達式。有關可用選擇選項的詳細信息,請參閱?dplyr::select
。僅從data_file
讀取指定的列。 - skip
-
讀取數據之前要跳過的行數。
- n_max
-
讀取的最大行數。
- .name_repair
-
有問題的列名的處理:
-
"minimal"
:沒有名稱修複或檢查,超出基本存在, -
"unique"
:確保名稱唯一且不為空, -
"check_unique"
:(默認值),沒有名稱修複,但檢查它們是unique
, -
"universal"
:命名為unique
和語法 -
函數:應用自定義名稱修複(例如,
.name_repair = make.names
用於基本 R 樣式的名稱)。 -
purrr-style 匿名函數,請參閱
rlang::as_function()
此參數作為
repair
傳遞到vctrs::vec_as_names()
。有關這些條款以及用於執行這些條款的策略的更多詳細信息,請參閱此處。 -
- data
-
要寫入的數據幀。
- path
-
將寫入數據的文件的路徑。
- version
-
要使用的傳輸文件規範的版本:5 或 8。
- name
-
要記錄在文件中的成員姓名。默認為不帶擴展名的文件名。對於版本 5,必須 <= 8 個字符;對於版本 8,必須 <= 32 個字符。
- label
-
要使用的數據集標簽,或
NULL
。默認為data
的 "label" 屬性中存儲的值。請注意,雖然 SAS 本身支持最長 256 個字符的數據集標簽,但 SAS 傳輸文件中的數據集標簽必須 <= 40 個字符。
- adjust_tz
-
Stata、SPSS 和 SAS 沒有時區概念,所有 date-time 變量均被視為 UTC。
adjust_tz
控製寫入時如何處理日期時間值的時區。-
如果
TRUE
(默認),則忽略日期時間值的時區,並且它們將在 R 和 Stata/SPSS/SAS 中顯示相同的內容,例如"2010-01-01 09:00:00 NZDT"
將寫為"2010-01-01 09:00:00"
。請注意,這會更改基礎數值數據,因此如果保留 between-time-point 差異至關重要,請務必小心。 -
如果
FALSE
,日期時間值將寫入相應的 UTC 值,例如"2010-01-01 09:00:00 NZDT"
將寫為"2009-12-31 20:00:00"
。
-
值
一個 tibble DataFrame 變體,具有很好的默認值。
變量標簽存儲在每個變量的"label"屬性中。它不會打印在控製台上,但 RStudio 查看器會顯示它。
如果定義了數據集標簽,它將存儲在 tibble 的 "label" 屬性中。
write_xpt()
以不可見方式返回輸入data
。
例子
tmp <- tempfile(fileext = ".xpt")
write_xpt(mtcars, tmp)
read_xpt(tmp)
#> # A tibble: 32 × 11
#> mpg cyl disp hp drat wt qsec vs am gear carb
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 21 6 160 110 3.9 2.62 16.5 0 1 4 4
#> 2 21 6 160 110 3.9 2.88 17.0 0 1 4 4
#> 3 22.8 4 108 93 3.85 2.32 18.6 1 1 4 1
#> 4 21.4 6 258 110 3.08 3.22 19.4 1 0 3 1
#> 5 18.7 8 360 175 3.15 3.44 17.0 0 0 3 2
#> 6 18.1 6 225 105 2.76 3.46 20.2 1 0 3 1
#> 7 14.3 8 360 245 3.21 3.57 15.8 0 0 3 4
#> 8 24.4 4 147. 62 3.69 3.19 20 1 0 4 2
#> 9 22.8 4 141. 95 3.92 3.15 22.9 1 0 4 2
#> 10 19.2 6 168. 123 3.92 3.44 18.3 1 0 4 4
#> # ℹ 22 more rows
相關用法
- R haven read_sas 讀取 SAS 文件
- R haven read_dta 讀寫Stata DTA文件
- R haven read_spss 讀取和寫入 SPSS 文件
- R haven zap_missing 將特殊缺失修改為常規 R 缺失
- R haven print_labels 打印帶標簽向量的標簽
- R haven tagged_na “標記”缺失值
- R haven zap_label Zap 變量標簽
- R haven labelled 創建一個標記向量。
- R haven as_factor 將標記向量轉換為因子
- R haven zap_empty 將空字符串轉換為缺失值
- R haven labelled_spss SPSS 的標記向量
- R haven zap_labels Zap值標簽
- R SparkR hashCode用法及代碼示例
- R hms hms 用於存儲一天中的時間值的簡單類
- R SparkR hint用法及代碼示例
- R hms parse_hms 解析 hms 值
- R SparkR histogram用法及代碼示例
- R SparkR head用法及代碼示例
- R hms round_hms 四舍五入或截斷為秒的倍數
- R dtrMatrix-class 三角形稠密數值矩陣
- R vcov.gam 從 GAM 擬合中提取參數(估計器)協方差矩陣
- R gam.check 擬合 gam 模型的一些診斷
- R ggplot2 annotation_logticks 注釋:記錄刻度線
- R matrix轉list用法及代碼示例
- R Pixel X 射線像素強度隨時間的變化
注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Read and write SAS transport files。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。