Have a function like the "_n_" in R ? (Automatic count function )
And for completeness here's a function that returns the next integer
on each call.
n <- (function(){
i <- 0
function() {
i <<- i + 1
i
}
})()
n()
[1] 1
n()
[1] 2
n()
[1] 3
n()
[1] 4
n()
[1] 5
n()
[1] 6 ;) Hadley
On Wed, Feb 25, 2009 at 8:27 AM, David Winsemius <dwinsemius at comcast.net> wrote:
The _n_ construct in SAS is most analogous to that of row names in R,
accessible (and modifiable) ?via the row.names() function:
DF <- structure(list(Month = structure(c(2L, 2L, 2L, 2L, 1L, 1L, 1L,
1L, 3L, 3L, 3L, 3L, 3L), .Label = c("Aug", "July", "Sept"), class =
"factor"),
? ?Week = 27:39, Estpassage = c(665L, 2232L, 9241L, 28464L,
? ?41049L, 82216L, 230411L, 358541L, 747839L, 459682L, 609567L,
? ?979475L, 837189L), MedFL = c(34L, 35L, 35L, 35L, 35L, 35L,
? ?35L, 35L, 35L, 36L, 36L, 36L, 36L)), .Names = c("Month",
"Week", "Estpassage", "MedFL"), class = "data.frame", row.names = c(NA,
-13L))
DF$counter <- row.names(DF)
DF
? Month Week Estpassage MedFL counter 1 ? July ? 27 ? ? ? ?665 ? ?34 ? ? ? 1 2 ? July ? 28 ? ? ? 2232 ? ?35 ? ? ? 2 3 ? July ? 29 ? ? ? 9241 ? ?35 ? ? ? 3 4 ? July ? 30 ? ? ?28464 ? ?35 ? ? ? 4 5 ? ?Aug ? 31 ? ? ?41049 ? ?35 ? ? ? 5 6 ? ?Aug ? 32 ? ? ?82216 ? ?35 ? ? ? 6 7 ? ?Aug ? 33 ? ? 230411 ? ?35 ? ? ? 7 8 ? ?Aug ? 34 ? ? 358541 ? ?35 ? ? ? 8 9 ? Sept ? 35 ? ? 747839 ? ?35 ? ? ? 9 10 ?Sept ? 36 ? ? 459682 ? ?36 ? ? ?10 11 ?Sept ? 37 ? ? 609567 ? ?36 ? ? ?11 12 ?Sept ? 38 ? ? 979475 ? ?36 ? ? ?12 13 ?Sept ? 39 ? ? 837189 ? ?36 ? ? ?13 Row names, however, not guaranteed to be integer, although if not specified at time of creation a dataframe will have its row names set to an ascending series of integer type. Another function that would provide similar utility for vectors might be seq_along().\, but in the case of dataframes, it may confuse the beginning R user because it will return a column oriented ascending sequence.
seq_along(DF)
[1] 1 2 3 4 5 -- David Winsemius On Feb 25, 2009, at 7:25 AM, Nash wrote:
Have the counter function in R ? if we use the software SAS /*** SAS Code **************************/ data tmp(drop= i); retain seed x 0; do i = 1 to 5; ? ? ? ?call ranuni(seed,x); ? ? ? ?output; end; run; data new; counter=_n_; ?***** this keyword _n_ ****; set tmp; run; /* _n_ (Automatic variables) are created automatically by the DATA step or by DATA step statements. */ /*** Output ******************************** counter ? ? ?seed ? ? ? ? ? ? x 1 ? ? ? 584043288 ? ? ? ? ? ? ? ?0.27197 2 ? ? ? 935902963 ? ? ? ? ? ? ? ?0.43581 3 ? ? ? 301879523 ? ? ? ? ? ? ? ?0.14057 4 ? ? ? 753212598 ? ? ? ? ? ? ? ?0.35074 5 ? ? ? 1607264573 ? ? ?0.74844 ********************************************/ Have a function like the "_n_" in R ? -- Nash - morrison at ibms.sinica.edu.tw
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.