[R] replace zeros for NA in a column based on values of another column
Rui Barradas
ruipbarradas at sapo.pt
Sat Mar 2 12:56:14 CET 2013
Hello,
Try
# for columns a.b it's 1:2, not 1:3
data[data[,4] == 0, 1:3] <- NA # columns a, b and c
Hope this helps,
Rui Barradas
Em 02-03-2013 10:26, Camilo Mora escreveu:
> Hi everyone,
>
> Imagine that I have a data frame with four columns:
> data<-
> a b c d
> 0 1 1 0
> 1 1 1 1
> 1 0 0 1
>
> I want to replace the zeros in columns a:b for NA only for the rows in
> which column d are zero. So
>
> a b c d
> NA 1 1 0
> 1 1 1 1
> 1 0 0 1
>
> I am trying this:
> data[,1:3][data[4] == 0] <- NA
> But get this error:
>
> Error in `[<-.data.frame`(`*tmp*`, Data[4] == 0, value = NA) :
> only logical matrix subscripts are allowed in replacement
>
> Does anyone knows the reason of this error or is there an alternative to
> replace the values in one column based on the values of another?
>
> Thanks,
>
> Camilo
>
> Camilo Mora, Ph.D.
> Department of Geography, University of Hawaii
> http://www.soc.hawaii.edu/mora/
>
> ______________________________________________
> 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