IDの列を作る
仮想データフレームを作成。
d <- data.frame(V1=c(23, 45, 56), V2=c(45, 45, 67))
結果。
V1 V2 1 23 45 2 45 45 3 56 67
ID列の挿入。
d$ID <- 1:nrow(d)
結果。
V1 V2 ID 1 23 45 1 2 45 45 2 3 56 67 3
こちらで紹介されていたやり方。パッケージも不要で賢い方法だと思う。
SPSSからの読み込みデータにIDを振る
気の利いていないデータの場合ID列を作っていない場合が多々ある。今、このエントリを書いている理由もこれである。
作っておけよ!と思うがないものは仕方ない。
SPSS形式のデータをRで読み込むにはforeign
とhaven
の2つの方法がある。
library(foreign) d <- read.spss("xxx.sav", to.data.frame=TRUE) d$ID <- 1:nrow(d)
これはどうも失敗する。
library(haven) d <- read_sav("xxx.sav") d$ID <- 1:nrow(d)
こちらは成功する。havenパッケージを使うのが吉のようだ。その他のことを考えてもhavenパッケージの方がだいたい優れている。
本筋とは関係ないが、エンコードには気を付けること。Shift-JISで作成されているファイルにはencoding ="cp932"
を忘れないように。