データフレームに新しい列を追加するとき,既存のデータフレームの列をデータフレームとして引用すると,その列自体がデータフレームになり,後々の操作が面倒になる。
> a <- data.frame(x=1:10, y=rnorm(10))
> a$z <- a[1]+a[2]
> class(a)
[1] "data.frame"
> class(a$x)
[1] "integer"
> class(a$y)
[1] "numeric"
> class(a$z) # ここに注意!!
[1] "data.frame"
> dput(a)
structure(list(x = 1:10, y = c(0.187051146554012, 0.227542728568814,
-1.26190046286905, 0.285589580242562, 1.7492473631418, -0.164090004134803,
-0.162926710698454, 1.39857200633747, 0.898396240682948, -1.64849481838129
), z = structure(list(x = c(1.18705114655401, 2.22754272856881,
1.73809953713095, 4.28558958024256, 6.7492473631418, 5.8359099958652,
6.83707328930155, 9.39857200633747, 9.89839624068295, 8.35150518161871
)), .Names = "x", row.names = c(NA, -10L), class = "data.frame")), .Names = c("x",
"y", "z"), row.names = c(NA, -10L), class = "data.frame")
※コメント投稿者のブログIDはブログ作成者のみに通知されます