Hello,

In R you would use vectorized instructions, not a do while loop.


dat <- read.table(text="
client   pct_total
A          15%
B          10%
C          10%
D          9%
E           8%
F          6%
G          4%
", header = TRUE)

# Make it numeric
dat$pct_total <- with(dat, as.numeric(sub("%", "", pct_total))/100)
str(dat)  # see its STRucture

top <- which(dat$pct_total >= median(dat$pct_total))  # make index vector
sum(dat$pct_total[top])

Hope this helps,

Rui Barradas
Em 18-09-2012 15:41, ramoss escreveu:
Hello,

I am a newbie to R coming from SAS background. I am trying to program the
following:
I have a monthly data frame with 2 variables:

client   pct_total
A          15%
B          10%
C          10%
D          9%
E           8%
F          6%
G          4%

I need to come up w/ a monthly list of clients that make 50% or just above
it every month so I can pass them to the rest of the program.  In this case
the list would contain the first 4 rows.
top <- client[c(1,4),]
toptot <- sum(top$PCTTOT)
How can I make this automatic?  In SAS I would use macro w/ a do while.
Thanks for your help.



--
View this message in context: 
http://r.789695.n4.nabble.com/Conditional-operations-in-R-tp4643497.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
R-help@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@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.

Reply via email to