[R-sig-DB] [R] Argument to database

Nilza BARROS n||z@b@rro@ @end|ng |rom gm@||@com
Thu Oct 28 15:06:56 CEST 2010


Dear R users,

Thanks Sean for your idea. But since  I am getting used to using R in my
all  tasks I 'd like to know if the Rusers can show me a better way to use
arguments in Rscript or if the way I had applied (below here and  in my
previous email)  the arguments is correct.
 What I used it the same way I am used to writing in my shell scripts.

I really hope someone can help me.
Thanks in advance

*Below here the way I check the number of arguments. I am used to doing that
in my shell scripts.*
==================
#! /usr/bin/Rscript --vanilla
args <- commandArgs(TRUE)

if (length(args)!=4 )
{
print("********************************************")
print("Enter the arguments   Model (20,21,...) - Trim(01,02,03,04) - Year
(AAAA)")
print("********************************************")
stop("Incorrect arguments length")
}
npt.freq <- args[1]
npt.trim <-args[2]
npt.ano <- args[3]



Nilza Barros

On Tue, Oct 26, 2010 at 8:11 PM, Sean Davis <sdavis2 using mail.nih.gov> wrote:

>
>
> On Tue, Oct 26, 2010 at 3:23 PM, Nilza BARROS <nilzabarros using gmail.com>wrote:
>
>> Dear Rusers,
>>
>> I am using Rscript and I'd like to use arguments as an input.
>> I need it because I will use these arguments to consult Mysql  Databse
>> using
>> (SELECT) .
>> I need different select to each Model Type and date.
>>
>> ./GrafDens.R [ModelType trim date ]
>>
>> The script I am using it is working but I'd like to know if there is
>> something more efficient.
>>
>>
>> Below here what  I am using:
>> ==================
>> #! /usr/bin/Rscript --vanilla
>> args <- commandArgs(TRUE)
>>
>> if (length(args)!=4 )
>> {
>> print("********************************************")
>> print("Enter the arguments   Model (20,21,...) - Trim(01,02,03,04) - Year
>> (AAAA)")
>> print("********************************************")
>> stop("Incorrect arguments length")
>> }
>> npt.freq <- args[1]
>> npt.trim <-args[2]
>> npt.ano <- args[3]
>>
>>
>> MES1.00 <- paste(npt.ano,npt.mes,"__","00",sep="")
>> MES2.00 <- paste(npt.ano,npt.mes,"__","00",sep="")
>> MES3.00 <- paste(npt.ano,npt.mes,"__","00",sep="")
>>
>>
>> ===How I use the strings above to SELECT my data:
>>
>>
> You could consider using sprintf() to generate your SQL string, as well.
>
>
>> drv=dbDriver("MySQL")
>> con=dbConnect(drv,dbname='xxx',user='xx',password='xx')
>> dados <- dbGetQuery(con,paste("SELECT
>> OBS_StationNo as station_no,
>> OBS_date as obsdate,
>> FCT_fdate as fdate,
>> FCT_mtype as fct_mtype,
>> FCT_mrun as  fct_mrun,
>> FROM VWFct_Obs
>> WHERE
>> FCT_mtype=",npt.mtype,
>> " AND OBS_StationNo <> 'NULL'
>> AND (FCT_fdate LIKE  ",  paste("'",MES1.00,"'",sep=""),
>> " OR FCT_fdate LIKE  ", paste("'",MES1.12,"'",sep=""),
>> " OR  FCT_fdate LIKE ", paste("'",MES2.00,"'",sep=""),
>> " OR  FCT_fdate LIKE ", paste("'",MES2.12,"'",sep=""),
>> " OR  FCT_fdate LIKE ", paste("'",MES3.00,"'",sep=""),
>> "OR  FCT_fdate LIKE  " ,paste("'",MES3.12,"'",sep="")," )" ,sep=""))
>> #
>> ====================
>> --
>> Abra�o,
>> Nilza Barros
>>
>>        [[alternative HTML version deleted]]
>>
>>
>


-- 
Abra�o,
Nilza Barros

	[[alternative HTML version deleted]]




More information about the R-sig-DB mailing list