从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文件)。另外,矩阵大小可以从一个文件到另一个文件变化,其行数不一定等于列数。
答
我们可以读取使用readLines
,grep
发现有“混淆矩阵”的行的文件,子集的线,使用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
阅读,我想你解决了它..你有文本文件中的内容完全和你展示的一样吗? – akrun
我可能宁愿使用Perl来解决这个问题。 – RHertel
@akrun,两个问题之间没有区别,在前一个我有模型,并可以解析提取它,在这里我只有txt没有模型(正如在问题主体中提到) – Avi