シンクロ・ダンディーズ!
悩める中年男子はもれなくシンクロを始めて世界選手権を目指すのか?ってくらい、シンク・オア・スイムから時期を開けずにおっさんシンクロ映画がまたも公開されました。シンク・オア・スイムと構成的にはあまり変わらないというか、シンクロチームのメンバーそれぞれに悩みがあって・・・って話なのですが、今回は各メンバーのキャラ立ちがしっかりしていて、主人公の悩みに焦点が当たってたので、中途半端感はそこまでなかったかなあ・・・。シンク・オア・スイムはメンバーの半分くらいしか悩みを取り上げなかったから、え?残りは?ってなったんだけど。
シンク・オア・スイムと世界選手権のシーンとかが連動してると面白かったんだけど、そんなことはなかった。そもそもこの映画ではフランスは出てなかったし、世界選手権は北欧じゃなくてイタリアだったし。
エイス・グレード 世界でいちばんクールな私へ
SASで割合データだけ取り出す
ひたすら0/1で並んでいるデータセットから割合だけ取り出したい場合どうしたらいいのか、うんうんうなって1週間。
どうもSQLみたい・・・。
趣旨としては、SASで、エクセルのCountif的なことをやりたかったわけです。
元のデータセット名はtest1
id | a | b | c |
1 | 0 | 1 | 1 |
2 | 0 | 1 | 1 |
3 | 0 | 1 | 1 |
4 | 0 | 0 | 1 |
5 | 0 | 0 | 1 |
6 | 1 | 0 | 1 |
7 | 1 | 0 | 1 |
8 | 1 | 0 | 1 |
9 | 1 | 0 | 0 |
10 | 1 | 0 | 0 |
ここから、aとbとc、それぞれ1だった人をカウントして、c=1だった人の中でa=1だった人の割合を出したいわけです。
で、出されるデータセット名はresult
proc sql;
create table result as
select
sum(a=1) as acount,
sum(b=1) as bcount,
sum(c=1) as ccount,
(sum(a=1)/sum(c=1))*100 as acpercent
from test1;
quit;
これができる
acount | bcount | ccount | acpercent | |
1 | 5 | 3 | 8 | 62.5 |
横に長い1/0データから、割合を出したい。
分母が1じゃないと分子は絶対1にはならない。
分子/分母の割合を出したい。
そしてできることならこういう表が出したい。
分子が1の数 | 割合(分子/分母×100) | |
a | ||
b |
データセット名はtest2
要素A | 要素B | |||
id | 分子a | 分母a | 分子b | 分母b |
1 | 0 | 1 | 1 | 1 |
2 | 1 | 1 | 1 | 1 |
3 | 1 | 1 | 0 | 1 |
4 | 0 | 1 | 0 | 0 |
5 | 0 | 1 | 0 | 0 |
まずは1回要素Aと要素Bごとのデータセットを作る。
で要素って項目を立てて、そこにaまたはbって名前が入るようにする(これ文字変数で入ったけど、最終的に割合出すとき文字で出てこなかったんだよな・・・)
(sasの項目名って日本語使えないけど、面倒だからそのまま日本語で書くよ)
要素Aに関するデータセット(test2a)
data test2a;set test2;if 分母a=o then delete;要素=a;rename 分子a=分子 分母a=分母;run;
要素Bに関するデータセット(test2b)
data test2b;set test2;if 分母b=0 then delete;要素=b;rename 分子b=分子 分母b=分母;run;
これを縦につなげる(データセット名:test2all)
data test2all;set test2a test2b;run;
そうするとできるのがこういうやつ。
id | 分子 | 分母 | 要素 |
1 | 0 | 1 | a |
2 | 1 | 1 | a |
3 | 1 | 1 | a |
4 | 0 | 1 | a |
5 | 0 | 1 | a |
1 | 1 | 1 | b |
2 | 1 | 1 | b |
3 | 0 | 1 | b |
これをそのままSQL構文でばばっとやります。
proc sql;
create table resultall as
select 要素,
sum(分子=1) as number,
(sum(分子=1))/(sum(分母=1))*100 as percent
from test2all
group by 要素;
quit;
要素 | 分子が1の数 | 割合(分子/分母×100) |
a | 2 | 40 |
b | 2 | 66.6 |
不倫するCEOは仕事で不正する可能性が2倍
クーリエに記事になってたから原文読んでみました。記事読んだとき「え?倫理委員会よく通ったね!」って思ったら、通ってませんよ!倫理委員会通したって記述ないし!「We have discussed the use of the data with many people, including attorneys, who confirm that the data are permissible to use for research purposes because the data are now in the public domain and available for research use in the same way that they are available to and used by the press. We believe it is also ethical to use the data, and the use of hacked data has become common both by the press and in academia.」(意訳:多くの人とこのデータの使用について議論を重ねたが、もうデータはパブリックドメインなので使用した。ハッキングされたデータを使用することは一般的で有り、倫理的であると我々は信じている)って書いてあって、いやいや。。。あんたらの信条とかどうでもよくてですね・・・ってなりました・・・。だって、名前と住所でサクラじゃないか名寄せしてるって駄目じゃん・・・。これ、PNASは倫理面を理由にはねつけるべき研究じゃないだろうか・・・。
まあそもそもトップなのにAMなんかに登録してるから自業自得ってこともあるかもしれないけど、いくら登録してしまったことが自業自得だとしてもそれは流出までのことで、研究者が匿名データじゃないのに倫理も通さず使ってしまうのはだめでしょうー。
Personal infidelity and professional conduct in 4 settings.
www.ncbi.nlm.nih.gov