Tôi đang tìm kiếm sự đảo ngược của get()
.Trong R, cách lấy tên của đối tượng sau khi nó được gửi đến một hàm?
Đặt tên đối tượng, tôi muốn có chuỗi ký tự đại diện cho đối tượng được trích xuất trực tiếp từ đối tượng.
Ví dụ nhỏ với foo
là trình giữ chỗ cho hàm tôi đang tìm kiếm.
z <- data.frame(x=1:10, y=1:10)
test <- function(a){
mean.x <- mean(a$x)
print(foo(a))
return(mean.x)}
test(z)
Sẽ in:
"z"
Công việc của tôi xung quanh, đó là khó khăn hơn để thực hiện trong vấn đề hiện tại của tôi là:
test <- function(a="z"){
mean.x <- mean(get(a)$x)
print(a)
return(mean.x)}
test("z")
Tôi nghĩ 'deparse (thay thế (...)) 'là những gì bạn đang theo sau – Chase
Ví dụ xấu mặc dù có biến được gọi là" z "và tham số để kiểm tra * cũng * được gọi là" z "... In" z "không thực sự cho bạn biết nếu bạn đã làm điều đó một cách chính xác sau đó ;-) – Tommy
@Tommy, cố gắng cải thiện nó, nhưng hãy cải thiện với chỉnh sửa nếu bạn muốn. –