全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
6063 4
2017-11-24
是这样的,假设现在有两列一万行的数据,一行是许多不同的车牌号,一行是时间。
而我要做的,是把同一个车牌号出现最早的那一行标注为0,剩下的几个标注为1,请问应该怎么办?
举个栗子:
列a                 列b               
京xxxx        2015-12-12              0
沪xxxx        2014-xx-xx               0
京xxxx        2016-xx-xx               1
京xxxx        2017-xx-xx               1
。。



以此类推
二维码

扫码加我 拉你入群

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

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

全部回复
2017-11-24 15:02:19
有没有那种神奇的写法能够表达“如果前面没有出现过这个东西,那么你就是0,如果出现过,那么你就是1”
二维码

扫码加我 拉你入群

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

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

2017-11-24 15:55:08
于是我现在把车牌号排了个序,然后写了个for循环= => for(i in 2:k){
+ if(mydata[,2][i]==a){
+ mydata[,9][i]=1
+ }else{a=mydata[,2][i]
+ mydata[,9][i]=0
+ }
+ }


初始的a是第一行的车牌号,k是总行数
二维码

扫码加我 拉你入群

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

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

2017-11-24 15:56:18
好了成功了= =此贴终结……当然欢迎大家留言更优化的解法,这个因为只有一万行所以浪得起
二维码

扫码加我 拉你入群

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

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

2017-11-25 09:25:08
将这两列命名为ca,cb
复制代码

然后把1全部变为0,把大于1的全部变成1就达到了你的要求。
例子如下:
复制代码
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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