Có vẻ như bạn đã hết may mắn. Từ tập tin giúp đỡ:
'assign' không cử phương pháp phân công, vì vậy nó không thể được sử dụng để yếu tố tập các vectơ, tên, thuộc tính, vv
Lưu ý nhượng rằng đến một danh sách kèm theo hoặc khung dữ liệu thay đổi bản sao đính kèm chứ không phải đối tượng gốc: xem 'đính kèm' và 'với'.
Nếu bạn đang chuyển names(x)
như là đầu vào, bạn không thể sử dụng:
nms <- names(x)
for (n in nms)
x[[n]] <- 'new_value'
Ngoài ra, bạn có ý định cho chức năng của bạn để sửa đổi một số biến toàn cầu? ví dụ:
x <- list(test=1)
f <- function(...)
x$test <- 2
f() # want x$test = 2 ??
Vì điều này sẽ không hoạt động (vấn đề phạm vi). Bạn có thể làm cho nó hoạt động với một số bước chân (<<-
), nhưng điều này thường được coi là thực hành xấu vì nó dễ dàng để intrtoduce lỗi không chủ ý vào mã của bạn.
Nếu bạn có thể đưa ra ví dụ về lý do bạn muốn chức năng này/mục đích sẽ phục vụ, chúng tôi có thể giúp bạn tìm ra giải pháp thay thế.
Nguồn
2012-03-05 02:57:02
Lưu ý có sự khác biệt lớn giữa 'x $ test' và' x [['test']] '. Xem doc trên ['extract (..., drop = TRUE)'] (https://stat.ethz.ch/R-manual/R-devel/library/base/html/Extract.html) – smci