R source code explanation.

  • Thread starter user366312
  • Start date
  • #1
user366312
Gold Member
71
3

Summary:

Kindly explain the highlighted lines.

Main Question or Discussion Point

R code:
#==================================================================
# Build the transition matrix for random walk on n-cycle
#------------------------------------------------------------------
n <- 25  # we are creating (nXn) transition matrix
r1 <- c(0, 1/2, rep(0,n-3), 1/2) # create same values 22 times...
tmat <- matrix(0, nrow=n, ncol=n) # create a 0-matrix
tmat[1,] <- r1 # inject values in 'r1' into 'tmat' along the 1st row

for (i in 1:(n-1))
{
    tmat[26-i,] <- r1[1 + (i:(n+i-1)) %% n] # ??? mod operator
}
#=================================================================
What are being done in line#11?

How are elements being selected using mod operator?
 

Answers and Replies

  • #2
FactChecker
Science Advisor
Gold Member
5,580
2,057
It really helps to print results and intermediate calculations.
I ran it with this code right after the calculation of r1:
Code:
print("r1")
print( r1 )
And this at the bottom of the loop:
R print code at bottom of loop:
print("1 + (i:(n+i-1)) %% n")
print(1 + (i:(n+i-1)) %% n)
print("26-i")
print(26-i)
print("tmat")
print(tmat[26-i,])
The beginning of the print results are:
Start of print results:
[1] "r1"
 [1] 0.0 0.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.5
[1] "1 + (i:(n+i-1)) %% n"
 [1]  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25  1
[1] "26-i"
[1] 25
[1] "tmat"
 [1] 0.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.5 0.0
[1] "1 + (i:(n+i-1)) %% n"
 [1]  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25  1  2
[1] "26-i"
[1] 24
[1] "tmat"
 [1] 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.5
 
  • Like
Likes sysprog and jedishrfu

Related Threads on R source code explanation.

  • Last Post
Replies
3
Views
364
  • Last Post
Replies
15
Views
2K
  • Last Post
Replies
8
Views
29K
Replies
6
Views
3K
  • Last Post
Replies
1
Views
2K
Replies
1
Views
564
Replies
2
Views
625
Replies
8
Views
2K
Replies
28
Views
5K
Top