全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3844 19
2011-07-05
悬赏 100 个论坛币 未解决
我现在有三个数据框,其中tvwr和tvw是对应的,都有1347个序列,bench只有一个序列。
我现在打算从tvwr这个数据框中随机抽取2个序列(不重复,抽取10000次)与对应tvw序列运算得到一个序列,再减去bench序列,对结果求方差;累加方差,求平均方差;但输入R后总显示错误,求大家帮帮忙!我的程序是
tevq<-function(z)
{
k<-0;
yy<-0;
x<-round(runif(z,1,1374),digit=0);
y<-round(runif(z,x,1374),digit=0);
for(i in 1:z)
{
yy<-yy+var((tvwr[,x]+tvwr[,y])/(tvw[,x]+tvw[,y])-bench[,1],na.rm=T);
k<-k+1
};
if (k>10000) break
};
(tev[2]<-yy/(z-1))

公式中yy<-后的x、y均有指标[ i ],不知咋一提交就没了!

问题是:1 随机数设置似乎不能满足不重复的要求,有无好的解决办法?
              2 即使不能满足随机数要求,上面程序仍然无法运行,到底有什么错误呢?

论坛币仅为表达感激,会选择能给出解答的朋友,但凡提出良好建议的朋友也都会评分答谢!!欢迎大家畅所欲言!!
二维码

扫码加我 拉你入群

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

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

全部回复
2011-7-5 09:37:29
这句话“if (k>10000) break”,应该在某个循环中吗?
二维码

扫码加我 拉你入群

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

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

2011-7-5 10:26:32
2# hyu9910 这个我用来控制循环次数, 我希望抽样10000次,所以加了这个语句!似乎没问题.
二维码

扫码加我 拉你入群

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

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

2011-7-5 18:18:57
先了解一下
甚么是(不重复,抽取10000次)
你要随机数不重复
底下x,y,都不会重复
A=seq(1:1374)
x=sample(A,1374,replace = FALSE)
y=sample(A,1374,replace = FALSE)

##########
z=5
A=seq(1:z)
x=sample(A,z,replace = FALSE)
y=sample(A,z,replace = FALSE)
tvwr=cbind(rnorm(50),rnorm(50),rnorm(50),rnorm(50),rnorm(50))
tvw=cbind(rnorm(50,1,3),rnorm(50,1,3),rnorm(50,1,3),rnorm(50,1,3),rnorm(50,1,3))
bench=cbind(rnorm(50),rnorm(50))
for(i in 1:z){
yy<-yy+var((tvwr[,x]+tvwr[,y])/(tvw[,x]+tvw[,y])-bench[,1],na.rm=T)}
yy= 97.32098

其他的等弄清楚再修改.
tev[2]  ??
二维码

扫码加我 拉你入群

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

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

2011-7-5 19:21:18
4# epoh

我这个基本数据集是tvwr,我想从中任意取n(n=1,2,。。。。1347)个做成组合,并计算组合相关变量,最理想当然是全部可能的组合,但是choose(1347,3)结果就是inf,所以我考虑随机抽样的方法!准备对任意n个数据系列的组合抽样10000个,如果能生成10000个n维向量最好(n=1和n=1347例外),这个我自己没有把办法。所以我考虑单独生成随机数,再构建组合,问题是怎样控制不出现,比如第一、二个随机数都是一样的情形(也要考虑排除比如n个中有r个相同——这样就不是n个序列的组合)?此外怎样排除两个组合都一样,比如n1次是(a,b),n2次也是(a,b)(这个要求是否必要有待考虑)?
tev[2]是我设置的一个1347维的向量,希望把n=1到n=1347都放进去便于后续分析!对于tev[2]我就是将10000个组合都计算后加入,再求其平均值。
另外,我设置z时并不能肯定所产生的随机数正好能构建10000个组合,所以又用k来进行控制, 可能也不尽恰当.初学这个软件,还很生疏:)
二维码

扫码加我 拉你入群

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

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

2011-7-5 20:29:39
我刚试了
在MATLAB产生10000 x 1374 matrix
Y = rand(10000,1374);
文件大小约99.1 Mb
楼主是否可改用matlab

否则依楼主要求
条件句要相当多约束
这会影响效率甚多
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

分享

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