我想通過用戶定義的規範化規範化數據框的選定列。到目前爲止,我將與如何將數據幀切片傳遞給R中的模式歸一化的直方圖函數?
library(tidyr)
library(ggplot2)
Mode <- function(x, na.rm = TRUE) {
x <- lapply(x, as.numeric)
distribution <- hist(x, breaks = 50, plot = FALSE)
distribution$mids[which.max(distribution$counts)]
}
data_normalised <- lapply(mtcars[,-9:-12], function(x) {(x-Mode(x))/(sd(x))})
作爲最小的例子。 但是,hist在抱怨「x必須是數字」。我認爲這可以通過鑄造
x <- lapply(x, as.numeric)
不工作來解決。 我知道,HIST工程
hist(mtcars[[3]])
,但我不能找到一種方法,DF切片和HIST功能結合起來,作爲
hist(mtcars[[-9:-12]])
將無法正常工作eighter。
Idealy我想讓Mode()函數作爲sd()函數工作。拿一個df列並給出一個值。
感謝您的幫助!
你的函數'Mode'不返回任何東西;你應該在結束函數之前添加'return()'和你感興趣的值。 – R18