텍스트로 시작하는 여러 데이터 프레임이 있습니다. 때로는 필요한 정보가 11 행에서 시작하고 16 행에서 시작되는 경우도 있습니다. 그것은 바뀐다. 모든 데이터 프레임은 유용한 정보가 "location"이라는 제목의 행 뒤에 시작된다는 공통점이 있습니다.특정 값까지 R의 모든 행을 삭제하는 방법
"location"이있는 행을 포함하여 유용한 정보 위에 데이터 프레임의 모든 행을 삭제하는 루프를 만들고 싶습니다.
텍스트로 시작하는 여러 데이터 프레임이 있습니다. 때로는 필요한 정보가 11 행에서 시작하고 16 행에서 시작되는 경우도 있습니다. 그것은 바뀐다. 모든 데이터 프레임은 유용한 정보가 "location"이라는 제목의 행 뒤에 시작된다는 공통점이 있습니다.특정 값까지 R의 모든 행을 삭제하는 방법
"location"이있는 행을 포함하여 유용한 정보 위에 데이터 프레임의 모든 행을 삭제하는 루프를 만들고 싶습니다.
난 당신이 뭔가 원하는 같은데요 : 그것은 (데이터 프레임으로 한번 원시 문자열로 번) 두 배의 데이터 파일을 읽기 때문에
readfun <- function(fn,n=-1,target="location",...) {
r <- readLines(fn,n=n)
locline <- grep(target,r)[1]
read.table(fn,skip=locline,...)
}
이 상당히 비효율적이다,하지만해야 파일이 너무 크지 않으면 합리적으로 잘 작동합니다. (@MrFlick은 대상에서 파일이 얼마나 멀리 떨어져 있는지 합리적인 상한선이 있다면 n
을 설정하여 대상을 검색하기 위해 전체 파일을 읽을 필요가 없다고 설명합니다.)
내가 파일의 다른 세부 사항을 알고하지 않습니다하지만 그 문자열, 또는 다른보다 구체적인 목표을 시작하는 라인을 식별 할 수 "^location"
를 사용하는 것이 더 안전 할 수도 ...
비효율적 일 수 있지만 먼저 data.frame으로 읽은 다음 열 클래스 검색을 망칠 수 있으므로 제거하는 것이 훨씬 낫습니다. 특정 행 (예 : 20) 이전에 위치가 항상 발생하는 경우 'readlines (fn, n = 20)'을 설정하여 전체 파일을 읽지 않도록 할 수 있습니다. – MrFlick
에 오신 것을 환영합니다 StackOverflow! [질문하기] (http://stackoverflow.com/help/how-to-ask) 및 [최소 재현 가능 예제] (http://stackoverflow.com/questions/) 생성 방법에 대한 정보를 읽으십시오. 5963269/how-to-make-a-r-reproducible-example/5963610 # 5963610). 적어도 샘플 데이터를 게시하는 것이 좋습니다 (그리고 아마도 출력이 있어야한다고 생각하는 예제를 줄 수 있습니다). 지금까지 시도한 코드도 공유하십시오. 이렇게하면 다른 사람들이 당신을 도울 수있게됩니다. – Jaap