2013-10-29 57 views
0

我很新的R.我有一個看起來像這樣的數據:爲什麼不預測返回R中的任何行或列?

> head(NB) 
     a  s e i 
9011 20-30 F Others 10-50K 
9012 GT 45 M Others 10-50K 

我naiveBayes分類這樣的:

c = i ~ a + s + e 
cl = naiveBayes(c, head(NB,1500), laplace = 0) 

然後我預測它的結果在這樣的新數據

> p <- predict(classifier, tail(NB, 500), type = c("class", "raw"), threshold = 0.001) 

我想看看預測每個數據點在p和了解其與p的實際價值相匹配 - 但我不能找出PA實際上代表。它似乎沒有行和沒有列 - 但它繪製成直方圖,似乎顯示數據的預測。

> nrow(p) 
NULL 
> ncol(p) 
NULL 
> str(p) says 
Factor w/ 3 levels "10-50K","50-80K",..: 1 1 1 1 1 1 1 1 1 1 ... 

這是怎麼回事?我如何知道它預測的結果,例如P數據集中的第三個值?爲什麼沒有任何行或列?

回答

1

p是一個因子的矢量。在R中,矢量沒有多個行或列,只有一個長度。打字length(p)會給你的長度。 p的每個元素都是「10-50K」,「50-80K」或第三個值中的一個。要查看p中的不同值,請鍵入unique(p)。 要獲得p的第三個元素,只需像訪問其他矢量p[3]或查看所有p print(p)一樣訪問它。如果要計算與原始數據相同的數字,請嘗試sum(p == NB$i)。查看更多信息http://www-users.cs.york.ac.uk/~jc/teaching/arin/R_practical/

相關問題