[R] Replacing string in matrix with zero

arun smartpink111 at yahoo.com
Thu Nov 15 03:34:06 CET 2012


HI,

If it is value Inf, you could also use ?is.infinite()

  x<-matrix(c(Inf,1,2,3,Inf,5,6,7,Inf),nrow=3)
x[is.infinite(x)]<-0
 x
#     [,1] [,2] [,3]
#[1,]    0    3    6
#[2,]    1    0    7
#[3,]    2    5    0
A.K.



----- Original Message -----
From: Rui Barradas <ruipbarradas at sapo.pt>
To: Nick Duncan <nickdunc at gmail.com>
Cc: r-help at r-project.org
Sent: Wednesday, November 14, 2012 7:14 PM
Subject: Re: [R] Replacing string in matrix with zero

Hello,

I doubt your Inf is a string, R does have the numeric value Inf (and 
-Inf), just try 1/0.
As for the question,

x <- matrix(1:9, ncol = 3)
diag(x) <- 1/0
x
x[x == Inf] <- 0
x

Note that it could also be diag(x) <- 0

Hope this helps,

Rui Barradas
Em 14-11-2012 22:13, Nick Duncan escreveu:
> Dear All,
>
> I have a matrix in which the diagonal has the string "Inf" in it. In
> order to be able to do cluster analysis this needs to be replaced with
> a Zero.
> I can do this by putting it into Excel, replacing  and putting it back
> into R but it's tedious, and I am sure there is a simple way to do it
> in R.
> If you have the route to do this, it would be much appreciated.
> Best wishes
> Nick Duncan
>
> ______________________________________________
> 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.

______________________________________________
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