2017-10-14 14 views
1

私は1つのデータフレームを持っているように:私は、値列が浮動小数点数として保存されませdcast機能とそれを変換しなぜ浮動小数点数を丸めるのですか?

> head(df) 
    nome Class_Name area_class  date 
1 Arataca agropecuaria 25.7751 1973-07-26 
2 Arataca   agua  0.2918 1973-07-26 
3 Arataca  bosque  0.0207 1973-07-26 
4 Arataca  bosque  3.9335 1973-07-26 
5 Arataca   mata 69.9513 1973-07-26 
6 Arataca solo exposto  0.0276 1973-07-26 

dcast(df, nome+date~Class_Name, value.var = "area_class") 
      nome  date agropecuaria agua bosque mata solo exposto 
1    Arataca 1973-07-26   1 1  2 1   1 
2   Buerarema 1973-07-26   1 0  2 1   1 
3    Camacan 1973-07-26   1 0  1 1   0 
4    Camamu 1973-07-26   1 1  2 1   1 
5   Igrapiúna 1973-07-26   1 1  2 1   1 
6    Ilhéus 1973-07-26   1 1  2 1   1 
7    Itabuna 1973-07-26   1 0  2 1   1 
8    Itacaré 1973-07-26   1 1  2 1   1 
9    Ituberá 1973-07-26   1 1  2 1   1 
10    Maraú 1973-07-26   1 1  2 1   1 
11  Nilo Peçanha 1973-07-26   1 0  2 1   0 
12 São José da Vitória 1973-07-26   1 1  2 1   0 
13     Una 1973-07-26   1 1  2 1   1 
14    Uruçuca 1973-07-26   1 1  2 1   1 

なぜ数値クラスには保管しないで「area_class」私はそれを変換したときに浮動小数点数として?

+0

をいずれか、これを防止するためのシーケンス列を作成したり、value.varを集約するためにuがあるため、重複の 'length'を取得していますか? – akrun

+0

重複があります。私は集計関数で解決しました。 Thks – dogosousa

+0

'dcast(df、nome + date〜Class_Name、value.var =" area_class "、平均)を使用できます。 – akrun

答えて

3

OPの投稿の出力は、 fun.aggregateにデフォルトのオプションとしてlengthを実行させる重複行が原因である可能性があります。 INORDERは、(要件によって異なります)

dcast(df, nome+date~Class_Name, value.var = "area_class", fun.aggregate = mean) 
関連する問題