从TXT文件中提取矩阵

问题描述:

我有以下的TXT文件模型摘要(T1.txt):从TXT文件中提取矩阵

=== Summary === 

Correctly Classified Instances   423    88.6792 % 
Incorrectly Classified Instances  54    11.3208 % 
Kappa statistic       0.6766 
Mean absolute error      0.0854 
Root mean squared error     0.2656 
Relative absolute error     38.4098 % 
Root relative squared error    79.9279 % 
Coverage of cases (0.95 level)   91.6143 % 
Mean rel. region size (0.95 level)  36.1985 % 
Total Number of Instances    477  

=== Confusion Matrix === 

    a b c <-- classified as 
357 20 7 | a = 1 
    12 37 11 | b = 2 
    3 1 29 | c = 3 

我想最后一个矩阵提取到数据帧(DF1):

> df1 
     a b c 
    357 20 7 
     12 37 11 
     3 1 29 

我们必须考虑到txt文件背后的模型不再存在(我只有txt文件)。另外,矩阵大小可以从一个文件到另一个文件变化,其行数不一定等于列数。

+0

阅读,我想你解决了它..你有文本文件中的内容完全和你展示的一样吗? – akrun

+0

我可能宁愿使用Perl来解决这个问题。 – RHertel

+0

@akrun,两个问题之间没有区别,在前一个我有模型,并可以解析提取它,在这里我只有txt没有模型(正如在问题主体中提到) – Avi

我们可以读取使用readLinesgrep发现有“混淆矩阵”的行的文件,子集的线,使用gsub去除串,并基于前面的问题与read.table

lines <- readLines('Avi.txt', warn=FALSE) 
i1 <- grep('Confusion Matrix', lines) 
read.table(text=gsub('(<-|\\|).*', '', 
     lines[(i1+2):length(lines)]), header=TRUE) 
# a b c 
#1 357 20 7 
#2 12 37 11 
#3 3 1 29 
+1

我正在建议类似的东西,懒得写出来:) –

+1

@SerbanTanasa感谢您的评论。如果存在多个实例(OP没有),则这将不起作用 – akrun

+1

@Avi如果您有多个实例'i1 akrun