Thanks very much to everyone for their replies, especially Ista, who took the 
time to write script. Before posting the question I had tried attach() and then 
within or with statements and now know why those generated errors. Some of my 
syntax was incorrect.  Thanks for clearing that up. "Within" seems best to 
achieve the goal of not typing the name of the data frame over and over.  (The 
macro suggestion is also valuable for future use.) Burnette

From: Ista Zahn [via R] [mailto:ml-node+s789695n4669404...@n4.nabble.com]
Sent: Wednesday, June 12, 2013 5:46 PM
To: Crombie, Burnette N
Subject: Re: rewrite script to eliminate constant object reference

Hi,

Here are some examples using the mtcars dataset that you can modify to work
with your data.

## Here is my first try using within.
## Somehow the elements of region that
## should be zero are converted to NA

mtcars <- within(mtcars, {
    region <- 0
    region[gear==4&carb==4] <- 1
    region[gear==3&carb==1] <- 2
})

## Here is a second try with an ugly
## hack to fix the NA problem

mtcars <- within(mtcars, {
    region <- NA
    region[gear==4&carb==4] <- 1
    region[gear==3&carb==1] <- 2
    region[is.na(region)] <- 0
})


## Here is an alternative using with
## instead of within
mtcars$region <- 0
mtcars$region[with(mtcars, gear==4&carb==4)] <- 1
mtcars$region[with(mtcars, gear==3&carb==1)] <- 2


Best,
Ista


On Wed, Jun 12, 2013 at 4:36 PM, bcrombie <[hidden 
email]</user/SendEmail.jtp?type=node&node=4669404&i=0>> wrote:

> I'm adding a column (region) to a data frame (devUni8), and the (region)
> column will be populated by a numeric code that is a function of another
> column (state) in that data frame.  See part of the script below.
>
> How can I rewrite this so that I could apply the conditions to any data
> frame without having to keep typing its name (in this case, "devUni8$").
> I've heard the attach() function is to be avoided, and I'm not good at
> with,
> while, or if statements right now.  I've tried some other things but keep
> getting "object not found" errors.  Assistance appreciated. Thanks.
>
> #Create Region Variable
> #########
> devUni8$region=0
>
> #Assign Northeast States
> #########
> devUni8$region[devUni8$state >= 11 & devUni8$state <= 23 | devUni8$state >=
> 51 & devUni8$state <= 55] = 1
>
> #Assign Southeast States
> #########
> devUni8$region[devUni8$state >= 56 & devUni8$state <= 64 ] = 2
>
>
>
> --
> View this message in context:
> http://r.789695.n4.nabble.com/rewrite-script-to-eliminate-constant-object-reference-tp4669393.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> [hidden email]</user/SendEmail.jtp?type=node&node=4669404&i=1> 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.
>

        [[alternative HTML version deleted]]

______________________________________________
[hidden email]</user/SendEmail.jtp?type=node&node=4669404&i=2> 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.

________________________________
If you reply to this email, your message will be added to the discussion below:
http://r.789695.n4.nabble.com/rewrite-script-to-eliminate-constant-object-reference-tp4669393p4669404.html
To unsubscribe from rewrite script to eliminate constant object reference, 
click 
here<http://r.789695.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4669393&code=YmNyb21iaWVAdXRrLmVkdXw0NjY5MzkzfC0xMzI5MzM0NzI3>.
NAML<http://r.789695.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>




--
View this message in context: 
http://r.789695.n4.nabble.com/rewrite-script-to-eliminate-constant-object-reference-tp4669393p4669443.html
Sent from the R help mailing list archive at Nabble.com.
        [[alternative HTML version deleted]]

______________________________________________
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