0

cbindはデータフレームに列「クラス」を作成し、新しいを取得しました、、、tdm1それtdm1<- cbind(tdm1, class)はすべて良いです

クラスの内容はこんな感じ

1     715
2     715    
3     707    
4     705    
5     704    
6     701    
7     701    
...

その後cbind、 を使用してクラス列を確認したいのですがtdm1[,ncol(tdm1)]、どういうわけか35 Levels: 156 174 205 250 295 324 335 340 343 345 348 349 361 370 375 381 382 428 439 451 455 701 704 705 706 ... 72、列全体の正しい値を取得しました。列値の要約のようなものです。どこから来たのかわからない。この追加情報により、後の knn 分類が奇妙になります。どうすればそれを取り除くことができますか?

4

1 に答える 1

0

あなたのオブジェクトは要因です。呼び出すと、次の?factorことがわかります。

factor returns an object of class "factor" which has a set of integer
codes the length of x with a "levels" attribute of mode character and  
unique (!anyDuplicated(.))

印刷されているlevels属性は、印刷しているオブジェクトに含まれるすべての一意の値を反映しています。それを取り除くには、次のことを試してください。

as.numeric(as.characer(tdm1[,ncol(tdm1)]))
于 2015-04-19T06:33:15.213 に答える