Вот глупый (возможно, только в моих мыслях) способ достичь моей цели:
A <- "This is a test."
B <- "This is the answer."
swap <- function(item1,item2) {
tmp <- item2
item2 <- item1
item1 <- tmp
return(list(item1,item2))
}
AB <- swap(A,B)
A <- AB[[1]]
B <- AB[[2]]
Но я рассматриваю нечто похожее на следующий код C:
void swap(int *a, int *b)
{
int iTemp ;
iTemp = *a;
*a = *b;
*b = iTemp;
}
Мои мотивы:
- Мои реальные данные достаточно велики, например, Матрица 5k * 5k, поэтому присвоение существующей переменной в итерации дважды, внутри функции и вне функции, должно быть расточительством.
- Ближайший вопрос к SO - , этот , но, как и ОП в вопросе, моя R-сессия также имеет много объектов: я работаю с
Rmpi
, и каждый раб будет имеют большое количество переменных.
- По моему скромному мнению,
R
написано в C
, поэтому R
может иметь указатели, как C
, хотя я не могу найти много в сети удивительно.