假设
t=c(0,0.5,0.7,0.9,1,1.2) and
v=matrix(1:40, nrow=5, ncol=8)
v
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 1 6 11 16 21 26 31 36
[2,] 2 7 12 17 22 27 32 37
[3,] 3 8 13 18 23 28 33 38
[4,] 4 9 14 19 24 29 34 39
[5,] 5 10 15 20 25 30 35 40
我想制作一个5x6x4的数组。
array <- array(NA, dim = c(5, 6, 4))
5是行数,6是t
的长度,4是数组数。为了创建第一个数组,我只考虑v的前两列,并且对于每个时间点,第一个矩阵的第一个元素由v[1,1]+v[1,2]*t[]
填充,v[2,1]+v[2,2]*t[1]
是v的第一个元素的值。第一个数组的第一个矩阵,它是array [1,1,1]的值
,类似地,array [2,1,1] e let user = Auth.auth().currentUser
if let user = user {
// The user's ID, unique to the Firebase project.
// Do NOT use this value to authenticate with your backend server,
// if you have one. Use getTokenWithCompletion:completion: instead.
let uid = user.uid
let email = user.email
let photoURL = user.photoURL
// ...
}
对于第二个数组,仅考虑v的第3列和第4列。对于第三个数组,仅考虑v的第5列和第6列,最后,对于第四个数组,考虑v的最后两列。
如果有人可以使用for循环或其他方式来帮助我,我将不胜感激。
谢谢
答案 0 :(得分:1)
尝试以下嵌套循环:
ary <- array(NA, dim = c(5, 6, 4))
for (i in 1:5) {
for (j in 1:6) {
for (k in 1:4) {
ary[i, j, k] <- v[i, k * 2 - 1] + v[i, k * 2] * t[j]
}
}
}