Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: RE: AW: AW: confirm
From
Sergiy Radyakin <[email protected]>
To
[email protected]
Subject
Re: st: RE: AW: AW: confirm
Date
Wed, 18 Aug 2010 13:14:49 -0400
Or also:
local I = string(`i',"%02.0f")
IMHO it is somewhat more readable
S.R.
On Wed, Aug 18, 2010 at 7:28 AM, Nick Cox <[email protected]> wrote:
> It's entirely a side issue, but it is easy to avoid spelling out 01, 02, 03, ..., 09. You just map integers to integers displayed in leading zero format:
>
> forval i = 1/31 {
> local I : di %02.0f `i'
> <code using `I'>
> }
>
> For more detail, if desired, see (despite the title)
>
> SJ-10-1 pr0051 . . . . . . . . . . . . Stata tip 85: Looping over nonintegers
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N. J. Cox
> Q1/10 SJ 10(1):160--163 (no commands)
> tip on using forvalues to loop over numbers
>
> Nick
> [email protected]
>
> Martin Weiss
>
> Like so:
>
> clear*
>
> //generate files
> forv i =1/9{
> drop _all
> gen var1=1
> save 2006010`i', replace
> }
>
> //make "10" a missing file
> forv i =11/20{
> drop _all
> gen var1=1
> save 200601`i', replace
> }
>
>
> //check for presence of files
> local YEAR 2006
> local MONTH 01 02
> local DAY 01 02 03 04 05 06 07 /*
> */ 08 09 10 11 12 13 14 15 16 /*
> */ 17 18 19 20
>
>
> foreach Y of local YEAR {
> foreach M of local MONTH {
> foreach D of local DAY {
>
> scalar day = mdy(`M',`D',`Y')
> scalar satsun = dow(day)
>
> if !inlist(satsun,.,0,6){
> capt conf file "`Y'`M'`D'.dta"
> if _rc{
> di as err "This file `Y'`M'`D'.dta is not there, I am afraid"
> }
> else{
> di in red "This file `Y'`M'`D'.dta is already there!"
> }
> }
>
> }
> }
> }
>
> Martin Weiss
>
> Just -capture- the -confirm- statement, and condition on the return code
>
> sysuse auto, clear
> foreach var in newvariable price weight{
> capt conf new variab `var'
> di in red _rc
> }
>
> Dimitri Szerman
>
> Here's what I'm trying to do. I have a directory with many files, one for
> each weekday of the year. Some files are missing, and I want to find out
> which files are missing. The filenames make it easier to use a loop and
> confirm, and I came up with this:
>
> local YEAR 2006
> local MONTH 01 02 03 04 05 06 07 08 09 10 11 12
> local DAY 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22
> 23 24 25 26 27 28 29 30 31
>
> foreach Y of local YEAR {
> foreach M of local MONTH {
> foreach D of local DAY {
>
> scalar day = mdy(`M',`D',`Y')
> scalar satsun = dow(day)
>
> if satsun!=0 & satsun!=6 & satsun!=. {
> confirm file "`Y'`M'`D'.csv"
> }
>
> }
> }
> }
>
> Now, my problem is, this code will stop on the first missing file. What I'd
> like is to have is Stata printing a list of missing files. Any ideas would
> be much appreciated.
>
>
> *
> * For searches and help try:
> * http://www.stata.com/help.cgi?search
> * http://www.stata.com/support/statalist/faq
> * http://www.ats.ucla.edu/stat/stata/
>
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/