Ваше решение очень близко, вам просто нужно переместить итератор строки (в моем примере это p
, в вашем примере это n
) во второй цикл вместо первого цикла:
Year <- c(1936, 1946, 1951, 1963, 1975, 1997, 2006)
mat <- matrix(0, nrow = 21, ncol = 2)
p <- 1 # row iterator
q <- 2 # second column iterator
for(i in 1:(length(Year) - 1)){ # first loop
for(j in q:length(Year)){ # second (nested loop)
mat[p,] <- c(Year[i], Year[j])
p <- p + 1 # iterate rows
}
q <- q + 1 # iterate second column
}
mat
# [,1] [,2]
# [1,] 1936 1946
# [2,] 1936 1951
# [3,] 1936 1963
# [4,] 1936 1975
# [5,] 1936 1997
# ....