If you wanted this for all values in x that are smaller, i'd use x[x$a < y$a,] <- y
for just the smallest: x[intersect(which(x$a < y$a),which.min(x$a)),] <- y On 29.01.2013, at 22:11, Dimitri Liakhovitski wrote: > Hello! > > I have a large data frame x: > x<-data.frame(item=letters[1:5],a=1:5,b=11:15) # in actuality, x has 1000 > rows > x$item<-as.character(x$item) > I also have a small data frame y with just 1 row: > y<-data.frame(item="f",a=3,b=10) > y$item<-as.character(y$item) > > I have to decide if y$a is larger than the smallest of all the values in > x$a. If it is, I want y to replace the whole row in x that has the lowest > value in column a. > This is how I'd do it. > > if(y$a>min(x$a)){ > whichmin<-which(x$a==min(x$a)) > x[whichmin,]<-y[1,] > } > > > I am wondering if there is a faster way of doing it. What would be the > fastest possible way? I'd have to do it, unfortunately, many-many times. > > Thank you very much! > > -- > Dimitri Liakhovitski > gfk.com <http://marketfusionanalytics.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. ______________________________________________ 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.