Try this:

 d[d > 0] <- -9

On Mon, Nov 29, 2010 at 1:56 PM, Lorenzo Isella <lorenzo.isella@gmail.com>wrote:

> Dear All,
> I am experiencing some problems in resetting the values of some selected
> elements in a dataframe.
>
> Consider
>
>
> d<-seq(-1,1,length=16)
> dim(d)<-c(4,4)
> d<-as.data.frame(d)
>
> sel_pos<-which(d>0, arr.ind=TRUE)
>
> d[sel_pos]<- -9
>
> which returns the error
>
> Error in `[<-.data.frame`(`*tmp*`, sel_pos, value = -9) :
>  only logical matrix subscripts are allowed in replacement
>
> which is obscure to me. I am correctly selecting the positive elements in a
> data.frame and I'd like to reset them to another numerical value.
> What I am misunderstanding?
> Many thanks
>
> Lorenzo
>
> ______________________________________________
> 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.
>



-- 
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O

	[[alternative HTML version deleted]]

