【发布时间】:2017-02-14 19:14:04
【问题描述】:
我刚刚学习 R,但无法复制分离()函数的使用。
下面有一些我想分隔的数据。我的代码如下所示:
separate(DF, col ="PARAM_2",paste0("x",1:257),sep="|")
这是原始数据的示例:
PARAM_2 TRANSACTION_ID REVENUE
1 16522337|10086236 3812351327 449.97
2 21106549|24390750 3851589288 67.98
3 23475149 3804446998 54.99
4 19397324 3866373678 224.97
5 23317326|23825351 3820764147 109.99
6 20433128|20433140|20433165 4962022906 369.94
7 19506902 3835040778 10.50
8 24095014|25029701|24244086|24244271|16803155 3910007218 142.97
9 24036073 3887666318 22.49
10 19972354|14519726|18168381 3757376277 98.89
我不太清楚为什么,但代码每行放置一个字符,而不是用 | 分隔。分隔器。以下是使用我有缺陷的代码的输出:
x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17
<chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 1 6 5 2 2 3 3 7 | 1 0 0 8 6 2 3
【问题讨论】:
-
sep参数采用正则表达式,所以如果你的意思是字面意思,你需要转义管道:sep = '\\|'。或者只是不指定,它无论如何都会在管道上分离。此外,separate_rows在拆分数不均匀时会更好。 -
感谢 alistaire,在管道前面添加 \\ 成功了!