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);
我得到了下面的一段代码,它一直在打印频率表。我如何阻止它这样做。如何从打印输出中停止一段R代码?
pl = read.csv("c:/pl.csv")
freqs = function(name){ assign(name, table(pl[,name],pl$bad_outcome), envir = .GlobalEnv);}
lapply(names(pl), freqs);
你有三个选择:
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)
关于3),请注意,应该小心使用“attach(object)”。反复使用它可能会导致问题,而不适当使用“分离(对象)” – nullglob 2010-07-24 20:34:18
也许不恰当的位置,但'invisible'功能用于抑制印刷。 – 2010-07-26 10:34:49