2017-10-05 134 views
0

我想將從逐步迴歸過程中選擇的變量作爲列名稱導入,以便讓「輸出」具有來自逐步迴歸的變量,如下所示。但是,我的代碼不能這樣做。從R中的逐步迴歸導入列名稱

我無法理解我在這裏做錯了什麼。有人可以幫我嗎?

iris$area <- iris$Petal.Length * iris$Petal.Width 
iris <- data.table(iris) 
mydata <- iris[Species %in% "virginica", list(Sepal.Length,Sepal.Width,Petal.Length,Petal.Width,area)] 

fit <- lm(area~., data=mydata) 
satis.step <- step(fit, direction="both") 
datanew <- iris[Species %in% "virginica", list(Species, paste(attr(satis.step$formula, "term.labels"),collapse = ", ")) ] 

輸出

我需要的輸出看起來像:

Species  Sepal.Length  Sepal.Width 
------------------------------------------ 
virginicia   6.3   3.3 
virginicia   5.8   2.7 
+0

我不知道我理解你想要的結果:你錯過了什麼嗎? – lebelinoz

回答

0

我得到了這一點。

selvars=c("Species", attr(satis.step$terms, "term.labels")) 
datanew <- iris[Species %in% "virginica", ..selvars ] 

> datanew 
     Species Sepal.Length Petal.Length Petal.Width 
1: virginica   6.3   6.0   2.5 
2: virginica   5.8   5.1   1.9 
3: virginica   7.1   5.9   2.1 
+0

感謝您的回覆。真?我沒有在列中得到具有值的「datanew」表。我只有列名。 – user3408139

+0

嗯,你確定你複製/粘貼兩行嗎?這裏有效! – Robert

+0

是的,它正在工作。謝謝一堆。 – user3408139