data.frame(データフレーム)にlapplyする

lapplyをデータフレームに適用すると

> df <- data.frame(a=1:5, b=letters[1:5])
> df
  a b
1 1 a
2 2 b
3 3 c
4 4 d
5 5 e
> lapply(df, function(x){x})
$a
[1] 1 2 3 4 5

$b
[1] a b c d e
Levels: a b c d e

と、列ごとに処理が走る。それを(元のdata.frameで)受け取るには[]を使うのかー。空のdata.frameや新しい変数だとこうはいかない。

> df[] <- lapply(df, function(x){x})
> df
  a b
1 1 a
2 2 b
3 3 c
4 4 d
5 5 e