barcasuoai 发表于 2018-4-9 12:31 
感谢这么详细的解答:
我按照n3
我试了一下,确实会出现这个问题,问题出在n2<-c((n1-500):(n1+500))这个语句。你筛选出来14个符合point=1的行号,这个语句是不能自动组合它们前后500行的行号的。改成这样就好了:
df<-read.csv('data.csv',sep=',',header=T) #读取数据
n1<-which(df$point==1) #获取point为1的行号
n2<-c()
for (i in n1) {
n2<-c(n2,(i-500):(i+500))
}
n2<-sort(n2) #按行号大小重新排序
df1<-df[n2,] #提取新的数据集