我一直致力于特征工程,我已经提出以下代码将分类数据集转换为二进制事务数据集,但我无法获得所需的输出,只有三列填充了一个。休息都保持为零。
这是我的代码:
`binarize<-function(dataset,names){
drops<-NA
colnames(dataset)<- paste("{",names,"}:",sep = "")
dataset<-dataset[,!(names(dataset)%in%drops)]
dataset$id = 1:nrow(dataset)
xt<-dataset %>% mutate_each(funs(as.character))%>% gather(key,values,starts_with("{"))
xt$values <- apply( xt[ , c("key","values") ] , 1 , paste , collapse = "" )
xt<-xt %>% mutate(present = 1)%>% spread(values,present,fill = 0)
xt<-xt%>% distinct(id)
rmCols<-c("id","key")
xt<-xt[,-which(names(xt) %in% rmCols)]
return(xt)
}`
有人可以帮我调试吗?参数中的名称是一个字符向量。
谢谢, Prerit