0
weights<-chi.squared(Class~.,traindata)
Error: cannot allocate vector of size 167.8 Mb

だから私は使う

weights<-chi.squared(Class~.,traindata[1:1000])

これにより、999個の属性の結果が得られます

weights<-chi.squared(Class~.,traindata[1000:2000])

Error in eval(expr, envir, enclos) : object 'Class' not found

データを分割してすべての属性を取得するにはどうすればよいですか。32 ビット OS を使用しているため、一度に属性を取得することはできません。

4

1 に答える 1

0

以下を使用してデータをサブセット化する場合:

traindata[1000:2000]

Class列は の最初の 1,000 列にある必要があるようですtraindata。したがって、あなたの呼び出しchi.squared()は、その列がないことについて不平を言っています。Class通過するすべてのサブセットに必ず含める必要がありますchi.squared()。例えば:

class_col <- which(names(traindata) == 'Class')
weights <- chi.squared(Class ~ . , traindata[union(class_col, 1000:2000)])

これにより、列のインデックス番号が記録Classされ、サブセットに含まれていることが確認されます。

于 2013-10-02T11:58:03.547 に答える