楼主: yukuang
1447 6

[问答] 给各位拜年了,小弟又有问题,请教能否不用循环实现?求优化的R代码 [推广有奖]

  • 0关注
  • 0粉丝

大专生

25%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
266 点
帖子
49
精华
0
在线时间
30 小时
注册时间
2010-3-13
最后登录
2015-3-12

楼主
yukuang 发表于 2015-1-22 13:02:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

算法:欲生成一个1010列的二维表(矩阵)TT中每个元素均为01。首先随机生成最后一列,即第10列。然后要求自第1列至9列,分别以递减的比率与最后一列相同。如第1列有90%的元素与最后一列相同,第9列有80%的元素与最后一列相同,依次类推,第9列有10%的元素与最后一列相同。

请教:1、生成的二维表可能会很大,如10万行,10万列,甚至更大,至少保证10*10万时不出现内存不够的现象。2、递减可以匀速递减,也可以非匀速递减。3、第1列与最后一列的相似程度(上例为90%),以及倒数第2列与最后一列的相似程度(上例为10%)可调。

多谢各位好人了!


二维码

扫码加我 拉你入群

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

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

关键词:R代码 各位好 倒数 元素

沙发
jiangqing001 发表于 2015-1-22 13:34:24
我也是R的初学者
我对于您的问题的想法是:
1.首先内存问题这要看您的机器的,以我的经验10w*10w已经很大了,不过我是32位2GB的pc
2.不知道您这里列与列相似的概念是什么,如果是1所占的比例,那是不是用二项分布,针对参数p来做循环

藤椅
jiangqing001 发表于 2015-1-22 13:57:23
  1. a <- matrix(0,nrow=10,ncol=10)
  2. len <- seq(0,1,length=nrow(a))
  3. i <- 1
  4. for(p in len){
  5.   a[,i] <- rbinom(ncol(a),1,p)
  6.   i=i+1
  7. }
复制代码


在小样本下会有二项分布随机数产生1的概率不完全等于参数p的情况,但大样本应该没什么问题

板凳
sqy 发表于 2015-1-22 15:17:19
嗯,楼上貌似是对的!

报纸
yukuang 发表于 2015-1-23 08:44:53
jiangqing001 发表于 2015-1-22 13:57
在小样本下会有二项分布随机数产生1的概率不完全等于参数p的情况,但大样本应该没什么问题
兄台,我试了下您的代码,貌似数据量小的情况下有误差。 能否在无论数据量大小的情况下都达到要求 ?

地板
jiangqing001 发表于 2015-1-23 11:31:11
yukuang 发表于 2015-1-23 08:44
兄台,我试了下您的代码,貌似数据量小的情况下有误差。 能否在无论数据量大小的情况下都达到要求 ?
如果要用随机数的方法的话,不能保证在小样本下避免偏差的。
那还是考虑其他的方法吧。

7
jiangqing001 发表于 2015-1-23 11:40:35
可以尝试一下sample函数

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

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