[問題] R存取非物件報表的問題

看板Statistics作者 (謠指部總司令)時間16年前 (2008/05/18 04:30), 編輯推噓4(407)
留言11則, 3人參與, 最新討論串1/1
請問一個關於 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)

05/18 08:58, , 1F
Is "b" a output of a function?
05/18 08:58, 1F

05/18 09:40, , 2F
應該直接下b sink就可以抓到報表 不需要用到print
05/18 09:40, 2F

05/18 09:42, , 3F
試了一下原來放在迴圈內一樣都不會顯示=.=
05/18 09:42, 3F

05/18 09:43, , 4F
sorry 原po可以考慮把結果放到物件中 迴圈後再呼叫出來
05/18 09:43, 4F

05/18 09:47, , 5F
又試了一下print放在迴圈內應該會跑值出來才對說...
05/18 09:47, 5F

05/18 10:28, , 6F
我剛試了一下,如果只有一個迴圈,那print就會顯示結果,
05/18 10:28, 6F

05/18 10:28, , 7F
這時候sink就有辦法紀錄,可是如果放在兩層迴圈裡面,就
05/18 10:28, 7F

05/18 10:29, , 8F
沒有辦法印出報表,而sink也沒有辦法紀錄了
05/18 10:29, 8F

05/18 10:30, , 9F
我沒有辦法把結果放在物件,因為每次迴圈跑完這個物件都
05/18 10:30, 9F

05/18 10:30, , 10F
會update,所以最後只能叫出最後一次迴圈所得到的結果/_\
05/18 10:30, 10F
※ 編輯: chien533 來自: 66.57.44.217 (05/18 13:49)

05/18 14:04, , 11F
我用 capture.output 這個函式解決所有問題了!
05/18 14:04, 11F
文章代碼(AID): #18Bq1v-C (Statistics)