我想在我的函数中使用变量,但我无法弄清楚如何做到这一点。这是我的函数和对data.frame的调用:
errorByAleles <- function(values){
counts1 <- as.data.frame(table(values), stringsAsFactors = FALSE)
modal_value1 <- which.max(counts1$Freq)
div <- nrow(values)
return ((sum(counts1$Freq)-counts1$Freq[modal_value1])/div)
}
error1 <- apply(X=ind1[,2:9],MARGIN=2,FUN=errorByAleles)
我应用函数的data.frame的dimmension:
> dim(ind1)
[1] 9 9
问题在于div&lt; - nrow(值)。 div = 9就是我在这里需要的。那么如何在函数内部获取我的“值”呢?我明白了吗?
非常感谢任何帮助!
答案 0 :(得分:1)
当您使用apply()
时,您正在对数据的每一列运行您的功能。当apply()
调用该函数时,会传递一个表示列的向量。因此,您应该使用nrow(values)
而不是length(values)
。