Wyobraź masz plik .txt
o następującej strukturze:Algorytm tekstu filtrowania plików
>>> header
>>> header
>>> header
K L M
200 0.1 1
201 0.8 1
202 0.01 3
...
800 0.4 2
>>> end of file
50 0.1 1
75 0.78 5
...
chciałbym odczytać wszystkie dane z wyjątkiem linii oznaczonych >>>
i linii poniżej linii >>> end of file
. Do tej pory rozwiązałem to, używając read.table(comment.char = ">", skip = x, nrow = y)
(x
i y
są obecnie naprawione). To odczytuje dane między nagłówkiem a >>> end of file
.
Chciałbym jednak, aby moja funkcja była trochę bardziej plastyczna pod względem liczby rzędów. Dane mogą mieć wartości większe niż 800, a w konsekwencji więcej wierszy.
Mogę scan
lub readLines
plik i zobaczyć, który wiersz odpowiada >>> end of file
i obliczyć liczbę linii do odczytania. Jakie podejście zastosowałbyś?
Proszę podać fałszywe dane. =) – aL3xa
@ aL3xa: czy pokazany fragment jest niewystarczający? –