通过应用函数 R 传递的 Colnames
Colnames passed through an apply function R
我正在尝试在 data.frame 上使用应用和用户定义的函数。在函数内部,我想使用列名(作为绘图的标题),但 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)
returnsNULL
。有什么方法可以访问函数内的列名吗?
感谢评论者,我到达了下面,这给了我想要的结果。
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)
我正在尝试在 data.frame 上使用应用和用户定义的函数。在函数内部,我想使用列名(作为绘图的标题),但 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)
returnsNULL
。有什么方法可以访问函数内的列名吗?
感谢评论者,我到达了下面,这给了我想要的结果。
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)