这个问题在这里问在R中,如何在将对象发送到函数后获取对象的名称?
但是,这在 for 循环中不起作用。例如,以下方法将多个数据帧写入 postgresql 数据库,
write_multiple_to_postgres <- function(list_of_frames) {
for(i in 1:length(list_of_frames)) {
object_name <- deparse(substitute(list_of_frames[[i]]))
write_to_postgresql(object_name, list_of_frames[[i]])
}
}
list_of_frames 看起来像这样:
my_list <- list(data_frame_susan, data_frame_bobby, data_frame_melissa)
....并被称为:
write_multiple_to_postgres(my_list)
我希望将 object_name 作为字符串传递给 write_to_postgresql 方法。但相反,我得到了 object_name 的以下输出
我的列表[[1L]],我的列表[[2L]],我的列表[[3L]]
我想要的是:
data_frame_susan、data_frame_bobby、data_frame_melissa
在传递给函数并在 for 循环中使用后,如何使用“deparse(substitute) 技巧”或其他方法来获取对象名称?