我正在尝试在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
。有没有办法在函数内访问列名?
答案 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)