Допустим, у меня есть следующая функция:
return_name <- function(data){
for(datasets in data)
print(deparse(substitute(datasets)))
}
my_data_1 <- data.frame(a = "a", b = "b")
my_data_2 <- data.frame(a = "a", b = "b")
return_name(list(my_data, my_data_2))
Я бы хотел, чтобы эта функция печатала my_data_1
, за которым следует my_data_2
(имя объекта в памяти.
Вместо этого он печатает структуру всего объекта.
Редактировать для @ Ronak
В моем фактическом коде я повторяю список фреймов данных (а не именованный список). Мне нужно иметь возможность grep
для имени текущего объекта в for l oop.
Это выглядит примерно так:
data_list = list(my_data_1, my_data_2)
random_function <- function(data_list){
for(datasets in data_list)
value = ifelse(grepl("my_data_1", return_name(datasets)), 1, 0)
}
Проблема в том, что Функция return_name, описанная в вашем ответе, вернет «наборы данных», а не фактическое исходное имя объекта.