Colnames通过了apply函数R.

时间:2017-02-15 13:04:15

标签: r apply

我正在尝试在data.frame上使用apply和用户定义的函数。在函数内部我想使用列名(对于图的标题),但apply似乎剥离列名并仅传递一个向量。 MWE:

trialData <- data.frame('a' = rnorm(100),
                        'b' = rnorm(100),
                        'c' = rnorm(100))

someData <- function(dataInput){
  return(colnames(dataInput))
}

dataOutput <- apply(trialData, 2, someData)

print(dataOutput)

返回NULL。有没有办法在函数内访问列名?

1 个答案:

答案 0 :(得分:1)

感谢评论员,我到达了下面,给了我想要的结果。

trialData <- data.frame('a' = rnorm(100),
                        'b' = rnorm(100),
                        'c' = rnorm(100))

someData <- function(dataInput){
  # lots of code here
  return(
    dataName = colnames(dataInput)
  )
}

dataOutput <- lapply(colnames(trialData), function(x){someData(trialData[x])})

print(dataOutput)