Мне интересно, возможно ли в R использовать значение, объявленное в вызове функции как «переменную» часть самой функции, аналогично функциональности, доступной в SAS IML.
Учитывая что-то вроде этого:
put.together <- function(suffix, numbers) {
new.suffix <<- as.data.frame(numbers)
return(new.suffix)
}
x <- c(seq(1000,1012, 1))
put.together(part.a, x)
new.part.a ##### does not exist!!
new.suffix ##### does exist
Как написано, функция возвращает фрейм данных с именем new.suffix
, как и должно быть, потому что это то, что я прошу это сделать.
Я хотел бы получить возвращенный фрейм данных, который называется new.part.a
.
РЕДАКТИРОВАТЬ: была запрошена дополнительная информация о целях анализа
Цель вопроса - создать кадры данных, которые будут отправлены в другую функцию для анализа.
Существует банк данных, в котором элементы организованы в группы по номеру, а другие люди организовывают группы
в значимом наборе.
Каждая группа имеет идентификационный номер. Я использую информацию, предоставленную другими, чтобы собрать группы, как они указаны.
Например, мне бы дали набор идентификационных номеров, таких как: part-1 = 102263, 102338, 202236, 302342, 902273, 102337, 402233.
Итак, часть-1 состоит из семи групп, каждая из которых имеет несколько элементов.
Я использую идентификаторы в слиянии, чтобы из большого банка данных извлекались только группы интересов.
Вот что у меня есть для одного комплекта:
### all.possible.elements.bank <- .csv file from large database ###
id.part.1 <- as.data.frame(c(102263, 102338, 202236, 302342, 902273, 102337, 402233))
bank.names <- c("bank.id")
colnames(id.part.1) <- bank.names
part.sort <- matrix(seq(1,nrow(id.part.1),1))
sort.part.1 <- cbind(id.part.1, part.sort)
final.part.1 <- as.data.frame(merge(sort.part.1, all.possible.elements.bank,
by="bank.id", all.x=TRUE))
Процесс выше повторяется много, много раз.
Я знаю, что я мог бы сделать это для всех коллекций, которые я собрал бы, но я думал, что смогу обернуть процесс выбора в функцию. Единственными вещами, которые могли бы измениться, были бы номера деталей (часть-1, часть-2 и т. Д.) И выбранные группы.