R语言中%in%的作用

R中的%in%的作用

线性回归模型是统计学中的重要模型,它的形式一般为:
y = X β + z , y = X \beta + z, y=Xβ+z,
这里我们假设噪声序列 z z z服从 N ( 0 , σ 2 I ) N(0, \sigma^2I) N(0,σ2I).

在变量选择的相关数值模拟实验中,我们通常假设变量的系数 β \beta β是稀疏的,也就是 p p p维向量 β \beta β中有很多个元素都是0.
这是我们会在setting中假设维度 p p p是多少,稀疏程度 k k k是多少. 比如假设 p = 30 , k = 2 , p=30, k=2, p=30,k=2, 使用sample()函数随机选择 p p p维向量组中哪 k k k个元素不为0:

p = 30
k=2
set.seed(1234)
nonzero = sample(p,k)

nonzero中储存了k个整数型数据,代表 p p p维向量中的 k k k个元素. 然后我们就可以生成 β \beta β. 假设 β \beta β的大小都为2,那么有

amplitude = 2
beta = amplitude * (1:p %in% nonzero)

> beta
 [1] 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0

这样就生成了稀疏的系数向量.
其中,1:p %in% nonzero返回的是逻辑型数据,表示nonzero中的数值是否在向量(1,2,…,p)中出现. 若向量(1,2,…,p)中有跟nonzero中的数重合的,就返回“True”,若不重合则返回“False”. 举个例子:

> b = 1:5 %in% 3
> b
[1] FALSE FALSE  TRUE FALSE FALSE
> class(b)
[1] "logical"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值