Собственно, больше всего полезного опыта и знаний я получил, желая сделать что-то совсем бесполезное и тупое. Например — писал бота, который смотрит кто когда и во сколько заходит вконтакт (так я и выучил Python), или вот например сейчас, пока битый час искал нужный параметр, чтобы построить нужный график в R.
А виной всему послужила мысль о том, что «Сетевой маркетинг — это бесконечная история о том, как люди пытаются бороться с первым началом термодинамики». Чтобы проиллюстрировать эту мысль, я задался целью сделать вот этот график:
Итак, нужно было сделать простейший stacked barplot, что весьма просто делается командой barplot(). В итоге я вспомнил, как правильно инициализировать объекты в R и докопался до дао параметра xlim:
#Инициализируем данные
mydata<- data.frame(x=1,y=rep(0,100))
mydata[100,]<-1
#Тут ключевое — это as.matrix() и table(), потому что без них выйдет полная фигня, а также xlim — который позволяет сделать график не таким широким
barplot(as.matrix(table(mydata$y)), width=0.5,xlim=c(0,5),beside = FALSE,main=”Количество физиков в сетевом маркетинге”,
, col=c(“darkblue”,”red”),
legend = c(‘Все остальные’,’Физики’))
Теперь собственно, способы инициализации пустого фрейма:
1) Использование rbind До цикла: d = NULL Внутри loop: d = rbind(d, data.frame(x, y, z)) 2) Способ быстрее, но требует знать конечный размер объекта d = data.frame( x=rep(0, 10), y=rep(0,10), z=rep(0,10)) В цикле: d[i, ] = c(x, y, z) 3) Сначала инициализируем нужные векторы, а затем: x = NULL y = NULL z = NULL Затем: d = data.frame(x, y, z)