के कार्टशियन उत्पाद को त्वरित रूप से जेनरेट करें मान लें कि मेरे पास एक मैट्रिक्स x
है जिसमें 10 पंक्तियां और 2 कॉलम हैं। मैं एक नया मैट्रिक्स M
उत्पन्न करना चाहता हूं जिसमें x
से पंक्तियों की प्रत्येक अद्वितीय जोड़ी शामिल है - यानी, 55 पंक्तियों और 4 कॉलम के साथ एक नया मैट्रिक्स है।मैट्रिक्स
जैसे,
x <- matrix (nrow=10, ncol=2, 1:20)
M <- data.frame(matrix(ncol=4, nrow=55))
k <- 1
for (i in 1:nrow(x))
for (j in i:nrow(x))
{
M[k,] <- unlist(cbind (x[i,], x[j,]))
k <- k + 1
}
तो, x
है:
[,1] [,2]
[1,] 1 11
[2,] 2 12
[3,] 3 13
[4,] 4 14
[5,] 5 15
[6,] 6 16
[7,] 7 17
[8,] 8 18
[9,] 9 19
[10,] 10 20
और फिर M
4 कॉलम, पहले दो x
से एक पंक्ति और अगले 2 x
से एक और पंक्ति रहे हैं है:
> head(M,10)
X1 X2 X3 X4
1 1 11 1 11
2 1 11 2 12
3 1 11 3 13
4 1 11 4 14
5 1 11 5 15
6 1 11 6 16
7 1 11 7 17
8 1 11 8 18
9 1 11 9 19
10 1 11 10 20
है आर में ऐसा करने के लिए या तो एक तेज़ या सरल (या दोनों) तरीका है?
विस्तार.grid() के बारे में कभी नहीं पता था। Dirk का जवाब यह सब एक साथ लाता है (हमेशा के रूप में ...) –