У меня есть несколько наборов данных с 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")
Хотя это работает, это невероятно медленно (функция слияния даже несколько раз терпела крах).Есть ли более эффективный способ сделать это?Возможно, эта функциональность является частью пакета, с которым я не знаком?