2

因子列 (df など) で構成されるデータ フレームを、read.table が作成するもの (df2 など) と同様に、可能な限り最適な型に自動的に変換する方法に興味があります。1 つの可能性は、データ フレームを文字列に書き込み、read.table で読み戻すことです。他のものはありますか?

> df <- data.frame(a=c(" 1"," 2", " 3"),b=c("a","b","c"),c=c(" 1.0", "NA", " 2.0"),d=c(" 1", "B", "2"))
> str(df)
'data.frame':   3 obs. of  4 variables:
 $ a: Factor w/ 3 levels " 1"," 2"," 3": 1 2 3
 $ b: Factor w/ 3 levels "a","b","c": 1 2 3
 $ c: Factor w/ 3 levels " 1.0"," 2.0",..: 1 3 2
 $ d: Factor w/ 3 levels " 1","2","B": 1 3 2
> df2 <- with(df, data.frame(a=as.integer(a),b=b,c=as.numeric(c),d=as.character(d), stringsAsFactors=FALSE))
> str(df2)
'data.frame':   3 obs. of  4 variables:
 $ a: int  1 2 3
 $ b: Factor w/ 3 levels "a","b","c": 1 2 3
 $ c: num  1 3 2
 $ d: chr  " 1" "B" "2"
4

1 に答える 1