2015-10-18 20 views
1

我有一個公式對象(來自線性迴歸模型),它是這樣的:lpsa ~ x1 + x2 然後我使用該模型來預測一些值,現在我想從數據集中獲取正確的值來計算MSE,在這種情況下,這是與完成:從公式中提取變量名稱,並使用它從列表中獲取列

pred <- predict(model,data) 
values <- data$lpsa 
.... # calculate mse 

現在我不想硬編碼在我的功能LPSA,我試圖使用方法:

columname <- formula(model)[[2]] # x == lpsa 
valrues <- data$columname 

但它返回NULL。 typeof(x)"symbol"但我還沒有找到任何幫助資源。

+1

這將有助於有一個重複的例子。 –

+0

第一次加載程序包ElemStatLearn,然後用'data(「prostate」)導入數據並保存並使用模型,例如, 'lm(lpsa〜,data = data' – oerpli

回答

1

你應該能夠將其轉換爲字符串

data[[toString(formula(model)[[2]])]] 

而且,看terms(model)

+0

謝謝 - 這個'data [[string]]'是缺少的鏈接。 – oerpli