作者chien533 (谣指部总司令)
看板Statistics
标题[问题] R存取非物件报表的问题
时间Sun May 18 04:30:48 2008
请问一个关於 R 存档的问题
我目前在执行一个和特殊的模型,里面有些报表找不到相对应的物件名称
所以在配适完後,我得列印出所有结果
然後用复制贴上的方法存在纯文字档里
不过昨天我发现可以用 sink 函数来让这些报表自动存入一个指定的文字档里
例如:
sink("路径\\output.txt")
b <- 某function
print(b) ###这就是要列印 b 里面所有报表
sink()
unlink("路径\\output.txt")
假设这个 b 并不是物件,所以没有办法存成资料档,因此得先呼叫 b 一次,让
结果印在视窗里,然後直接用 sink 把结果印在output.txt 里面,这样我可以自
己去找要用的数据。
不过,如果这段程式包在一个回圈里面,则列印 b 的这个动作将不会在视窗上有
任何反应,当然也不会有结果印在 output.txt 里面。
所以想请问这种情况有什麽解决的方法?
谢谢!
[更新问题]
用了一些方法,发现如果用 print 在一个回圈内时可以跑出结果,但是 sink 无法
存档。若用 print 在两个回圈内时,则 print 根本无法印出结果,当然 sink 也
没东西可存。
所以.....还是希望有人想出解决的方法。谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 66.57.44.217
※ 编辑: chien533 来自: 66.57.44.217 (05/18 04:57)
1F:推 Ajax3:Is "b" a output of a function? 05/18 08:58
2F:推 lin15:应该直接下b sink就可以抓到报表 不需要用到print 05/18 09:40
3F:推 lin15:试了一下原来放在回圈内一样都不会显示=.= 05/18 09:42
4F:→ lin15:sorry 原po可以考虑把结果放到物件中 回圈後再呼叫出来 05/18 09:43
5F:推 lin15:又试了一下print放在回圈内应该会跑值出来才对说... 05/18 09:47
6F:→ chien533:我刚试了一下,如果只有一个回圈,那print就会显示结果, 05/18 10:28
7F:→ chien533:这时候sink就有办法纪录,可是如果放在两层回圈里面,就 05/18 10:28
8F:→ chien533:没有办法印出报表,而sink也没有办法纪录了 05/18 10:29
9F:→ chien533:我没有办法把结果放在物件,因为每次回圈跑完这个物件都 05/18 10:30
10F:→ chien533:会update,所以最後只能叫出最後一次回圈所得到的结果/_\ 05/18 10:30
※ 编辑: chien533 来自: 66.57.44.217 (05/18 13:49)
11F:→ chien533:我用 capture.output 这个函式解决所有问题了! 05/18 14:04