找回密码
 注册
查看: 429|回复: 0

R语言 SAScii包 parse.SAScii()函数中文帮助文档(中英文对照)

[复制链接]
发表于 2012-9-29 22:17:58 | 显示全部楼层 |阅读模式
parse.SAScii(SAScii)
parse.SAScii()所属R语言包:SAScii

                                         Convert SAS import instructions into the arguments for a read.fwf function call.
                                         转换的read.fwf函数调用的参数的SAS导入说明。

                                         译者:生物统计家园网 机器人LoveR

描述----------Description----------

Re-configure the INPUT block of a (.sas) syntax file into the arguments necessary to run the read.fwf function on an ASCII data set.
重新配置到必要的ASCII数据集上运行的read.fwf功能参数输入数据块的语法文件(SAS)。


用法----------Usage----------


parse.SAScii( sas_ri, beginline = 1 , lrecl = NULL )



参数----------Arguments----------

参数:sas_ri
Character string containing location of SAS import instructions.  
字符串位置的SAS进口的说明。


参数:beginline
Line number in SAS import instructions where the INPUT statement begins.  If the word INPUT appears before the actual INPUT block, the function will return an error.  
在SAS导入说明在这里输入语句开始的行号。如果单词输入之前出现的实际输入模块,该函数将返回一个错误。


参数:lrecl
LRECL option from SAS code.  Only necessary if the width of the ASCII file is longer than the actual columns containing data (if the file contains empty space on the right side)  
LRECL选项SAS代码。只有宽度的ASCII文件是必要的,如果时间比实际包含数据的列(如果该文件包含一个空的空间在右侧)


Details

详细信息----------Details----------

This function cannot handle overlapping columns.  For example, in the 2009 National Ambulatory Medical Care Survey (NAMCS) SAS import instructions, columns DIAG1 and DIAG13D will create an error because both start at space 55. <br> ftp://ftp.cdc.gov/pub/Health_Statistics/NCHS/dataset_documentation/namcs/sas/nam09inp.txt.
此功能不能处理重叠的列。例如,在2009年全国门诊医疗调查(NAMCS)SAS导入说明,列DIAG1和DIAG13D将创建一个错误,因为这两个空间55。 <BR> ftp://ftp.cdc.gov/pub/Health_Statistics/NCHS/dataset_documentation/namcs/sas/nam09inp.txt。


值----------Value----------

An R data frame containing:
R的数据框包含:


参数:varname
The name of the variable field
变量字段的名称


参数:width
The width of the field
的字段的宽度


参数:char
A logical flag indicating a character field if T and numeric if F
一个逻辑标志,表示一个字符的字段,如果T和数字,如果F


参数:divisor
A fraction to later be multiplied by numeric fields containing decimal points
一小部分,以后再乘以包含小数点的数字领域


(作者)----------Author(s)----------



Anthony Joseph Damico




实例----------Examples----------




###########[##########]
#Some Data#[一些数据#]
###########[##########]

#write an example ASCII data set[写一个ASCII数据集的例子]
some.data <-
        "0154hello2304coolgreatZZ
        2034puppy0023nicesweetok
        9900buddy4495    swell!!"

#create temporary ASCII file[创建临时的ASCII文件]
some.data.tf <- tempfile()
#write the sas code above to that temporary file[上面写的SAS代码,临时文件]
writeLines ( some.data , con = some.data.tf )

#write an example SAS import script using the @ method[写一个例子的的SAS导入脚本使用@方法]
sas.import.with.at.signs <-
        "INPUT
                @1 NUMBERS1 4.2
                @5 WORDS1 $ 5.
                @10 NUMBERS2 2.0
                @12 NUMBERS3 2.0
                @14 WORDS2 $4.
                @18 WORDS3 $5
                @23 WORDS4 $ 1
                @24 WORDS5 $ 1
        ;"
       

#create a temporary file[创建一个临时文件]
sas.import.with.at.signs.tf <- tempfile()
#write the sas code above to that temporary file[上面写的SAS代码,临时文件]
writeLines ( sas.import.with.at.signs , con = sas.import.with.at.signs.tf )

