2017-08-29 12 views
0

この例では、I rbindは2つのdata.framesです。その結果、すべての値に2つの10進数があります。しかし、私は多分異なる10進数の値を持つrbindデータフレーム

one <- data.frame(matrix(c(1,2,3,4), ncol=2)); one 
two <- data.frame(matrix(c(1.63,8.88,9.17,2.31), ncol=2)); two 
rbind(one, two) 
+1

あなたは 'list'に格納する必要があり、それらの小数を取得しますさもなければ型宣伝のために単一のクラス、すなわち 'list(one、two)'があります。 – akrun

答えて

1

をあなたはsprintfを使用することができますが、これは文字にあなたの変数を変換する(というよりも、数値ます与え)、すなわち

d1 <- rbind(one, two) 
d1[] <- lapply(d1, function(i) sprintf('%.6g', i)) 

構造があるしかし
X1 X2 
1 1 3 
2 2 4 
3 1.63 9.17 
4 8.88 2.31 

str(d1) 
'data.frame': 4 obs. of 2 variables: 
$ X1: chr "1" "2" "1.63" "8.88" 
$ X2: chr "3" "4" "9.17" "2.31" 

あなたは数値に変換する場合は、再度すなわち

sapply(d1, as.numeric) 
#  X1 X2 
#[1,] 1.00 3.00 
#[2,] 2.00 4.00 
#[3,] 1.63 9.17 
#[4,] 8.88 2.31 
2

このような何か行1には小数を持たないようにしたいと2:

test<-formatC(as.matrix(two),digits=2,format="f") 
rbind(one,test) 
関連する問題