No reason to be afraid of environments. Here's a little example.
script1.R:
x <- rnorm(10)
out <- mean(x)
script2.R:
x <- rpois(20, 100)
out <- mean(x)
main script:
e1 <- new.env()
source("script1.R", local = e1)
e2 <- new.env()
source("script2.R", local = e2)
as.list(e1)
## $x
## [1] -1.0941748872 -1.1482668349 -0.0008547298 0.8843361504 1.5612913538
## [6] 0.6729380904 0.6081967121 0.0943251617 1.0372299042 2.3717537411
## $out
## [1] 0.4986775
as.list(e2)
## $x
## [1] 107 114 92 105 100 100 130 86 104 98 103 92 116 97 99 100 105 89 97
## [20] 95
## $out
## [1] 101.45
environments are pretty simple and convenient to use in this case and can just be turned into lists so you can continue to work with the data.