r - 对于不同行组的R中的in函数
问题描述
我有以下 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)
如何运行它以获取前 10 行计算的几个 XX、XY 和 YY 对象,其他第 11 到 20 行的对象,等等...??有for循环的任何想法吗?谢谢!
解决方案
我们可以创建列表来存储不同的输出。创建一个步长为 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])
}
推荐阅读
- javascript - 使用函数调用作为默认参数 javascript
- javascript - 循环(纪元)时间到最高分钟
- c# - 如何制作程序来检测实时保护是否开启?
- node.js - ReferenceError: primordials 未在 node.js 中定义
- google-apps-script - 用于 google Apps 脚本 webapps 的 google OAuth 登录
- azure - azure devops 管道中的服务器作业是什么意思?
- javascript - JQuery使用日期对对象数组进行排序
- javascript - 我们可以像 Prisma 库一样链接等待的 Promise 吗?
- python - for 循环中的变量不能递增
- python-3.x - 使用 google-slides-api 自动生成 powerpoint