【发布时间】:2020-03-08 09:04:00
【问题描述】:
我有一个这样的购物清单数据:
df <- data.frame(id = 1:5, item = c("apple2milk5", "milk1", "juice3apple5", "egg10juice1", "egg8milk2"), stringsAsFactors = F)
# id item
# 1 1 apple2milk5
# 2 2 milk1
# 3 3 juice3apple5
# 4 4 egg10juice1
# 5 5 egg8milk2
我想把变量item分成多列,记录商品后面的数字。我遇到的问题是每个人购买的商品都不一样,所以我无法使用tidyr::separate()或其他类似的功能解决它。我的期望是:
# id apple milk juice egg
# 1 1 2 5 NA NA
# 2 2 NA 1 NA NA
# 3 3 5 NA 3 NA
# 4 4 NA NA 1 10
# 5 5 NA 2 NA 8
注意:市场上的商品类别未知。所以不要假设只有4种商品。
感谢您的帮助!
【问题讨论】: