由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 再问随机取样的programming
相关主题
Backward Probabilities in solving HMM[合集] interview question
说说最近两次面试经历吧[合集] 想转专业,统计or CS?
R一问[合集] Bus arrival time distribution
R: cut[合集] 关于统计的方向
How to get rid of loop in R code?[合集] 一个面世题,不会做,出丑了。
Python - scraping 统计版 - 如何翻页?[合集] 大家学统计忙不忙?
Statistics版 - 水枪排名[合集] how to randomly draw 10% sample from a data set?
求教现在machine learning和statistics的区别[合集] What editor do u use for R?
相关话题的讨论汇总
话题: 随机取样话题: aod话题: arg话题: argv话题: sample
进入Statistics版参与讨论
1 (共1页)
a***r
发帖数: 420
1
其实以前我没问过
不过考古发现众多此类话题的遗迹,我景仰的songkun,dashagen,bullren等前辈纷纷
留下墨宝,甚至竟然还有陈大师的高见(一年多前的贴啊,伤不起!!!)
可惜还是没搞定><,只好再问了
我有n的subject,想从中取q%个,(nq/100取整)
sas里可以surveyselect
r里可以sample (r真好。。。)
在C/C++里怎么实现呢??
因为dataset太大,用R和sas都不可行
Typically,我想做的是
#
...
main (int argc,char * argv[]) {
int arg=0;
n=atoi(argv[++arg]);
p=atoi(argv[++arg]);
double AOD;
srand((unsigned)time(NULL));
for (int i =0; i {
AOD=((double) rand() / (RAND_MAX+1)) ;
if (AOD

do something I need to matrix[i];
}
}
std::cin.ignore( std::numeric_limits::max(), '\n' );
return(0);
}
这样不行,因为我不能控制选到的个数
还有其实我不确定这样生成的数是不是uniform的
我想做的实际就是产生一个选中的index list,然后对matrix[index]做操作
骨灰贴里bullren问了这个问题之后,很happy地说最后借用了R的code
可是我很挫的没有找到R的runif()或者sample()的source code
所以,idea/reference, are all sincerely appreciated!
谢谢大家啦~~

g**********t
发帖数: 475
b*****n
发帖数: 685
3
居然提了老夫的名,那老夫就回一下。
我猜你要实现类似于R里面的sample,比如5个里面取2个:
> sample(5, 2)
[1] 1 3
就可以得到index了。
如果你要借用R的function,那些source code需要从cran R Sources上面down。
其实这种情况用C很容易实现,做两次loop,第一次从5个里面随机取一个,第二次再从
剩下4个里面随机取一个(如果是without replacement的话)。只不过这么做仅限于等
概率的sample,也就是R的sample里面prob = NULL的case。
o****o
发帖数: 8077
4
maybe this like helps:
http://www.mitbbs.com/bbsann2/life.faq/JobHunting/17/D128425435

【在 a***r 的大作中提到】
: 其实以前我没问过
: 不过考古发现众多此类话题的遗迹,我景仰的songkun,dashagen,bullren等前辈纷纷
: 留下墨宝,甚至竟然还有陈大师的高见(一年多前的贴啊,伤不起!!!)
: 可惜还是没搞定><,只好再问了
: 我有n的subject,想从中取q%个,(nq/100取整)
: sas里可以surveyselect
: r里可以sample (r真好。。。)
: 在C/C++里怎么实现呢??
: 因为dataset太大,用R和sas都不可行
: Typically,我想做的是

a***r
发帖数: 420
5
上次没来得及回复
谢谢,非常有帮助!!

http://www.mitbbs.com/bbsann2/life.faq/JobHunting/17/D128425435
348717_2.70/%C7%B0%B6%CE%CA%B1%BC%E4%D5%FB%C0%ED%B5%C4%CB%E6%BB%FA%CB%E3%B
7%A8

【在 o****o 的大作中提到】
: maybe this like helps:
: http://www.mitbbs.com/bbsann2/life.faq/JobHunting/17/D128425435

a***r
发帖数: 420
6
嗯哪,懂了
主要在这个概念上当时没转过弯:
uniformly sampling from a finite population without replacement
marginal distribution of samples is still uniform
谢啦~

【在 b*****n 的大作中提到】
: 居然提了老夫的名,那老夫就回一下。
: 我猜你要实现类似于R里面的sample,比如5个里面取2个:
: > sample(5, 2)
: [1] 1 3
: 就可以得到index了。
: 如果你要借用R的function,那些source code需要从cran R Sources上面down。
: 其实这种情况用C很容易实现,做两次loop,第一次从5个里面随机取一个,第二次再从
: 剩下4个里面随机取一个(如果是without replacement的话)。只不过这么做仅限于等
: 概率的sample,也就是R的sample里面prob = NULL的case。

1 (共1页)
进入Statistics版参与讨论
相关主题
[合集] What editor do u use for R?How to get rid of loop in R code?
Matlab求教 (转载)Python - scraping 统计版 - 如何翻页?
[合集] 报一个offer,给大家鼓劲Statistics版 - 水枪排名
[合集] 请教一下怎么来计算合理的准确率求教现在machine learning和statistics的区别
Backward Probabilities in solving HMM[合集] interview question
说说最近两次面试经历吧[合集] 想转专业,统计or CS?
R一问[合集] Bus arrival time distribution
R: cut[合集] 关于统计的方向
相关话题的讨论汇总
话题: 随机取样话题: aod话题: arg话题: argv话题: sample