나는 매우 큰 데이터 세트에서 read.table을 사용하여 읽고 있습니다. 데이터를 읽은 후에는 특정 위도/경도 영역에 해당하는 레코드 만 보관하려고합니다. 그래서 기본적으로 $ Lat 및 $ Lon에 상한 및 하한을 정의하고 다른 모든 행을 삭제하려고합니다. 이것은 꽤 쉬운 작업이지만 R 코딩에 익숙하지 않고 가장 우아한 접근 방식을 찾길 원합니다. 여기에 데이터를 읽어 내 코드입니다 : 대신 나는 모든 트랙 포인트를 유지하는 것이 마지막 부분의회의 조건에 따라 R 행 삭제하기
#trackfilenums=1:96 #these are the legs of the track files
trackfilenums=1
for(i in trackfilenums){
print(paste(i, 96, Sys.time(), sep=" : "))
track.data.file <- paste('input/track_param/track_param_',zpad(i,4),'.txt', sep="")
track.data <- read.table(track.data.file ,fill=TRUE,as.is=TRUE,skip=1)
sel <- !is.na(track.data[,9])
track.data <- track.data[sel,]
colnames(track.data) <- c("ID", "Hr", "Lon", "Lat", "UT", "VT", "LandFlag", "ET", "CP", "Penv", "Rmax", "Vmax", "X1", "N", "EOF1", "EOF2", "EOF3", "EOF4", "Angle", "MPI", "Filling.alpha", "Filling.beta", "Filling.gamma")
## keep all points
track.data<-track.data[,c("ID", "Hr", "Lon", "Lat", "UT", "VT", "LandFlag", "ET", "CP", "Penv", "Rmax", "Vmax", "X1")]
}
가, 난 단지 위도
(30) 사이 (35), 및 경도 사이의 128과 140을 유지하고 싶습니다
간단히 집합 행 : 요청으로, 여기에 '집합'형태로 동일한 코드입니다. – Roland
하위 집합 코드의 구문을 설명 할 수 있습니까? 감사! – kimmyjo221
track.data.sub - 하위 집합 (track.data, Lon> = 128 & Lon <=140 & Lat> = 30 및 Lat <= 35) – kimmyjo221