g********r 发帖数: 8017 | 1 用别人的包,都是C写的.一个子程序自动打印到屏幕很多信息,又不好改.做起
simulation来满屏的乱字.有什么general的办
法屏蔽一个子程序的输出么? |
D******n 发帖数: 2836 | 2 eval?
【在 g********r 的大作中提到】 : 用别人的包,都是C写的.一个子程序自动打印到屏幕很多信息,又不好改.做起 : simulation来满屏的乱字.有什么general的办 : 法屏蔽一个子程序的输出么?
|
b*******x 发帖数: 100 | 3 。。什么类型的输出?你是只想要return的value吗?
如果是warning和error信息,可以用 try(exprs,T) 来抑制
如果不是,是程序内的打印输出,他们一般又自己的参数比如trace=F,verbose=F,来抑
制这种输出
如果没有相关参数,试一试sink(),把信息结果送进一个临时文件。
偶知道的就这些了。。。 |
b*******x 发帖数: 100 | 4 假设你没有参数能控制,这里有个函数模仿一下,打印一个结果,但是你只想要return
的那个value
> myfun <- function(x){print(x); return(x+1)}
直接运行,又output 1的输出,你不想要他
> z <- myfun(1)
[1] 1
就创造个临时文件,把输出都扔进去
> tf <- tempfile()
> sink(tf)
> z <- myfun(1)#没有显示那个1
> sink()
> unlink(tf)
> z #但是你有那个返回值
[1] 2 |
z**k 发帖数: 378 | 5 f <- function() print("hello cat!")
f()
sink("stdout")
f()
sink()
f()
【在 g********r 的大作中提到】 : 用别人的包,都是C写的.一个子程序自动打印到屏幕很多信息,又不好改.做起 : simulation来满屏的乱字.有什么general的办 : 法屏蔽一个子程序的输出么?
|
g********r 发帖数: 8017 | |
g********r 发帖数: 8017 | 7 TNND. 这个程序不知道是什么底层输出. sink()光把标准输出给除掉了.那些乱七八糟
的灰字一个也没少:( 别人的C程序搞起来太难了.忍着了. |
D******n 发帖数: 2836 | 8 try this argument
sink(.........,type = c("output", "message"))
【在 g********r 的大作中提到】 : TNND. 这个程序不知道是什么底层输出. sink()光把标准输出给除掉了.那些乱七八糟 : 的灰字一个也没少:( 别人的C程序搞起来太难了.忍着了.
|
g********r 发帖数: 8017 | 9 多谢.还是不灵.
【在 D******n 的大作中提到】 : try this argument : sink(.........,type = c("output", "message"))
|
D******n 发帖数: 2836 | 10 其实你就让它输出乱码呗。
到时候parse一下输出文件就可以。
【在 g********r 的大作中提到】 : 多谢.还是不灵.
|
g********r 发帖数: 8017 | 11 嗯也还好.不是乱码,是很多不需要的信息.现在我把需要的sink()出来,连parse也不用:)
就是刷屏厉害,影响速度.mac里面输出是实时的,几毫秒的运算还要等小半秒的显示.
【在 D******n 的大作中提到】 : 其实你就让它输出乱码呗。 : 到时候parse一下输出文件就可以。
|
D******n 发帖数: 2836 | 12 。。。。我的意思是用batch mode,眼不见为净
R CMD BATCH xxx.R
用:)
【在 g********r 的大作中提到】 : 嗯也还好.不是乱码,是很多不需要的信息.现在我把需要的sink()出来,连parse也不用:) : 就是刷屏厉害,影响速度.mac里面输出是实时的,几毫秒的运算还要等小半秒的显示.
|
g********r 发帖数: 8017 | 13 明白了。谢谢。
【在 D******n 的大作中提到】 : 。。。。我的意思是用batch mode,眼不见为净 : R CMD BATCH xxx.R : : 用:)
|
s*r 发帖数: 2757 | 14 it has output buffer. it may hold the output for a while and output to
screen in batches
用:)
【在 g********r 的大作中提到】 : 嗯也还好.不是乱码,是很多不需要的信息.现在我把需要的sink()出来,连parse也不用:) : 就是刷屏厉害,影响速度.mac里面输出是实时的,几毫秒的运算还要等小半秒的显示.
|