楼主: 玥子
3950 12

想问一个关于模拟数据的问题 用聪明的方法来减少重复劳动吧~~~ [推广有奖]

  • 0关注
  • 0粉丝

高中生

55%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
107 点
帖子
12
精华
0
在线时间
46 小时
注册时间
2010-3-4
最后登录
2019-9-17

楼主
玥子 发表于 2010-3-15 10:55:18 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
大家好:
      我最近在用R做模拟数据。编写了一个程序,可以模拟一批数据,并且把数据储存下来以备下一步的分析。但是我的研究需要模拟这样的数据100次。是不是要用set.seed语句啊?我看了一下说明,不是很懂它的意思呢?如果要运行这个程序100次,产生100批数据并储存的话,可以怎样实现啊?应该不会就自己手动运行100次吧。。。希望可以有个语句来减少这种重复劳动啊~!!!
     谢谢~~~~
二维码

扫码加我 拉你入群

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

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

关键词:模拟数据 seed 数据储存 大家好 下一步 数据 模拟 劳动

沙发
玥子 发表于 2010-3-18 21:49:56
啊?怎么没有人帮帮我啊~~~~

藤椅
gssdzc 在职认证  发表于 2010-3-18 21:53:48
没用过这个软件

板凳
soccy 发表于 2010-3-18 22:02:12
简单循环不行么?

报纸
玥子 发表于 2010-3-18 22:13:16
4# soccy

但是怎么储存啊?我看到R存的文件名都是“”里的 就固定了 如果模拟100次就有100个文件 怎么存成不同的呢?

地板
trier2006 发表于 2010-3-19 08:24:16
1# 玥子

for( ){

你写的函数。。。

}

也就是说把你的函数放在循环里。
最好的医生是自己,最好的药物是时间……

7
玥子 发表于 2010-3-19 09:51:17
6# trier2006
谢谢哈~
我写了一个循环的 但是无法储存每次生成的数据
例如
N <- 50
{for (i in 1:N){
if (i<51) source("simulation.txt")
tsdata<-t(sdata)
write(tsdata,file="simulation",ncolumns=60)
write(a,file="a",ncolumns=1)
write(b,file="b",ncolumns=1)
write(gamma,file="gamma",ncolumns=15)
write(theta,file="theta",ncolumns=1)}}

要重复50次运行编好的语句simulation,然后将每次生成的数据simualtion,a,b等等储存下来,各自50个数据文件。但是R每次生成的数据文件名都是simulation,无法改变。所以都没有50次。
改怎么实现啊,谢谢??

8
trier2006 发表于 2010-3-19 10:32:00
7# 玥子

你把每次运行的参数(例如simualtion,a,b)植入到每次分析的数据集的名字中(例如通过paste函数等,把参数名字黏贴到名字中),然后把这样的名字输出。

这样应该就是每次的数据集对应不同的名字,并输出了吧?
最好的医生是自己,最好的药物是时间……

9
玥子 发表于 2010-3-19 15:26:39
8# trier2006
谢谢介绍了这个函数~~
但是储存数据的时候,file="" 双引号里面的 只要输的是什么 就看做字符不会变了啊
例如
a<-2
i<-1
n<-paste(i,sep = "")
write(a,file="n")
此时,n为"1",但是运行以后 储存的文件名为n,还是与write函数里双引号的字母一样 不会变成数字1啊

10
ryusukekenji 发表于 2010-3-19 17:38:52
玥子 发表于 2010-3-19 09:51
6# trier2006
谢谢哈~
我写了一个循环的 但是无法储存每次生成的数据
例如
N
  1. >write(tsdata,file="simulation",ncolumns=60)
  2. #试一试更改为以下例子
  3. >write(tsdata, file=paste('simulation',i,sep='',nc=60))
复制代码

何不使用apply呢?
  1. >i <- 1:50
  2. >sapply(i, function(x) {source('simulation.txt')
  3.     tsdata<-t(sdata)
  4.    
  5. write(tsdata, file = paste('simulation', x, sep = ''), nc=60)
  6.     write(a, file = 'a', nc=1); write(b, file='b', nc = 1)
  7.     write(gamma, file = 'gamma', nc = 15)
  8.    
  9. write(theta, file = 'theta', nc = 1)})
复制代码

还没试过运行,不晓得行不行,哈哈,楼主可以姑且一试,不行的话请告之。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 09:30