首页 > 解决方案 > 如何在R中的函数中打印变量名

问题描述

我正在使用具有许多变量的大型数据框。所有这些变量都有一个标签和标签。我正在尝试构建一个函数,在其中自动获取带有 NA 和原始变量名称的标签、标签、表(以便我知道哪个标签对应于哪个变量)。

我已经构建了以下功能。

printattfun <- function(x){
  label <- attr(x, "label")
  labels <- attr(x, "labels")
  table <- table(x, useNA = "ifany")
  print(label)
  print(labels)
  print(table)
  }

这个函数允许我获取标签、标签和表格。我使用 sapply 将其应用于所需的列:

sapply(X = df, FUN = printattfun)

我唯一无法创建的是它还在原始 df 中显示变量名称。我试图将它添加到我的函数中

names(attr(x, "label") (which returns NULL)
colnames(x) (which also returns NULL)

此外,我还阅读了有关 deparse 和替代的一些内容,并且我还尝试将其添加到我的函数中:

nm <- deparse(substitute(x)); strsplit(nm, '\\[')
print(nm)

但这也行不通。有没有人建议如何解决这个问题?

提前谢谢了!

标签: rfunction

解决方案


推荐阅读