[R] Query to find minimum value in a matrix in R

susmita T susmitha117 at gmail.com
Fri Sep 16 14:08:30 CEST 2016


Hi,
Good Morning! I am new to R and finding difficulty in understanding the code. Since few days I am stuck at single line of code which I am unable to understand.
Though there may be number of logics to find min value. As a new beginner I am following a book and as it has the following code

mind<-function(d)
{
	n<-nrow(d)
	dd<-cbind(d,1:n)
	wmins<-apply(dd[-n,],1,imin)
	i<-which.min(wmins[2,])
	j<-wmins[1,i]
	return(c(d[i,j],i,j))
}
imin<-function(x)
{
	lx<-length(x)
	i<-x[lx]
	j<-which.min(x[(i+1):(lx-1)])
	k<-i+j
	return(c(k,x[k]))
}

So when executed this with mind(below matrix) I get
0	12	13	8	20
12	0	15	28	88
13	15	0	6	9
8	28	6	0	33
20	88	9	33	0
the answer as 6 , row 3 column 4

Due to the symmetry of the matrix , the skipping of the early part of row is done by using expression (x[(i+1):(lx-1)])..(which is in red color in the code shown above). I am unable to understand
the line in red code and how it is implemented in the line 5(i.e wins)…(shown in pink color in the code above
I have done necessary homework to understand but still finding it hard to get it. Please someone help.


	[[alternative HTML version deleted]]



More information about the R-help mailing list