Tiêu đề là câu hỏi khép kín. Một ví dụ rõ: Xem xétChỉ định thuộc tính danh sách trong môi trường
x=list(a=1, b="name")
f <- function(){
assign('y[["d"]]', FALSE, parent.frame())
}
g <- function(y) {f(); print(y)}
g(x)
$a
[1] 1
$b
[1] "name"
trong khi tôi muốn có được
g(x)
$a
[1] 1
$b
[1] "name"
$d
[1] FALSE
Một vài nhận xét. Tôi biết những gì là sai trong ví dụ ban đầu của tôi, nhưng đang sử dụng nó để làm rõ mục tiêu của tôi. Tôi muốn tránh < < - và muốn x được thay đổi trong khung chính.
Tôi nghĩ rằng sự hiểu biết của mình về môi trường là nguyên thủy và mọi tham chiếu đều được đánh giá cao.
Bạn đang cố gắng để làm gì? Sửa đổi biến ngoài – hadley
Tôi đang cố gắng tránh đi qua giá trị một đối tượng rất lớn với một hàm được gọi nhiều lần, hàm này cũng sửa đổi một phần của đối tượng. đôi khi hữu ích – gappy
Bạn đã định hình đi qua vật thể và phát hiện ra rằng đó là vấn đề? R sẽ không sao chép obj ect trừ khi bạn sửa đổi nó, mà bạn đang làm ở đây anyway. Nó không phải là rõ ràng rằng cách tiếp cận phức tạp hơn này thực sự sẽ giúp bạn tiết kiệm thời gian. – hadley