对于不同行组的R中的in函数
我有以下R对象:对于不同行组的R中的in函数,r,loops,grouping,R,Loops,Grouping,我有以下R对象: y <- sample(c(0,2,2),1000,replace=T) X <- matrix(runif(2000,0,2),ncol=2,byrow=T)*2 XX = t(X)%*%X XY = as.numeric(t(X)%*%y) YY = as.numeric(t(y)%*%y) y我们可以创建列表来存储不同的输出。创建一个步骤为10的序列,并在for循环中计算结果 len <- length(y)/10 XX_list <- vec
y <- sample(c(0,2,2),1000,replace=T)
X <- matrix(runif(2000,0,2),ncol=2,byrow=T)*2
XX = t(X)%*%X
XY = as.numeric(t(X)%*%y)
YY = as.numeric(t(y)%*%y)
y我们可以创建列表来存储不同的输出。创建一个步骤为10的序列,并在for
循环中计算结果
len <- length(y)/10
XX_list <- vector('list', len)
XY_list <- vector('list', len)
YY_list <- vector('list', len)
vals <- seq(1, length(y), 10)
for(i in seq_along(vals)) {
inds <- vals[i]:(vals[i] + 9)
XX_list[[i]] <- t(X[inds, ]) %*% X[inds, ]
XY_list[[i]] = as.numeric(t(X[inds, ])%*% y[inds])
YY_list[[i]] = as.numeric(t(y[inds])%*% y[inds])
}
len我们可以创建列表来存储不同的输出。创建一个步骤为10的序列,并在for
循环中计算结果
len <- length(y)/10
XX_list <- vector('list', len)
XY_list <- vector('list', len)
YY_list <- vector('list', len)
vals <- seq(1, length(y), 10)
for(i in seq_along(vals)) {
inds <- vals[i]:(vals[i] + 9)
XX_list[[i]] <- t(X[inds, ]) %*% X[inds, ]
XY_list[[i]] = as.numeric(t(X[inds, ])%*% y[inds])
YY_list[[i]] = as.numeric(t(y[inds])%*% y[inds])
}
谢谢你的回复。它肯定是有效的,有没有一个解决方案,你不必事先做列表?你需要在一些对象中存储数据,所以我们需要定义一个对象。如果您不想固定长度,可以执行XX\u列表否,您是对的!它回答了我的问题。我提出的问题是错误的,因为XX、XY和YY将用于函数中,我并不需要存储它们,而是通过一个循环来移动它们,但这将是另一个问题:)谢谢你的回答。它肯定是有效的,有没有一个解决方案,你不必事先做列表?你需要在一些对象中存储数据,所以我们需要定义一个对象。如果您不想固定长度,可以执行XX\u列表否,您是对的!它回答了我的问题。我把这个问题表述错了,因为XX、XY和YY将用于函数中,我并不需要存储它们,而是需要一个循环来遍历它们,但这将是另一个问题:)