【发布时间】:2018-03-10 07:41:37
【问题描述】:
有 3 个数据集:df2017 ,df2016 , df2018 .
# 2017 Dataset name :df2017
PoNo. Price R.No I.No RI.No Date
1 107 300 100;244 464;355 100-464;244-355 2017-02-23;2017-09-03
2 109 100 334 161 334-161 2017-09-23
3 124 504 124 115 124-115 2017-11-03
4 207 233 484;450;605 215;444;415 484-215;450-444;605-415 2016-02-03;2016-05-23;2017-04-10
5 223 4667 484;450;605 225;544;615 484-225;450-544;605-615 2017-02-03;2017-05-23;2018-04-03
6 340 1201 448;555;989 212;223;499 448-212;555-223;989-499 2017-01-13;2017-05-24;2017-12-03
7 345-1 2344 471;566 568;394 471-568;566-394 2017-04-03;2017-05-02
8 345-2 0 "" "" "" ""
所需形状:分割线并分配给属于的数据集。
按列的“;”分割贵重物品:$R.No,$I.No,$RI.No,$Date 并复制其他列。
-
计算col:$Price,除以Date在一个单元格中显示的次数。比如 --: 价格 / 1+(n(;))。
# 2017 Dateset --after split PoNo. Price R.No I.No RI.No Date 1 107 150 100 464 100-464 2017-02-23 1 109 150 244 355 244-355 2017-09-03 2 107 100 334 161 334-161 2017-09-23 3 124 504 124 115 124-115 2017-11-03 4 207 77.66667 484 215 484-215 2016-02-03 4 207 77.66667 450 444 450-444 2016-05-23 4 207 77.66667 605 415 605-415 2017-04-10 -
如果 Date 中的贵重物品显示不同的年份,则将整行移至 同一年的数据集。
# 2016 dataset name :df2016 PoNo. Price R.No I.No RI.No Date 1 147 1133 120 414 120-414 2016-01-03 2 229 1512 354 395 354-395 2016-07-05 3 117 130 384 261 384-261 2016-10-13 4 207 77.66667 484 215 484-215 2016-02-03 4 207 77.66667 450 444 450-444 2016-05-23 2018年的数据集也有同样的操作(当然包括2016年)。
- 每个实际数据集包含超过 100 万行和 100 列,多少次 ";"出现在贵重物品中的情况不明。 我怎样才能通过有效的操作来实现它?(因为它们太大了)
【问题讨论】:
-
而且数据集还包含很多“”和NA值。
标签: r split duplicates