parse.SAScii( sas.import.with.at.signs.tf )

#write an example SAS import script using the dash method[写一个例子的的SAS导入脚本使用破折号方法]
sas.import.with.lengths <-
        "INPUT
                NUMBERS1 1 - 4 .2
                WORDS1 $ 5-9
                NUMBERS2 10 -11
                NUMBERS3 12- 13 .0
                WORDS2 $14-17
                WORDS3$ 18-22
                WORDS4   $   23-23
                WORDS5 $24
        ;"
       
#create a temporary file[创建一个临时文件]
sas.import.with.lengths.tf <- tempfile()
#write the sas code above to that temporary file[上面写的SAS代码,临时文件]
writeLines ( sas.import.with.lengths , con = sas.import.with.lengths.tf )

parse.SAScii( sas.import.with.lengths.tf )


############################################[###########################################]
#Survey of Income and Program Participation#[收入和计划参与调查的#]
############################################[###########################################]

#first fourteen lines pulled from the Survey of Income and Program Participation[从收入和计划参与调查的14线拉]
#http://smpbff2.dsd.census.gov/pub/sipp/2008/l08puw1.sas[]

sipp.sas <-
        "LIBNAME sas8 v8 'current directory';
        FILENAME INPUTDAT 'l08puw1.dat' ;
        DATA sas8.l08puw1 ;
        INFILE INPUTDAT PAD LRECL=2341 ;
        INPUT
         SSUSEQ 1- 5
         SSUID $ 6- 17
         SPANEL 18- 21
         SWAVE 22- 23
         SROTATON 24- 24
         SREFMON 25- 25
         RHCALMN 26- 27
         RHCALYR 28- 31
         SHHADID 32- 34
         GVARSTR 35- 37
         GHLFSAM 38- 38
         GRGC $ 39- 41
         TFIPSST 42- 43
         TMOVRFLG 44- 45
                        ; RUN;"

#create a temporary file[创建一个临时文件]
sipp.tf <- tempfile()
#write the sas code above to that temporary file[上面写的SAS代码,临时文件]
writeLines ( sipp.sas , con = sipp.tf )
#parse that temporary file[解析该临时文件]
sipp.fwf.parameters <- parse.SAScii( sipp.tf , beginline = 5 )
#print the results to the screen[打印结果到屏幕上]
sipp.fwf.parameters

###################################################[##################################################]
#NATIONAL HEALTH INTERVIEW SURVEY - IMPUTED INCOME#[国民健康访问调查 - 推算收入#]
###################################################[##################################################]

#INPUT lines pulled from the 2011 National Health Interview Survey's Imputed Income file[从2011年国民健康访问调查推算收入文件输入线拉]
#ftp://ftp.cdc.gov/pub/Health_Statistics/NCHS/Datasets/NHIS/2011_imputed_income/incmimp.sas[]

nhis.incmimp.sas <-
        "   * INPUT ALL VARIABLES;

           INPUT
          RECTYPE  1-2   SRVY_YR  3-6  
          HHX   7-12  FMX   13-14
          FPX   15-16  IMPNUM   17   
          FAMINCF2 18   TCINCM_F  19
          FAMINCI2  20-25  POVRATI3  26-34
          EMPLOY_F  35    EMPLOY_I  36   
          ERNYR_F  37    TCEARN_F  38
          ERNYR_I2  39-44
          ;

           * DEFINE VARIABLE LABELS;"

#create a temporary file[创建一个临时文件]
nhis.incmimp.tf <- tempfile()
#write the sas code above to that temporary file[上面写的SAS代码,临时文件]
writeLines ( nhis.incmimp.sas , con = nhis.incmimp.tf )
#parse that temporary file[解析该临时文件]
nhis.incmimp.fwf.parameters <- parse.SAScii( nhis.incmimp.tf )
#print the results to the screen[打印结果到屏幕上]
nhis.incmimp.fwf.parameters


