0
我想編輯在父函數中定義的數據幀dat,就像在這個例子中那樣,但是輸出(從main返回)給出了沒有發生編輯的數據幀。這顯然是由於R中全局變量的濫用造成的,但是有人可能會解釋爲什麼會出現這種情況,以及我如何才能使它發生?編輯在父級環境中定義的全局對象
indat <- data.frame(a = '0', b = '0')
main <-function(data){
assign("dat", data, envir = .GlobalEnv)
inner1()
inner2()
return(dat)
}
inner1<-function(){
print(dat$a)
dat$a <- '1'
return()
}
inner2<-function(){
print(dat$b)
dat$b <- '1'
return()
}
謝謝! – PuSh