删除data.table中/之前的字符中的值,并将它们放在不同的列中

时间:2017-06-28 10:11:07

标签: r data.table gsub

我有一个data.table dt

ch

我想清理数据中的seqch列。

1)我想删除ch之前的/和值,并且只想保留/.// p>之后的字符

2)如果没有/现在,那么它应该保持不变(记录5,6,7  不得改变。)

3)如果seq之前/之前出现的字符数为5或6,则将该值放入> dt ch seq 1: 02 573427 2: 17 32456 3: 84 30845 4: 03 657489 5: 01 879605 6: 02 564734 7: 03 657432 8: 03 657431

我的结果必须如此。

To avoid resubmission of data/files upon page refresh, we simply need to redirect our page after submission.


Print '<script>alert("Your video has been successfully uploaded.");</script>';
Print '<script>window.location.assign("dashboard.php");</script>';

如何在R

中的data.table中执行此操作

1 个答案:

答案 0 :(得分:1)

使用:

dt[grepl('/',ch) & nchar(sub('/.*','',ch)) %in% 5:6, seq := sub('/.*','',ch)
   ][, ch := sub('.*/','',ch)][]

给出:

   ch    seq
1: 02 573427
2: 17  32456
3: 84 030845
4: 03 657489
5: 01 879605
6: 02 564734
7: 03 657432
8: 03 657431