簡體   English   中英

使用需要在apply()內部使用向量的函數

[英]Using a function that requires a vector inside apply()

我試圖在此矩陣的每一列上使用dmultinom函數(如下)。 因為我想計算三項式概率,所以我認為我可以對每列使用apply並將dmultinom(,prob=c(1,2,3))用作其中的FUN。 但是,這不起作用。

apply(data,1,dmultinom(,prob = c(1,2,3)))

Error in dmultinom(,prob = c(1,2,3)) : 
  argument "x" is missing, with no default

我認為我可以使用for循環遍歷每一列並使用它來計算概率,但是我認為應該有一種方法可以使用Apply解決它。

這是我的數據:

  V1.Freq V2.Freq V3.Freq V4.Freq V5.Freq V6.Freq V7.Freq V8.Freq V9.Freq V10.Freq
1      31      31      31      31      31      31      31      31      31       31
2     152     152     152     152     152     152     152     152     152      152
3      21      21      21      21      21      21      21      21      21       21

你可以試試:

apply(data,2,dmultinom,prob=c(1,2,3))

注意: apply(data,1,..)是按行的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM