У меня есть несколько наборов данных с 75 000 наблюдений и переменная type
, которая может принимать значение 0-4. Я хочу добавить пять новых фиктивных переменных в каждый набор данных для всех типов. Лучший способ, который я мог бы сделать, - сделать следующее:
# For the 'binom' data set create dummy variables for all types in all data sets
binom.dummy.list<-list()
for(i in 0:4){
binom.dummy.list[[i+1]]<-sapply(binom$type,function(t) ifelse(t==i,1,0))
}
# Add and merge data
binom.dummy.df<-as.data.frame(do.call("cbind",binom.dummy.list))
binom.dummy.df<-transform(binom.dummy.df,id=1:nrow(binom))
binom<-merge(binom,binom.dummy.df,by="id")
Пока это работает, он невероятно медленный (функция слияния даже разбилась несколько раз). Есть ли более эффективный способ сделать это? Возможно, эта функциональность является частью пакета, с которым я не знаком?