您可以使用基本R功能reshape()
来执行此操作。有趣的是,你的timevar兼作不同列,这是我以前没有见过,但你可以把它复制列工作:通过胁迫因子为整数
df <- data.frame(customer_code=c(8.92e+12,8.92e+12,8.92e+12,8.92e+13,8.92e+13), category=c('CONDIMENTI PRIMI (PELATI & SUGHI)','accessoro','sugaro','CONDIMENTI PRIMI (PELATI & SUGHI)','sugaro'));
reshape(transform(df,time=category),dir='w',idvar='customer_code');
## customer_code category.CONDIMENTI PRIMI (PELATI & SUGHI) category.accessoro category.sugaro
## 1 8.92e+12 CONDIMENTI PRIMI (PELATI & SUGHI) accessoro sugaro
## 4 8.92e+13 CONDIMENTI PRIMI (PELATI & SUGHI) <NA> sugaro
此外,还可以实现连续的整体后缀:
reshape(transform(df,time=as.integer(category)),dir='w',idvar='customer_code');
## customer_code category.2 category.1 category.3
## 1 8.92e+12 CONDIMENTI PRIMI (PELATI & SUGHI) accessoro sugaro
## 4 8.92e+13 CONDIMENTI PRIMI (PELATI & SUGHI) <NA> sugaro
如果我的类特定客户被重复了两次,它抛出错误重复 –
并得到返回的值是数字,基本上算值我想回到 –
你的意思是你的第二个评论?哪些值得到返回是数字? – MichaelVE