[R] Replacing a few variable values within a DataFrame...
Jason Rupert
jasonkrupert at yahoo.com
Mon Mar 23 19:46:02 CET 2009
Phil and all,
Thank you for the responses. That method worked great!
However, I did try to replace the a few of the "Variables" using the same method and received an error...
test_data2_df[test_data2_df$Location == 'HSV','Variables'] = "YardSize"
Is there something special I need to do in order to replace the string characters?
Right now it appears "NA" is being used.
Thank you again.
test_data2_df<-data.frame(Variables=c("SQR Footage","SQR Footage","SQR Footage","SQR Footage","SQR Footage","SQR Footage","SQR Footage","SQR Footage","SQR Footage","SQR Footage","SQR Footage","SQR Footage","SQR Footage","SQR Footage","SQR Footage"),
HouseSize=c(10, 20, 30, 40, 50, 15, 25, 35, 45, 55, 18, 28, 38, 48, 58), Lot=c(1, 2, 3, 4, 5, 10, 20, 30, 40, 50, 11, 21, 31, 41, 51),
Location = c("HSV", "ATH", "HSV", "ATH", "FLO", "HSV", "ATH", "HSV", "ATH",
"FLO", "HSV", "ATH", "HSV", "ATH", "FLO"))
--- On Mon, 3/23/09, Phil Spector <spector at stat.berkeley.edu> wrote:
> From: Phil Spector <spector at stat.berkeley.edu>
> Subject: Re: [R] Replacing a few variable values within a DataFrame...
> To: "Jason Rupert" <jasonkrupert at yahoo.com>
> Date: Monday, March 23, 2009, 12:48 PM
> Jason -
> When you say that you want to change some values (if),
> but
> leave others the same (else) I think that the else is very
> important. Here's how to use ifelse to do what you
> want:
>
> test_data2_df$HouseSize = ifelse(test_data2_df$Location
> == 'HSV',newvalue, test_data2_df$HouseSize)
>
> Here's another way to selectively change values in a
> data frame:
>
> test_data2_df[test_data2_df$Location ==
> 'HSV','HouseSize'] = newvalues
>
>
> - Phil Spector
> Statistical Computing Facility
> Department of Statistics
> UC Berkeley
> spector at stat.berkeley.edu
>
>
>
> On Mon, 23 Mar 2009, Jason Rupert wrote:
>
> >
> > I would like to replace a few varaibles within a data
> frame.
> >
> > For example, in the dataframe below (contrived) I
> would like to replace the current housesize value only if
> the Location is HSV. However, I would like to leave the
> other values intact.
> >
> >
> > I tried "ifelse", but I don't really
> need the else condition.
> >
> > test_data2_df<-data.frame(Variables=c("SQR
> Footage","SQR Footage","SQR
> Footage","SQR Footage","SQR
> Footage","SQR Footage","SQR
> Footage","SQR Footage","SQR
> Footage","SQR Footage","SQR
> Footage","SQR Footage","SQR
> Footage","SQR Footage","SQR
> Footage"),HouseSize=c(10, 20, 30, 40, 50, 15, 25, 35,
> 45, 55, 18, 28, 38, 48, 58), Lot=c(1, 2, 3, 4, 5, 10, 20,
> 30, 40, 50, 11, 21, 31, 41, 51), Location=c("HSV",
> "ATH", "HSV", "ATH",
> "FLO",
> > "HSV",
> "ATH", "HSV", "ATH",
> "FLO",
> > "HSV",
> "ATH", "HSV", "ATH",
> "FLO"))
> >
> > Moreover, I want to preserve the rest of the values
> within the data. I thought some combination using the
> subset would get me there, but I ended up with a long and
> ungangly looking code.
> >
> > Thanks for any help that is offered.
> >
> > ______________________________________________
> > 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.
> >
More information about the R-help
mailing list