Tôi đang cố gắng viết một hàm loại bỏ một đối tượng nếu nó tồn tại. Lý do là tôi muốn thoát khỏi thông báo đăng nhập Lỗi: đối tượng 'arg' không tìm thấy. Tôi thử như sau:Viết một hàm để xóa đối tượng nếu nó tồn tại
ifrm <- function(arg)
{
if(exists(as.character(substitute(arg)))){rm(arg)}
}
Thật không may điều này không loại bỏ các đối tượng nếu nó tồn tại
> ifrm <- function(arg)
+ {
+ if(exists(as.character(substitute(arg)))){rm(arg)}
+ }
> a <- 2
> ifrm(a)
> a
[1] 2
Bất kỳ gợi ý những gì tôi làm sai ở đây?
nhất Albrecht
này nghe có vẻ như một điều có thể nguy hiểm để làm. Bạn có muốn cung cấp cho chúng tôi chi tiết hơn một chút về các trường hợp bạn gặp phải lỗi này không? Có thể có các cách khác để xử lý thông báo lỗi của bạn phù hợp hơn. – Andrie
Tôi đồng ý với Andrie. Các câu trả lời được cung cấp sẽ làm những gì bạn hỏi, nhưng rất có thể những gì bạn thực sự nên làm thậm chí còn đơn giản hơn. Hãy xem thử và trycatch. Điều gì mà bạn đang cố gắng làm điều đó là cố gắng xử lý các đối tượng không tồn tại? –