###################################################[##################################################]
#NATIONAL HEALTH INTERVIEW SURVEY - IMPUTED INCOME#[国民健康访问调查 - 推算收入#]
###################################################[##################################################]

#INPUT lines pulled from the 2011 National Health Interview Survey's Sample Adult file[从2011年国民健康访问调查的样本成人文件输入线拉]
#ftp://ftp.cdc.gov/pub/Health_Statistics/NCHS/Program_Code/NHIS/2011/samadult.sas[]

nhis.samadult.sas <-
        "   * INPUT ALL VARIABLES;

           INPUT

                  /* IDN LOCATIONS */

                  RECTYPE       1 -   2    SRVY_YR       3 -   6
                  HHX      $    7 -  12    INTV_QRT     13 -  13
                  ASSIGNWK     14 -  15    FMX      $   16 -  17
                  FPX      $   18 -  19    WTIA_SA      20 -  26 .1
                  WTFA_SA      27 -  32

                  /* UCF LOCATIONS */

                  REGION       33 -  33    STRAT_P      34 -  36
                  PSU_P        37 -  38
                ;"

#create a temporary file[创建一个临时文件]
nhis.samadult.tf <- tempfile()
#write the sas code above to that temporary file[上面写的SAS代码,临时文件]
writeLines ( nhis.samadult.sas , con = nhis.samadult.tf )
#parse that temporary file[解析该临时文件]
nhis.samadult.fwf.parameters <- parse.SAScii( nhis.samadult.tf )
#print the results to the screen[打印结果到屏幕上]
nhis.samadult.fwf.parameters


## Not run: [#不运行:]

#########################################################################################[################################################## ######################################]
#Create the read.fwf parameters required to load the[创建的read.fwf的参数需要加载的]
#2009 Medical Expenditure Panel Survey Emergency Room Visits file[2009年医疗费用小组调查急诊室文件]

#Location of the SAS import instructions for the[位置SAS进口的说明]
#2009 Medical Expenditure Panel Survey Emergency Room Visits File[2009年医疗费用小组调查的急诊室文件]
MEPS.09.ER.visit.SAS.read.in.instructions <-
        "http://meps.ahrq.gov/mepsweb/data_stats/download_data/pufs/h126e/h126esu.txt"

#Load the 2009 Medical Expenditure Panel Survey Emergency Room Visits File[2009年医疗费用小组调查急诊室加载访问文件]
#NOTE: The SAS INPUT command occurs at line 273.[注意:发生在273线的SAS输入命令。]
MEPS.09.ER.visit.sas <-
        parse.SAScii ( MEPS.09.ER.visit.SAS.read.in.instructions , beginline = 273 )


#########################################################################################[################################################## ######################################]
#Create the read.fwf parameters required to load the[创建的read.fwf的参数需要加载的]
#2011 National Health Interview Survey Persons file[2011年国民健康访问调查人提交]

NHIS.11.personsx.SAS.read.in.instructions <-
        "ftp://ftp.cdc.gov/pub/Health_Statistics/NCHS/Program_Code/NHIS/2011/personsx.sas"

#store the NHIS SAS import instructions for use in a [存储的NHIS SAS导入说明中使用的]
#read.fwf function call outside of the read.SAScii function[read.fwf以外的read.SAScii函数的函数调用]
NHIS.11.personsx.sas <-
        parse.SAScii( NHIS.11.personsx.SAS.read.in.instructions )

## End(Not run)[#(不执行)]

转载请注明:出自 生物统计家园网(http://www.biostatistic.net)。


注:
注1:为了方便大家学习,本文档为生物统计家园网机器人LoveR翻译而成,仅供个人R语言学习参考使用,生物统计家园保留版权。
注2:由于是机器人自动翻译,难免有不准确之处,使用时仔细对照中、英文内容进行反复理解,可以帮助R语言的学习。
注3:如遇到不准确之处,请在本贴的后面进行回帖,我们会逐渐进行修订。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-29 11:49 , Processed in 0.019821 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表