从R中的公式$ frame中提取公式

时间:2015-10-21 10:33:05

标签: r

我已将公式$ frame写入CSV文件。现在我需要读取CSV文件的公式。例如:

library(rpart)

mydata <- rpart(Species~Sepal.Length+Sepal.Width+Petal.Length+Petal.Width,
                data=iris, method="class")  
write.csv(mydata$frame,"H://IrisCsv.csv")  
framedata <- read.csv("H:/IrisCsv.csv")

IrisCsv.csv文件内容如下:

var "n" "wt" "dev" "yval" "complexity" "ncompete" "nsurrogate" "yval2." "yval2." "yval2." "yval2." "yval2." "yval2." "yval2." "yval2.nodeprob"  
1 "Petal.Length" 150 150 100 1 0.50 3 3  1.00000000 50.00000000 50.00000000 50.00000000  0.33333333  0.33333333  0.33333333  1.00000000
2 "<leaf>"  50  50   0 1 0.01 0 0  1.00000000 50.00000000  0.00000000  0.00000000  1.00000000  0.00000000  0.00000000  0.33333333
3 "Petal.Width" 100 100  50 2 0.44 3 3  2.00000000  0.00000000 50.00000000 50.00000000  0.00000000  0.50000000  0.50000000  0.66666667
6 "<leaf>"  54  54   5 2 0.00 0 0  2.00000000  0.00000000 49.00000000  5.00000000  0.00000000  0.90740741  0.09259259  0.36000000
7 "<leaf>"  46  46   1 3 0.01 0 0  3.00000000  0.00000000  1.00000000 45.00000000  0.00000000  0.02173913  0.97826087  0.30666667

如何从framedata获取mydata?
    例如:

n= 150 

node), split, n, loss, yval, (yprob)
      * denotes terminal node  

1) root 150 100 setosa (0.33333333 0.33333333 0.33333333)   
  2) Petal.Length< 2.45 50   0 setosa (1.00000000 0.00000000 0.00000000) *  
  3) Petal.Length>=2.45 100  50 versicolor (0.00000000 0.50000000 0.50000000)    
    6) Petal.Width< 1.75 54   5 versicolor (0.00000000 0.90740741 0.09259259) *  
    7) Petal.Width>=1.75 46   1 virginica (0.00000000 0.02173913 0.97826087) *  

0 个答案:

没有答案