[R] Two problems
David A Richmond
richmond at saintmarys.edu
Thu Apr 18 21:36:13 CEST 2002
On Thu, 18 Apr 2002, Ambrosini Alessandro wrote:
> Hello! Two questions:
>
> 1: I have to import a matrix of adjacency from a file of a software that is
> not R (for example "bloc notes" of Windows). The problem is that the matrix
> is not in the explicit form as
> 0 1 1
> 1 0 0
> 1 0 0
> but it is a scattered matrix where in each row there are two nodes that have
> a direct path.
> The matrix is
>
> a b
> a c
> b a
> c a
>
after doing a little research, I have discovered "charmatch" which will
give the indices of the matches between two sets of strings. For instance:
> list1 <- c("a","b","c","d")
> list2 <- c("d","d","b")
> charmatch(list2,list1)
[1] 4 4 2
Using this you can convert a list of letters to a list of numbers. For
instance:
> rowlist <- c("a","a","b","c")
> collist <- c("b","c","a","a")
> uniquelist <- sort(unique(c(rowlist,collist)))
> uniquelist
[1] "a" "b" "c"
> rownums <- charmatch(rowlist,uniquelist)
> colnums <- charmatch(collist,uniquelist)
> list <- cbind(rownums,colnums)
> list
rownums colnums
[1,] 1 2
[2,] 1 3
[3,] 2 1
[4,] 3 1
> n <- length(uniquelist)
> mat <- matrix(0,n,n)
> mat[list] <- 1
> mat
[,1] [,2] [,3]
[1,] 0 1 1
[2,] 1 0 0
[3,] 1 0 0
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list