文字列型の列を持つデータフレームを作成しようとする場合、その列がFactor型として扱われる。 特にCSVファイルをheaderオプション指定しないで読み込むときにこれに出会ってイライラする。 > x <- data.frame(a=c("a","a","b","c"),b=1:4) > str(x) 'data.frame': 4 obs. of 2 variables: $ a: Factor w/ 3 levels "a","b","c": 1 1 2 3 $ b: int 1 2 3 4 これを文字型に直すにはtransform関数を使用する。 >y <- transform(x,a=levels(a)[a]) a b 1 a 1 2 a 2 3 b 3 4 c 4 > str(y) 'data.frame': 4 obs. of 2 variables: $ a: chr "a"