0

在 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 中的版本吗?参考也非常感谢。

4

2 回答 2

3

您正在寻找一个功能。用户定义的函数,用于读取指定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)
于 2012-09-23T09:19:50.850 回答
0

下面的代码帮助我像在 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)
于 2012-09-23T09:01:07.703 回答