全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
7098 10
2019-07-05
企业微信截图_15623283179682.png 第一列是车牌号 第二列是过车时间  如果车牌号在这个数据框中出现了两次  就把这两行数据筛选出来  应该怎么写啊
二维码

扫码加我 拉你入群

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

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

全部回复
2019-7-6 12:35:43
你的数据我没法费力打一遍,但是我自己编了一个类似的例子,但是道理和你一样,我的数据是:
> 车辆<-c("A","C","H","E","B","C","E","G","F","H")
> 观测数据<-runif(10,min=1,max=2)
> example_car<-data.frame(车辆,观测数据)
A,B,C...等表示车辆,后面生成了1-2之间均匀分布的10个随机数作为你的时间列,这样整合成的数据框example_car就和你的原题类似了,也就是如下:
车辆 观测数据
1     A 1.619539
2     C 1.043553
3     H 1.737147
4     E 1.174920
5     B 1.451731
6     C 1.573667
7     E 1.499189
8     G 1.560143
9     F 1.620255
10    H 1.453784
由于需要看谁进场了两次,需要进行频数统计,使用table函数,即
x<-table(example_car$车辆)
此时的x值如下
A B C E F G H
1 1 2 2 1 1 2
为了保持一致,我们把x转化成数据框,即
x<-as.data.frame(x)
此时的x就是很熟悉的一种形式了:
Var1 Freq
1    A    1
2    B    1
3    C    2
4    E    2
5    F    1
6    G    1
7    H    2
下一步需要在生成的频数数据框x和原数据框examp_car中搭建可以共同的桥梁,共同变量是车辆,我们先把x的第一列名称改为车辆以求统一,即
names(x)[1]<-"车辆"
此时的x形式为
车辆 Freq
1    A    1
2    B    1
3    C    2
4    E    2
5    F    1
6    G    1
7    H    2
现在就可以使用merge函数进行合并了,merge(x,y,by=)中,x,y为两个数据框,by是靠什么整合在一起,因此本例中:
example_car1<-merge(example_car,x,by="车辆")
整合后的example_car1为
车辆 观测数据 Freq
1     A 1.210787    1
2     B 1.919810    1
3     C 1.458615    2
4     C 1.639834    2
5     E 1.747508    2
6     E 1.905324    2
7     F 1.285928    1
8     G 1.539241    1
9     H 1.398195    2
10    H 1.669576    2
最后一步就是很简单的把Freq为2的筛选出来就好了,即
example_car1[example_car1$Freq==2,]
[  ]中“,”之前表示行,后面表示列,列为空表示全部列,行为example_car1$Freq==2表示筛选出Freq=2的行,最终的example_car1就是结果,如下所示
车辆 观测数据 Freq
3     C 1.458615    2
4     C 1.639834    2
5     E 1.747508    2
6     E 1.905324    2
9     H 1.398195    2
10    H 1.669576    2

上述代码亲测有效,不明白可以给我发邮件,mijiyougu@163.com(觅寄忧谷的拼音)
希望能帮到你!
二维码

扫码加我 拉你入群

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

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

2019-7-6 21:32:05
df %>% group_by(车牌) %>% summarise(n=n()) %>% filter(n=2)
二维码

扫码加我 拉你入群

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

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

2019-7-7 12:06:48
duplicated
二维码

扫码加我 拉你入群

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

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

2019-7-7 13:25:15
wangfs111222 发表于 2019-7-7 12:06
duplicated
如果是人家只要两次,不要三次的,duplicated就不太好用了哈
二维码

扫码加我 拉你入群

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

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

2019-7-7 16:11:56
觅寄忧谷 发表于 2019-7-6 12:35
你的数据我没法费力打一遍,但是我自己编了一个类似的例子,但是道理和你一样,我的数据是:
> 车辆 观测数 ...
您好  太感谢了  只是 关于两个数据框的整合那部分 用的函数
不知道为什么 看不到   
您是否可以再说一下那个函数呢
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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