html表格统计平均成绩,使用R中的data.table计算加权平均值,其中一个表列中的权重...
我有一個(gè)data.table如下所示.我正在嘗試計(jì)算數(shù)據(jù)子集的加權(quán)平均值.我嘗試了以下MWE的兩種方法
set.seed(12345)
dt = data.table(a =c(10,20,25,10,10),b=rnorm(5),c=rnorm(5),d=rnorm(5),e=rnorm(5))
dt$key = sample(toupper(letters[1:3]),5,replace=T)
setkey(dt, key)
首先對(duì).SD進(jìn)行子集化并使用lapply調(diào)用,這不起作用(并且實(shí)際上并不是這樣)
dt[,lapply(.SD,function(x) weighted.mean(x,.SD[1])),by=key]
其次嘗試定義一個(gè)函數(shù)來(lái)應(yīng)用于.SD,就像我使用ddply一樣.
這也失敗了.
wmn=function(x){
tmp = NULL
for(i in 2:ncol(x)){
tmp1 = weighted.mean(x[,i],x[,1])
tmp = c(tmp,tmp1)
}
return(tmp)
}
dt[,wmn,by=key]
有關(guān)如何最好地做到這一點(diǎn)的任何想法?
謝謝
編輯
更改為所選列上的wmn公式的錯(cuò)誤.
第二次編輯
加權(quán)平均公式反轉(zhuǎn)并添加了set.seed
總結(jié)
以上是生活随笔為你收集整理的html表格统计平均成绩,使用R中的data.table计算加权平均值,其中一个表列中的权重...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【 C++11 】右值引用和移动语义
- 下一篇: IDEA创建maven项目报错Error