1

整数、文字、文字列の列が混在するビッグデータフレームがあります。data.frameを数値列で並べ替える必要があります。

元の列をdata.frameに結合すると、並べ替えに必要な列を含め、すべての列が因数分解に変更されます。したがって、ソートは1, 10, 100...代わりに次のようなものを提供します1, 2, 3...

これが私の問題の例です。

a <- 1:10
b <- c(1,3,5,6,2,10,100,110,7,4)
c <- LETTERS[1:10]
d <- as.data.frame(cbind(a, b, c))  # I am using this construction
e <- d[with(d, order(b)), ]

どうすればこれを修正できますか?

4

1 に答える 1

1

実際には、次のことを行う必要があります。

d <- data.frame(a, b, c, stringsAsFactors=FALSE)

最後の部分は、列が因子に変換されるのをstringsAsFactors=FALSE防ぎます。d$cそれを含めると、文字列は文字列のままになります。

忘れないでくださいstringsAsFactors=FALSE-それはあなたを信じられないほどの悲惨さから救います、私を信じてください!

于 2012-06-07T03:03:01.287 に答える