R以这种格式拆分列

布赖恩杜比尔

我需要将此列分为2列

  • 5/5/2020汤姆·特斯拉

理想的结果是

  • Col1 Col2
  • 5/5/2020汤姆·特斯拉

我已经尝试过strAny但需要帮助,因为第1列不是固定的,因为日期字段的长度因月份中的1或2个字符而异。有什么建议怎么做?

阿克伦

我们可以使用separate正则表达式查询法在数字和小写字母之间进行分割

library(tidyr)
separate(df1, 'col1', into = c('date', 'other'), sep="(?<=[0-9])(?=[A-Za-z])")
#     date             other
#1  1/1/2000            yogurt
#2  1/1/2000      toilet paper
#3  2/1/2000              soda
#4 11/1/2000            bagels
#5 12/1/2000            fruits
#6 13/1/2000 laundry detergent

base Rstrsplit

do.call(rbind, strsplit(as.character(df1$col1),
      "(?<=[0-9])(?=[A-Za-z])", perl = TRUE))

数据

df1 <- structure(list(col1 = c("1/1/2000yogurt", "1/1/2000toilet paper", 
"2/1/2000soda", "11/1/2000bagels", "12/1/2000fruits", "13/1/2000laundry detergent"
)), class = "data.frame", row.names = c(NA, -6L))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章