データのお砂場(137) R言語、urine、シュウ酸カルシウム結晶と尿の特性、{boot}

Joseph Halfmoon

Rのサンプルセットを巡りながら、この世の不思議を学ぶ年寄です。今回はパッケージ「Boot」のデータの中からurine。お惚け老人は、データの中身を見る前から「だいたい」は想像がつきましたぞ。時折、とくに夏場にお世話になるこが多い泌尿器科の件。尿路結石とな。しかしどこにも御病気の件については記載なし、淡々と物理特性っす。

※「データのお砂場」投稿順Indexはこちら

Urine Analysis Data

今回のサンプルデータセットの解説ページが以下に。

Urine Analysis Data

医療系のデータセットです。医療系にありがちな、背景とか一切省略されている感じの素っ気ないデータセットです。ひたすら数値として処理の仕方だけ勉強すれば良いっと。。。

さて、今回のサンプルデータセットは、尿に含まれるcalcium oxalate crystals(シュウ酸カルシウム結晶)の在、不在とその時の「尿の物理的特性」に関するものです。「背景にある筈の御病気」尿路結石について、予防がどうとかということにとどまらず病気そのものについても一切言及ありませぬ。

しかし、お惚け老人は、敢えて口を出さずにはいられませぬ。まあ、ご同類は多数おられると思いますが「尿管結石は痛い」と。七転八倒の痛さであります。初回は出張先でした。夜中に救急車で運ばれました。出張前から腰が痛いと思っていたのですが、それは結石で「流路が塞がった」ために腎臓が膨張しておったためで腰痛ではなかったのです。幸いご同僚と2人で出張の回だったので夜中にご同僚のお助けありなんとかなりました。感謝。

それ以降も夏場(水分が減る)になると何度となく向き合ってきているのが結石、そしてその主成分であるシュウ酸カルシウム結晶なんであります。個人的にはお馴染みさん。

結石の場合は「塊」になって悪さをし、細かな結晶としては「鋭い針状」の形状で組織を直接傷つけるらしいシュウ酸カルシウム結晶です。このデータセットではシュウ酸カルシウム結晶の在、不在と以下の5指標をひたすらならべているだけものです。

    • r、 シュウ酸カルシウム結晶の存在
    • gravity、 比重
    • osmo、 浸透圧
    • cond、 導電率
    • urea、 尿素濃度
    • calc、 カルシウム濃度

ま、泌尿器科で採尿されたときに測定されそうな(そうでもない項目もあるけれど)項目がならんでおります。ここで尿分析装置については『シスメックス株式会社』様の以下文献が分かりやすかったです。あざ~す。

全自動尿中有形成分分析装置UF-110iのご紹介

上記の文献など読んでお惚け老人が理解したことは以下です。

    • 伝導率は電解質量(イオン)と比例
    • 比重、浸透圧は溶質量と比例
    • 浸透圧は、イオン化しない物質の場合モル濃度に等しく、イオン化する物質は電離するのでモル濃度より大きくなる
    • 塩化ナトリウム(通常一番多く含まれる)は当然電解質
    • グルコース(糖尿のときね)、尿素は非電解質

ざっくり言えば、伝導率、比重、浸透圧の3者には相関性があるけれども、非電解質が多く含まれると外乱要因になる、ってこってすかい?グルコースもドッパーな老人はますますよろしくない。

まずは生データ

生データをロードしてみたところが以下に。urineRawData

珍しく、このサンプルデータセットには、NA(欠損値)が含まれてます。欠損値を何か別の値にしてレコードを活かすようなアイディアは皆無なので、NA含んでいるレコードはバッサリやることにいたしました。こんな感じでどうよ。

urine.v <- na.omit(urine)
summary(urine.v)

バッサリやった後でサマリを取り直してみるとこんな感じ。urinev

NA値は消えてますな。

プロットしてみる

ザックリした傾向を「見る」ためにプロットをお願いしてみます。

plot(urine.v)

結果が以下に。plot_urineV

上記をみると、gravity、osmo、cond、ureaの4者の間にかなりハッキリした相関がありそうな。。。calcはちょっと弱い、phは結構ばらついてる感じ。

回帰分析してみる

明らかに一直線の相関関係ありそうなものがあるので、シュウ酸カルシウム結晶の在不在と他の要因「とりあえず全部のせ」で重回帰分析してみました。

urine.lm <- lm(r~gravity+ph+osmo+cond+urea+calc, data=urine.v)
summary(urine.lm)

その結果が以下に。urinevLM

どうも、カルシウム濃度と、比重は「関係ありそう」な感じがするけれども、他の指標とは良く分からんという感じ。

なお、比重対伝導率、浸透圧、尿素、カルシウムの間でも回帰分析してみました。

urine.m0 <- lm(gravity~osmo+cond+urea+calc, data=urine.v)
summary(urine.m0)

結果が以下に。

urinevIND比重と伝導率、浸透圧、尿素は「明らかに関係ないとは言えない、いい感じ」です。さきほども述べた通りであたりまえか。でもカルシウムはちと違う傾向。

カルシウムと比重でBOXプロットしてみる

まずシュウ酸カルシウム結晶の存在で層別したカルシウム量の箱ひげ図。

library(dplyr)
CE <-urine.v %>% filter(r==1) %>% select(calc)
CN <-urine.v %>% filter(r==0) %>% select(calc)
boxplot(c(CE, CN), names=c("Exist", "Not Exist"), ylab="Calcium[mmol/L]", main="Calcium oxalate crystals")

結果が以下に。boxClcium

お次は比重の場合。

GRE <-urine.v %>% filter(r==1) %>% select(gravity)
GRN <-urine.v %>% filter(r==0) %>% select(gravity)
boxplot(c(GRE, GRN), names=c("Exist", "Not Exist"), ylab="Gravity", main="Calcium oxalate crystals")

グラフが以下に。boxGravity

比重がデカくて、カルシウムが多いと、シュウ酸カルシウム結晶が含まれていそうな感じがするけれども、かならずしもそうとも言えないっと。CTスキャンとれよ。

データのお砂場(136) R言語、tuna、ミナミマグロの航空調査、{boot}へ戻る

データのお砂場(138) R言語、wool、オーストラリア産ウールの相対価格、{boot} へ進む