[R] about change columns for specific rows

David Winsemius dwinsemius at comcast.net
Sat Jan 30 19:34:49 CET 2016


> On Jan 29, 2016, at 10:30 PM, lily li <chocold12 at gmail.com> wrote:
> 
> Hi R users,
> 
> I have a data frame, and I generate a date column like this:
> df$date = seq(as.Date('2012-01-01'), as.Date('2014-12-31'))
> 
> df
> A  B  C
> 1  2   1
> 2  2   3
> 3  2   4
> 
> So the data frame has 4 columns now. But when I want to change the values
> of column A for specific dates, such as 2012-01-01 to 2013-12-31, I use the
> code below:
> df[date >= '2012-01-01'&date <= '2013-12-31']$A =
> df[date >= '2012-01-01'&date <= '2013-12-31']$A +2
> 
> But it does not work, the date I generate seems not effective. What is the
> problem? Thanks for your help.
> 

You are using "[" incorrectly. You should be passing that logical vector to the "row-position" of the  i,j-form of the `[<-` function. Try instead:

df[date >= '2012-01-01'&date <= '2013-12-31' , ]$A =
   df[ date >= '2012-01-01'&date <= '2013-12-31' , ]$A +2

(As it is, I believe you are selecting columns rather than rows.)

> 	[[alternative HTML version deleted]]

And study the documentation of your email client so you can learn how to send palin text emails to rhelp.
> 
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.

David Winsemius
Alameda, CA, USA



More information about the R-help mailing list