首页 > 解决方案 > 如何使用不需要手动输入的代码在数据框中创建重复对象名称的列

问题描述

我想知道如何使用不需要手动输入的代码在数据框中创建重复对象名称的列。

例如,我可以使用以下代码手动执行此操作:

# displays df
mtcars

# adds column manually
# ---- NOTE: REQUIRES MANUAL INPUT
mtcars$dataset_name <- c("mtcars")

# gives unique values for mtcars$dataset_name
unique(mtcars$dataset_name)

无论如何可以自动执行此操作吗?

谢谢。

标签: rautomationannotations

解决方案


我们可以创建一个函数,该函数将对象作为输入,并返回带有对象名称的列

f1 <- function(dat) {
        nm1 <- deparse(substitute(dat))
        dat$dataset_name <- nm1
        dat
  }
f1(mtcars)

推荐阅读