> On Jan 29, 2016, at 10:30 PM, lily li <chocol...@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@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 ______________________________________________ R-help@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.