I recommend the kind of explicit way:
f <- function(x) data.frame(lapply(x, substr, 1, 5))
using:
> f(d)
X1 X2 X3
1 1 very very
2 1 dog dog
3 1 cat cat
4 1 dog dog
5 1 5 5
Although you can change the default behavior, I do not recommend:
body(format.data.frame)[[5]] <- quote(for (i in 1L:nc) rval[[i]] <- substr(format(x[[i]], ..., justify = justify), 1, 5))
unlockBinding("format.data.frame", baseenv())
assign("format.data.frame", format.data.frame, pos = baseenv())
lockBinding("format.data.frame", baseenv())
rm(format.data.frame)
using:
> d
X1 X2 X3
1 1 very very
2 1 dog dog
3 1 cat cat
4 1 dog dog
5 1 5 5
source
share