[R] matrix of all difference between rows values
arun
smartpink111 at yahoo.com
Sun Nov 11 16:49:29 CET 2012
Hi,
I tried with another example and was able to understand the error. Sorry, I didn't test the code to other situations.
For example:
vec1<-c(8,7,10,15,1,3,6)
#According to my first solution:
res1<-apply(toeplitz(vec1),1,function(x) vec1[1]-x)
res1
# [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#[1,] 0 1 -2 -7 7 5 2
#[2,] 1 0 1 -2 -7 7 5
#[3,] -2 1 0 1 -2 -7 7
#[4,] -7 -2 1 0 1 -2 -7
#[5,] 7 -7 -2 1 0 1 -2
#[6,] 5 7 -7 -2 1 0 1
#[7,] 2 5 7 -7 -2 1 0
#Rui's code:
Table1<-matrix(vec1,ncol=1)
t(outer(Table1[,1],Table1[,1],"-"))
#or simply
t(outer(vec1,vec1,"-"))
# [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#[1,] 0 -1 2 7 -7 -5 -2
#[2,] 1 0 3 8 -6 -4 -1
#[3,] -2 -3 0 5 -9 -7 -4
#[4,] -7 -8 -5 0 -14 -12 -9
#[5,] 7 6 9 14 0 2 5
#[6,] 5 4 7 12 -2 0 3
#[7,] 2 1 4 9 -5 -3 0
#using expand.grid()
matrix(apply(expand.grid(vec1,vec1),1,diff),ncol=7)
# [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#[1,] 0 -1 2 7 -7 -5 -2
#[2,] 1 0 3 8 -6 -4 -1
#[3,] -2 -3 0 5 -9 -7 -4
#[4,] -7 -8 -5 0 -14 -12 -9
#[5,] 7 6 9 14 0 2 5
#[6,] 5 4 7 12 -2 0 3
#[7,] 2 1 4 9 -5 -3 0
identical(t(outer(vec1,vec1,"-")),matrix(apply(expand.grid(vec1,vec1),1,diff),ncol=7))
#[1] TRUE
A.K.
----- Original Message -----
From: cleberchaves <cleberchaves at gmail.com>
To: r-help at r-project.org
Cc:
Sent: Sunday, November 11, 2012 7:07 AM
Subject: Re: [R] matrix of all difference between rows values
Hi Arun,
i don't know exactly the error of yours script.
Maybe when i changed from "10-x" to "dat1[1,2]-x" (because my real matrix
does not start with 10) the error has appeared, the same numbers repeat in
all columns.
Maybe when i change for your second script that error does not appear again.
Nevertheless, thanks again, Arun!
Cleber Chaves
--
View this message in context: http://r.789695.n4.nabble.com/matrix-of-all-difference-between-rows-values-tp4649191p4649241.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________
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