4

In python you can do something like this:

x,y = 1,2 

or

x,y = function_that_returns_two_elements()

I was trying to do something similar in R but found no solution. Is it possible?

Brzoskwinia
  • 117
  • 7

2 Answers2

4

The zeallot package offers an unpacking operator, %<-%

library(zeallot)

z <- list(1:3, 6:9)

c(a, b) %<-% z

a
# 1 2 3

b 
# 6 7 8 9
zephryl
  • 3,245
  • 5
  • 22
3

We can use multiple assignment operator (%=%) for this

library(collapse)
c("x", "y") %=% c(1,2)

-output

> x
[1] 1
> y
[1] 2

If it should be unquoted

rm(x, y) # remove the objects from the global environment
.c(x, y) %=% c(1, 2)

-output

> x
[1] 1
> y
[1] 2
akrun
  • 789,025
  • 32
  • 460
  • 575