簡體   English   中英

像SAS宏一樣在R中導入數據

[英]Importing Data in R like SAS macro

在SAS中,我們可以編寫用於導入文件的宏。 宏可以采用以下形式:

%MACRO IMPORT_Data(OUT = , FILE = );

        data &OUT ;  
           infile "&INPUT_path.\&File" 
           delimiter = ',' MISSOVER DSD lrecl=32767
           firstobs=2 ;

           input 
              Var1 : $10.
              Var2 : best12.
              Var3 : Percent5.2
              Var4 
              Var5 


           ;
%mend;

一旦有了這個宏,我們只需要更改文件名,然后運行宏即可。 我們不必在每次讀取文件時都編寫導入文件語法。 有人可以幫我得到R版本嗎? 也非常感謝參考。

您正在尋找一個功能。 用戶定義的函數,用於讀取指定的csv文件,對一列或多列應用某種格式,然后返回結果。 這是一個例子:

import_macro <- function(file, ...) {
data <- read.csv(file, ...)
# do whatever formatting you need to do. e.g.
data$v1 <- as.numeric(data$var1)
# var1 should be a column in your csv otherwise change it to something else
return(data)
}

然后,您只需運行:

my_data <- import_macro('~/Desktop/file.csv', header = TRUE)

以下代碼像在SAS中一樣幫助我讀取數據。 但是我無法在此處格式化數據。 因此,將答案放入以獲得一些有用的意見。

imp<-strmacro(df,var,expr={df<-read.csv("C:\\Users\\RAW_DATA\\var.csv")})

mydata<-imp(mydata,"Import_data")  /* Data set file name*/
View(mydata)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM