【发布时间】:2017-02-28 23:04:48
【问题描述】:
我有一个矩阵和一个向量
set.seed(1) # I added this to have a reproducible values
X <- matrix(rexp(200, rate=.1), ncol=20)
Y <- matrix(rexp(10, rate=.1), ncol=1)
然后我随机选择 X 的 5 列 正如@Laterow 建议的那样 # 从 X 中选择 5 个随机列 温度
然后我将 X1 与我的 Y
合并mydata <- data.frame(cbind(Y,X1))
然后我建立一个回归
fit = lm(Y~.,data=mydata)
然后我得到sd
se <- sqrt(diag(vcov(fit)))
现在我想做的是用我原来的 X 的所有其他列更改具有最大 se 的列,并保留具有最低 se 的列
例如如果你在上面运行,在se中,我有最大价值的X3
X3
7.348126e-18
所以我将 X1 的第 3 列更改为 X 中除自身之外的所有其他列
现在我想将第 3 列自动更改为 X 中除自身以外的所有其他列
如果你这样做了
> temp
#[1] 18 4 9 8 10
X1 的第 3 列被 X 的除 9 之外的所有列改变了
【问题讨论】:
-
那么...为什么不只存储信息,例如
temp <- sample(ncol(X), 5),以便您以后可以检查它们是哪些列? (编辑:然后显然将代码更改为X[,temp]) -
@Laterow 谢谢我现在编辑了我的问题
标签: r