我對重命名對象,這裏的例子的腳本的一部分的問題導致的運行和源極之間的區別:RStudio,在腳本
rm(list = ls())
# create object 'mes' in 'A.rdata'
setwd("k:/My R space/")
mes <- list( a = c(1,2,3,4,5), b = c("a","b","c","d"))
save(mes, file = "A.rdata")
rm(list = ls())
cat("\14")
# rename object 'mes' to 'essai'
setwd("k:/My R space/")
file = "A.rdata"
env=parent.frame()
#
tmp<-new.env()
load.names <- load(file, tmp)
Map(assign, "essai", mget(load.names, envir = tmp), MoreArgs = list(envir = env))
ls.str(essai) }
當我與「源」運行此它失敗
> $essai
$essai$a
[1] 1 2 3 4 5
$essai$b
[1] "a" "b" "c" "d"
> ls.str(essai)
Error in ls.str(essai) : object 'essai' not found
當我使用運行,它的工作原理!
$essai
$essai$a
[1] 1 2 3 4 5
$essai$b
[1] "a" "b" "c" "d"
> ls.str(essai)
a : num [1:5] 1 2 3 4 5
b : chr [1:4] "a" "b" "c" "d"
任何想法? 謝謝, 馬克。
'MoreArgs修復它=''是mapply()'語法,而不是'地圖()'語法 –