html表格统计平均成绩,使用R中的data.table计算加权平均值,其中一个表列中的权重...
生活随笔
收集整理的這篇文章主要介紹了
html表格统计平均成绩,使用R中的data.table计算加权平均值,其中一个表列中的权重...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我有一個data.table如下所示.我正在嘗試計算數據子集的加權平均值.我嘗試了以下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)
首先對.SD進行子集化并使用lapply調用,這不起作用(并且實際上并不是這樣)
dt[,lapply(.SD,function(x) weighted.mean(x,.SD[1])),by=key]
其次嘗試定義一個函數來應用于.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]
有關如何最好地做到這一點的任何想法?
謝謝
編輯
更改為所選列上的wmn公式的錯誤.
第二次編輯
加權平均公式反轉并添加了set.seed
總結
以上是生活随笔為你收集整理的html表格统计平均成绩,使用R中的data.table计算加权平均值,其中一个表列中的权重...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【 C++11 】右值引用和移动语义
- 下一篇: IDEA创建maven项目报错Error