2013-02-13 67 views
-1

我正在處理分類問題,對於我的訓練數據,我有一個數據框X和因子變量Y,而且我想預測我從X變量Y轉換爲R中的公式:預測X(數據框)的Y(因子變量)

party包中的功能cforest具有以下接口

cforest(formula, data = list(), ...) 

其中:

formula: a symbolic description of the model to be fit. Note that symbols like ':' and '-' will not work and the tree will make use of all variables listed on the rhs of 'formula'.

data: a data frame containing the variables in the model.

然而,當我嘗試:

# Build a random set of training vectors X 
X <- data.frame(replicate(5, rnorm(2000))) 

# Build Y from X 
Y <- runif(1)*X[,1]*X[,2]^2+runif(1)*X[,3]/X[,4] 

cforest(Y, data = X, ...) 

我得到一個錯誤:

.. 
10: ParseFormula(formula, data = data) 
... 
5: cforest(Y, data = X, ...) at .. 

從回溯它看起來像我沒有正確使用接口cforest。我已閱讀關於R公式(?formulathis tutorial,這是非常有益的),和我理解的概念抽象,但我不知道如何轉換我的預測問題(我會寫Y ~ X)的公式語法。

我如何轉換使用公式我對cforest電話嗎?

+0

[R公式通常採取的形式'結果「試圖預測Y時所使用的所有變量在數據幀X」〜變量',在那裏你可以把代字號'〜'看作是類似於「由...描述」的意思。 – Marius 2013-02-13 23:32:59

+0

請讓這個問題重現。 'Y'是data.frame'X'中的一列嗎?你看過「公式」是什麼公式? – mnel 2013-02-13 23:33:45

+0

@mnel。我更新了OP。 – 2013-02-13 23:41:31

回答

1

的答案是使用下面的語法:

cf.model = cforest(Y ~ ., data=X, ...) 

基本上說