2738 3

[问答] 矩阵6列随机选2列怎么实现 [推广有奖]

  • 2关注
  • 0粉丝

已卖:3份资源

硕士生

7%

还不是VIP/贵宾

-

威望
0
论坛币
91 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1046 点
帖子
31
精华
0
在线时间
216 小时
注册时间
2017-3-26
最后登录
2022-3-1

楼主
一份黄焖鸡米饭 发表于 2017-11-28 22:25:05 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
有一个100*6的矩阵X,X=(x1 x2 x3 x4 x5 x6),每个xi有100个观测,然后要对X的列的所有情况和y做回归,就是第一列有可能选有可能不选,第二列有可能选有可能不选,共需要做2^6次方个回归,请问各位大神这个R代码怎么写哇
关于X和Y:
miu<-c(0,0,0,0,0,0) #Xi~N(0,I6)
sigma<-diag(c(1,1,1,1,1,1))#I6
library(MASS)
x<-mvrnorm(100,miu,sigma)#生成100个服从miu和sigma的正态分布随机数
u<-rnorm(100,0,4)#随机误差项εi~N(0,4)
beta<-matrix(c(1,0.8,0.6,0,0,0),6,1)#生成β列向量
y<-x%*%beta+u#响应变量y=xβ+ε
以及请问各位:为什么我用这个com<-combn(c(x[,1],x[,2],x[,3],x[,4],x[,5],x[,6]),p2)在6列里选两列会出来2万种以及如何实现矩阵中在6列里选出两列
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R代码

回帖推荐

ntsean 发表于3楼  查看完整内容

沙发
waterhorse 发表于 2017-11-28 23:07:46
2万种: Impossible
选出两列: com[sample(1:6, 2),]

藤椅
ntsean 发表于 2017-11-29 17:19:07
  1. 应该就64个吧
  2. combs <- expand.grid(rep(list(c(TRUE, FALSE)), 6))

  3. f <- function(id) {
  4.   id <- as.vector(unlist(id))
  5.   if (all(!id)) return(lm(y~1))
  6.   m <- x[, id, drop = FALSE]
  7.   lm(y~m)
  8. }

  9. apply(combs, 1, f)
复制代码

板凳
一份黄焖鸡米饭 发表于 2017-11-30 00:41:31
ntsean 发表于 2017-11-29 17:19
大大好厉害,可否请您说一下您的思路呢

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-29 12:20