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