我正在清理一些数据,其中有多个列,需要拆分成行与','和'/'。数据表下面解释它的源代码看起来像什么。
df <- data.table(
b = c("a", "d/e/f", "g,h"),
c = c("1", "2,3,4", "5/6")
)
我尝试过使用separate_rows,但它一次只能在这些分隔符中的一个上拆分一列。
编辑:我正在寻找的数据表看起来大致如下:
df_clean <- data.table(
b = c("a", "d", "d", "d",
"e", "e", "e", "f",
"f", "f", "g", "g",
"h", "h"),
c = c("1", "2", "3", "4",
"2", "3", "4",
"2", "3", "4",
"5", "6",
"5", "6")
)
4条答案
按热度按时间amrnrhlw1#
根据补充说明更新了答案。
在每一列上运行一次
separate_rows
以获得所有排列。您可以使用正则表达式模式指定多个分隔符。ogq8wdun2#
也许这会有所帮助:[1][2][3][4][5][6][7][8]
对于第一列:
mpbci0fu3#
带有
cSplit
的选项jqjz2hbq4#
一个
data.table
选项:类似地,在碱基R中:
测试结果