У вас есть три варианта:
1) Назначьте вывод, так как то, что вы видите как «печать», на самом деле просто возврат.
x <- lapply(names(pl), freqs)
2) Используйте l_plyфункция в plyr.
library(plyr)
l_ply(names(pl), freqs)
3) Не выполняйте задание внутри лапы, а делайте это потом с помощью attach
:
x <- lapply(names(pl), function(name) table(pl[,name],pl$bad_outcome))
attach(x)