В настоящее время я пытаюсь улучшить мой код, переписав некоторые части с помощью функций. Одна из функций, которые я использую:
datasetperuniversity<-function(university,year){assign(paste("data",university,sep=""),subset(get(paste("originaldata",year,sep="")),get(paste("allcollaboration",university,sep=""))==1))}
Выполнение функции datasetperuniversity («Гарвард», «2000») приведет к тому, что функция будет выглядеть примерно так:
dataHarvard=subset(originaldata2000,allcollaborationHarvard==1)
Функция работает почти идеально, за исключением того, что она не сохраняет результаты в dataHarvard. Я читал, что это нормально в функциях, и использование << - вместо = может решить эту проблему, однако, поскольку я использую функцию assign, это на самом деле невозможно, так как = является просто результатом присвоения функция. </p>
Вот некоторые данные:
sales = c(2, 3, 5,6)
numberofemployees = c(1, 9, 20,12)
allcollaborationHarvard = c(0, 1, 0,1)
originaldata = data.frame(sales, numberofemployees, allcollaborationHarvard)