如何在R中的全局环境中编写函数的结果

时间:2017-06-04 22:19:13

标签: r save global lapply

我有这些数据集:A <- 4, B <- 3, C <- 2

所以我把它们放在一个清单中 D<-list(A,B,C)并想要应用此功能:

s<-function(x) {
    t<-8
    x<-as.data.frame(x*t)
}

lapply(D,s)

当我应用lapply函数时,它只是打印它们。

如何将结果保存在全局环境中而不是打印它们?

因此,结果应为A,其值为B,其值为C,值为16.

2 个答案:

答案 0 :(得分:6)

使用:

而不是lapply(D,s)
D <- lapply(D, s)
names(D) <- c("A", "B", "C")
list2env(D, envir = .GlobalEnv)

答案 1 :(得分:2)

最好存储所有变量&#34; straying&#34;在list的全局环境中(保持环境清洁/更小并允许各种循环):

D <- list(A = 4, B = 3, C = 2)

s <- function(x) {
  t <- 8
  x * t   # return just the value
}

result <- lapply(D, s)
names(result) <- names(D)  # rename the results
D <- result  # replace the original values with the "updated" ones

D
D$A  # to access one element