假设我有一个这样的框架(简化的,类似于我的问题的版本):
ID <- c(1,2,3)
value <- c("1+4-3", "2+7-6+4-3", "-1+3")
df <- data.frame(ID, value)
ID value
1 1+4-3
2 2+7-6+4-3
3 -1+3
字符串
我需要通过多个分隔符(+
和-
)将value
列拆分为多个列,同时在单独的列中保留分隔符。
生成的框架应该是这样的:
ID x1 x2 x3 x4 x5 x6 x7 x8 x9
1 1 + 4 - 3 <NA> <NA> <NA> <NA>
2 2 + 7 - 6 + 4 - 3
3 - 1 + 3 <NA> <NA> <NA> <NA> <NA>
型
此外,我不知道需要多少个结果列(可能不是示例中的9,而是50)。
实现这一目标的最佳途径是什么?
谢谢
5条答案
按热度按时间fiei3ece1#
您可以从
tidyr
使用separate_wider_delim()
:字符串
vuktfyat2#
如果你有只包含
digits
的数字,你可以尝试字符串
这给
型
szqfcxe23#
我的方法:
字符串
给
型
如果你删除
unnest_wider
的管道,你会得到这个,IMO在某些方面可能更整洁:型
92vpleto4#
您可以:
字符串
798qvoo85#
[编辑为处理多于一位的数字]
使用R-base:
字符串
编辑