在R中如何按:和-符号将INTERVAL列拆分为多个列?
你可以直接利用separate()函数sep参数支持正则表达式的特性,同时匹配两种分隔符,无需提前做字符替换操作,代码如下:
library(tidyr) df <- separate(data = df, col = INTERVAL, into = c("a", "b", "c"), sep = "[:-]")
这里sep = "[:-]"的含义是匹配:或者-任意一个字符作为拆分点,和你提前替换分隔符的效果完全一致,代码更简洁。
如果需要拆分出来的起始、结束位置列直接转为数值类型,可以额外添加convert = TRUE参数:
df <- separate(data = df, col = INTERVAL, into = c("a", "b", "c"), sep = "[:-]", convert = TRUE)
内容的提问来源于stack exchange,提问作者user3224522
相关产品推荐
相关产品推荐

