全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
4852 9
2018-01-18
列举出了数据框的前20行数据,希望是把point=1的行和该行前后各两行的数据抓取出来并建立新的数据框
各位大神帮忙看一看
      time  value point
1       0.00 1.0738     0
2       0.01 1.0738     0
3       0.02 1.0661     0
4       0.03 1.0712     0
5       0.04 1.0687     0
6       0.05 1.0738     0
7       0.06 1.0763     0
8       0.07 1.0738    1
9       0.08 1.0738     0
10      0.09 1.0789     0
11      0.10 1.0661     0
12      0.11 1.0712     0
13      0.12 1.0712     0
14      0.13 1.0738     1
15      0.14 1.0687     0
16      0.15 1.0814     0
17      0.16 1.0814     0
18      0.17 1.0738     0
19      0.18 1.0738     0
20      0.19 1.0712     0

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-1-18 23:09:11
有哪位高手帮忙解答一下不
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-1-19 01:59:06
df<-read.csv('data.csv',sep=',',header=T)    #读取数据
n1<-which(df$point==1)    #获取point为1的行号
n2<-c(n1-2,n1-1,n1,n1+1,n1+2)    #组合前后两行的行号
n2<-sort(n2)    #按行号大小重新排序
df1<-df[n2,]    #提取新的数据集

如果有point为1的行位于原数据集的前两行和后两行,则会出现行号溢出,这种情况可以手工处理一下。
如果两个point为1的行距离小于4行,会出现重复数据,可以再进行一步去重操作。

> df1
   time  value point
6  0.05 1.0738     0
7  0.06 1.0763     0
8  0.07 1.0738     1
9  0.08 1.0738     0
10 0.09 1.0789     0
12 0.11 1.0712     0
13 0.12 1.0712     0
14 0.13 1.0738     1
15 0.14 1.0687     0
16 0.15 1.0814     0



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-1-19 11:24:56
swufeyumeng 发表于 2018-1-19 01:59
df
学习学习
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-1-21 15:55:43
swufeyumeng 发表于 2018-1-19 01:59
df
感谢解答!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-4-8 17:33:09
swufeyumeng 发表于 2018-1-19 01:59
df
您好,麻烦再请教一下,如果是需要前后各500行数据的话,程序应该如何调整(数据量比较大,其中1的数量非常少,可以忽略溢出的情况)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群