R语言 正在访问lapply内的列名

5t7ly7z5  于 2023-02-10  发布在  其他
关注(0)|答案(1)|浏览(169)

我在函数内部使用"deparse(substitute(x))"来获取作为参数传递的 Dataframe 列的名称。它工作得很好...但不适用于"lapply"

myfun <- function(x)
{
  return(deparse(substitute(x)))
}

a <- c(1,2,3)
b <- c(4,5,5)
df<-data.frame(a,b)
myfun(df$a)

[1] "df$a"

但是,用"laply"

lapply(df, myfun)
$a
[1] "X[[i]]"

$b
[1] "X[[i]]"

我怎样才能得到"拉普"里面的名字?
编辑:我需要访问的不是列名,而是完整名称(dataFrameName $varName)

iq3niunx

iq3niunx1#

您可以使用列名():

f=function(d) {
   paste0(deparse(substitute(d)),"$",colnames(d))
}

相关问题