2010-07-24 77 views
1

我得到了下面的一段代码,它一直在打印频率表。我如何阻止它这样做。如何从打印输出中停止一段R代码?

pl = read.csv("c:/pl.csv") 
freqs = function(name){ assign(name, table(pl[,name],pl$bad_outcome), envir = .GlobalEnv);} 
lapply(names(pl), freqs); 
+0

也许不恰当的位置,但'invisible'功能用于抑制印刷。 – 2010-07-26 10:34:49

回答

2

你有三个选择:

1)分配输出,因为你看到的是“打印”的实际上仅是一个回报。

x <- lapply(names(pl), freqs) 

2)在plyr中使用l_ply函数。

library(plyr) 
l_ply(names(pl), freqs) 

3)不要做lapply内部分配,但attach做到算账:

x <- lapply(names(pl), function(name) table(pl[,name],pl$bad_outcome)) 
attach(x) 
+0

关于3),请注意,应该小心使用“attach(object)”。反复使用它可能会导致问题,而不适当使用“分离(对象)” – nullglob 2010-07-24 20:34:18