0

これは非常に単純に聞こえる問題ですが、問題の解決策が見つかりません。データを別の方法で整理するために、以前の data.frame からテーブルを作成しました (以下を参照)。

以下の dataframe1 のセクション

 Score   Pred
 0.966   Noise
 0.95    Noise
 0.964   Noise
 0.924   Call
 0.838   Noise
 0.982   Call
 0.934   Noise

次を使用して、データをテーブルに整理します。

dataframe1_sorted <- with(dataframe1, table(Score, Pred))

これにより、次のテーブルが作成されます。各スコア カテゴリに含まれる「Call」の数と「Noise」の数をカウントしたいと考えています。

Score    Pred Call Noise
0           0  402     0
0.002       0  207     0
0.004       0  120     0
0.006       0   83     0
0.008       0   59     0
0.01        0   48     0

ここで、 df<-data.frame(dataframe1)を使用してこのテーブルを保存しようとすると、列が変更され、見出し"Score, Pred, Freq" が表示されます。テーブルをそのままデータフレームに保存したい。

私に何ができる?

4

3 に答える 3

2

テーブルのクラスを解除してみてください。

df<-data.frame(unclass(dataframe1))

それがあなたが探しているものだと思います。

于 2013-09-24T15:11:39.140 に答える
1

私は以前に同じ問題を抱えていて、これをしました:

tab <- with(dat, table(Score, Pred))
class(tab) <- 'matrix'
data.frame(tab)    

編集:'array'代わりに使用すること'matrix'も機能し、高次元のテーブルに拡張する必要があります。

于 2013-09-24T15:12:26.533 に答える
1

ベース R 以外の代替手段の 1 つdcastは、reshape2パッケージから使用することです。この出力は data.frame であるため、再保存する必要はありません。これについて私が気に入っていることの 1 つは、各列の名前を取得できることです。

require(reshape2)
(df = dcast(dataframe1, Score ~ Pred, fun.aggregate = length) )
于 2013-09-24T15:20:15.527 に答える