0
我正在嘗試在data.frame上使用apply和用戶定義的函數。在函數內部,我想使用列名(對於圖的標題),但似乎應用剝離列名並只傳遞一個向量。 MWE:通過應用函數傳遞的列名R
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
。有什麼方法可以訪問函數內的列名稱嗎?
* apply函數不允許您訪問正在循環的數據的「屬性」。有一些迂迴的方法可以從* apply中訪問colname,但是我的問題是你想用這個代碼實現什麼?根據你的帖子,不需要「申請」。 – emilliman5
我在我的實際功能中做了很多事情,有幾件事情需要列的名稱。例如,我生成了一些數字,我想在標題中使用該名稱。我想如果我不能訪問屬性,我需要重寫函數,以便它接受一個字符串,並調用應用程序,以便它接受兩個參數。 – Lespied
首先,我考慮用lapply遍歷你的列。其次,不是將數據幀傳遞給lapply,而是傳遞列名稱,然後傳遞數據幀的子集以用於您的預期操作。 – emilliman5