我有一个小问题,在概念上似乎很容易,但我找不到解决方法......
假设我有一个 data.frame df2,其中有一列列出汽车品牌,另一列列出每个品牌的所有型号,用“,”分隔。我已经获得了 df2 聚合另一个名为 df1 的 data.frame ,主键是模型。
我应该如何继续执行相反的任务(即:从 df2 到 df1)?我的猜测是melt(df2, id=unlist(strsplit('models',',')))
......非常感谢!
这是一个MWE:
df1 <- data.frame(model=c('a1','a2','a3','b1','b2','c1','d1','d2','d3','d4'),
brand=c('a','a','a','b','b','c','d','d','d','d'))
df1
collap <- function(x){
out <- paste(sort(unique(x)), collapse=",")
return (out)
}
df2 <- aggregate(df1$model, by=list(df1$brand), collap)
names(df2) <- c('brand','models')
df2 #how can I do the opposite task (ie: from df2 to df1)?