Как я могу прочитать информацию из текстовых файлов?

У меня есть сотни текстовых файлов со следующей информацией в каждом файле:

*****Auto-Corelation Results******
1     .09    -.19     .18     non-Significant

*****STATISTICS FOR MANN-KENDELL TEST******
S=  609
VAR(S)=      162409.70
Z=           1.51
Random : No trend at 95%

*****SENs STATISTICS ******
SEN SLOPE =  .24

Теперь я хочу прочитать все эти файлы и «собрать»Статистика Sen из каждого файла (например,.24) и скомпилировать в один файл вместе с соответствующими именами файлов. Я должен сделать это в R.

Я работал с файлами CSV, но не уверен, как использовать текстовые файлы.

Это код, который я использую сейчас:

require(gtools)
GG <- grep("*.txt", list.files(), value = TRUE)
GG<-mixedsort(GG)
S <- sapply(seq(GG), function(i){
X <- readLines(GG[i])
grep("SEN SLOPE", X, value = TRUE)
})
spl <- unlist(strsplit(S, ".*[^.0-9]"))
SenStat <- as.numeric(spl[nzchar(spl)])
SenStat<-data.frame( SenStat,file = GG)
write.table(SenStat, "sen.csv",sep = ", ",row.names = FALSE)

Текущий код не может правильно прочитать все значения и выдает эту ошибку:

Warning message:
NAs introduced by coercion 

Также я не получаю имена файлов другого столбца вывода. Пожалуйста помоги!

Диагноз 1

Код также читает знак =. Это вывод print (spl)

 [1] ""       "5.55"   ""       "-.18"   ""       "3.08"   ""       "3.05"   ""       "1.19"   ""       "-.32"  
[13] ""       ".22"    ""       "-.22"   ""       ".65"    ""       "1.64"   ""       "2.68"   ""       ".10"   
[25] ""       ".42"    ""       "-.44"   ""       ".49"    ""       "1.44"   ""       "=-1.07" ""       ".38"   
[37] ""       ".14"    ""       "=-2.33" ""       "4.76"   ""       ".45"    ""       ".02"    ""       "-.11"  
[49] ""       "=-2.64" ""       "-.63"   ""       "=-3.44" ""       "2.77"   ""       "2.35"   ""       "6.29"  
[61] ""       "1.20"   ""       "=-1.80" ""       "-.63"   ""       "5.83"   ""       "6.33"   ""       "5.42"  
[73] ""       ".72"    ""       "-.57"   ""       "3.52"   ""       "=-2.44" ""       "3.92"   ""       "1.99"  
[85] ""       ".77"    ""       "3.01"
Диагноз 2

Нашел проблему я думаю. Отрицательный знак немного сложнее. В некоторых файлах это

SEN SLOPE =-1.07
SEN SLOPE = -.11

Из-за пробела после = я получаю NA для первого, но код читает второй. Как я могу изменить регулярное выражение, чтобы это исправить? Спасибо!

Ответы на вопрос(4)

Ваш ответ на вопрос