未告知时在空白处单独拆分
Separate splitting on whitespace when not told to
我的数据中有一个由 |#| 分隔的变量,该数据是字母数字的混合并且始终包含白色 space。
在 TidyR 中使用分隔符,我将我的 sep 指定为“|#|”,但是当进程运行时,它将变量拆分为白色 space 以及指定的分隔符。
如何强制此命令忽略白色 space 并仅根据我指定的内容进行拆分?
我的代码如下:
library(tidyr)
Tasks2 <- Tasks2 %>%
mutate(Task_Filter = paste(Task_Type_ID)) %>%
separate('Task_Filter', paste("Task_Filter", 1:4, sep= "|#|"), extra = "drop")
一个值被拆分的例子是
4 |#| NB quote referred |#| 0000 0000 |#| 20/01/2021 |#| Connect
System
我选择了|#|因为那是源数据中存在的内容,所以所有条目都具有相同的格式。我希望这个例子中的 4 个新变量是 4,
注意引用引用,
0000 0000,
2021 年 1 月
但我得到的是:
4个
注意事项
引用
转介
您可以 separate
不仅将竖线而且将空格也纳入模式:
library(tidyr)
separate(df, col = "x", into = paste("Task_Filter", 1:5), sep = "\s\|#\|\s")
Task_Filter 1 Task_Filter 2 Task_Filter 3 Task_Filter 4 Task_Filter 5
1 4 NB quote referred 0000 0000 20/01/2021 Connect System
数据:
df <- data.frame(
x = "4 |#| NB quote referred |#| 0000 0000 |#| 20/01/2021 |#| Connect System")
这是另一种解决方案。我不确定这是否需要。请告诉我。
如果不知道要分隔的列数 cSplit
非常方便。
library(splitstackshape)
df1 <- df %>%
cSplit('x', '|#|') %>%
select(everything()[c(TRUE, FALSE)])
输出:
x_1 x_3 x_5 x_7 x_9
1: 4 NB quote referred 0000 0000 20/01/2021 Connect System
我的数据中有一个由 |#| 分隔的变量,该数据是字母数字的混合并且始终包含白色 space。
在 TidyR 中使用分隔符,我将我的 sep 指定为“|#|”,但是当进程运行时,它将变量拆分为白色 space 以及指定的分隔符。
如何强制此命令忽略白色 space 并仅根据我指定的内容进行拆分?
我的代码如下:
library(tidyr)
Tasks2 <- Tasks2 %>%
mutate(Task_Filter = paste(Task_Type_ID)) %>%
separate('Task_Filter', paste("Task_Filter", 1:4, sep= "|#|"), extra = "drop")
一个值被拆分的例子是
4 |#| NB quote referred |#| 0000 0000 |#| 20/01/2021 |#| Connect System
我选择了|#|因为那是源数据中存在的内容,所以所有条目都具有相同的格式。我希望这个例子中的 4 个新变量是 4, 注意引用引用, 0000 0000, 2021 年 1 月
但我得到的是: 4个 注意事项 引用 转介
您可以 separate
不仅将竖线而且将空格也纳入模式:
library(tidyr)
separate(df, col = "x", into = paste("Task_Filter", 1:5), sep = "\s\|#\|\s")
Task_Filter 1 Task_Filter 2 Task_Filter 3 Task_Filter 4 Task_Filter 5
1 4 NB quote referred 0000 0000 20/01/2021 Connect System
数据:
df <- data.frame(
x = "4 |#| NB quote referred |#| 0000 0000 |#| 20/01/2021 |#| Connect System")
这是另一种解决方案。我不确定这是否需要。请告诉我。
如果不知道要分隔的列数 cSplit
非常方便。
library(splitstackshape)
df1 <- df %>%
cSplit('x', '|#|') %>%
select(everything()[c(TRUE, FALSE)])
输出:
x_1 x_3 x_5 x_7 x_9
1: 4 NB quote referred 0000 0000 20/01/2021 Connect System