dplyrで行方向の足し算

dplyrでデータ加工が格段に楽になった.

selectやら*joinやらmutateやらで切った貼ったはなれれば感覚的だし,列方向の集計はsummarise_at(vars(1:10), funs(mean,sd))とかでいける.

group_byしちゃって分類ごとに集計することやRcppRollパッケージを使えば移動平均も簡単.

詳細は素晴らしい使い方サイトがあるのでここでは触れない.

ただ,以外と行方向の集計に手こずったのでメモ.

> matrix(runif(10*3),ncol=3) %>>% (~rowMeans(.)-> tmp) %>% tbl_df() %>% mutate(rmean=rowMeans(.[1:3])) %>% cbind(.,tmp) %>% mutate(diff=rmean-tmp)
          V1        V2        V3     rmean       tmp diff
1  0.9512258 0.9323834 0.3673428 0.7503173 0.7503173    0
2  0.6022213 0.4665859 0.5452625 0.5380232 0.5380232    0
3  0.9128597 0.5536906 0.7513243 0.7392916 0.7392916    0
4  0.9844938 0.7430882 0.3007915 0.6761245 0.6761245    0
5  0.1188505 0.4204854 0.2030719 0.2474693 0.2474693    0
6  0.2920467 0.8497445 0.8380774 0.6599562 0.6599562    0
7  0.2079907 0.1409728 0.2556858 0.2015498 0.2015498    0
8  0.3650271 0.2323105 0.1202650 0.2392009 0.2392009    0
9  0.3368931 0.5872122 0.5272524 0.4837859 0.4837859    0
10 0.4177050 0.6991706 0.8312461 0.6493739 0.6493739    0

svchostの怒りを収める,と言う話.

古典的なネタである.

svchost(netsvcs)がアホほどリソースを食いまくり,CPU使用率が高止まりしてX1Carbon(2015model, i7/RAM8G)のバッテリががんがん減る.
SvchostAnalyzerで何をやっているのか見てみると,WindowsUpdateのせいではないかと
http://www.japan-secure.com/entry/measures_method_in_the_case_of_confirmation_of_the_windows_update_does_not_end.html
に従ってWindowsUpdateをいじいじする.

それでもうまくいかないので,どうしたことかとディスクのクリーンアップでシステムファイルの
システムによってアーカイブ(または、キュー)されたWindows エラー報告
が2GBに迫る勢いで蓄えられているではないか!!

https://www.fmworld.net/cs/azbyclub/qanavi/jsp/qacontents.jsp?rid=261&PID=3708-5880#case8
によれば,削除してしまっても問題ないとのことなので,これを機に問題ないとされているファイルをガンガン消す.

すると,svchost(netsvcs)の怒りが収まって,普通にしていればバッテリ88%/8時間程度の利用時間が表示されるようになった.
めでたしめでたし.