全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
708 2
2021-03-01
pik=inclusionprobabilities(Tot,n)#泊松抽样函数包计算入样概率
m=UPpoisson(pik)  
C = getdata(l,m)
g=getdata(l$ID,m)
M=C[,-(1:3)]
M=as.matrix(M)
C1=t(M)
C1=as.matrix(C1)
R=data.frame(ID,C1)
W=getdata(R,m)
W1=W[,-(1:2)]
W2=as.matrix(W1)
library(MASS)
V=ginv(W2)
#计算抽样误差
K=C1%*%V%*%M #重构后的矩阵
E=rr1-K
Y=sum(E*E)/sum(rr1*rr1)
大家好,这是一段抽样代码,Y表示抽样误差,我现在想加上一个循坏,比如连续抽20次,最后可以得到抽20次误差的平均值,请问可以怎么加循环。
二维码

扫码加我 拉你入群

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

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

全部回复
2021-3-2 20:57:02
#没仔细看你的代码,中间变量太多了,就不管你的代码了。

sampErr<-1:20  #先建个向量,这里假设你要计算20次,用来存储每次计算结果

#然后加个循环,如果数据量小又不怕耗时的话

for (i in 1:20) {
#这里你加上你的代码就好
#把你代码最后一行改成
sampErr[i]=sum(E*E)/sum(rr1*rr1)
}

#这样循环跑完,开始建的向量应该是每次计算的抽样误差

mean(sampEr)  #这20次抽样的平均误差
二维码

扫码加我 拉你入群

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

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

2021-3-2 21:55:55
llb_321 发表于 2021-3-2 20:57
#没仔细看你的代码,中间变量太多了,就不管你的代码了。

sampErr
谢谢大神,问题解决啦
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群