KellyWeaver,公共衛生 / 營養風行病學
太長不看版總結:若是按照【重量】算,只要你像個正常人那樣吃米吃到小學結業,那么整個地球上就不成能還有人有資格跟你說這句話了。若是按照【顆數】算,只要你像個正常人那樣吃米吃到小學結業,那么在你家長吃的鹽比你吃的米多的同時,你吃的鹽也比你家長吃的米多!
我們都知道,鄙諺是不克不及較真的。
但問題的關頭是,我從小到大,每次我爹媽說不外我,他們就用這句話敷衍我!這讓我一向忿忿不服!!
于是我仍是一向胡想能有一天,我可以算出來他們到底是不是吃的鹽比我吃的米還多,然后把成果拍他們臉上辯駁歸去。
然鵝,限于小學初中高中的我常識有限,我一向拿不出一個能令我爹媽信服的謎底。
二十多年曩昔了,此刻的我,已經在新中國的紅旗下順遂當作長當作為了一個營養風行病學研究生。而巧合的是,我這門專業日常平凡干的工作里,就有一部門是包羅估量人們都吃些啥工具,每樣工具都吃了幾多。
是以!今朝的我!終于具備這個常識儲蓄和手藝實力!對這個無聊的問題睜開科學論證了!
界說一些前提前提
會商任何問題,若是要想獲得一個清楚的結論,我們都得要先界說清晰問題是什么。
“爸媽吃的鹽到底有沒有比我吃的米多”,這句話里有 4 個物體需要清楚界說:
為了簡化問題的會商,我們這里直接界說:這個問題下面,“爸媽”就以已經為我的沙雕腦洞獻身第 N 次的中國籍 30 歲輕體力勾當男人,群眾演員小張教員作為代表。
但鑒于后面頓時他鵝幾也會進場,我決議后面都叫他老張。
大師熟悉的鹽,就是做飯的時辰用勺子從鹽袋子里舀進去的精制鹽粒。但其實,若是論食鹽的素質,也就是氯化鈉,那來歷可就多了去了。好比說,醬油里面就有氯化鈉,豆瓣醬里面也有氯化鈉,老干媽里面也有氯化鈉;甚至除了這些調味品之外,幾乎每一種食材,好比肉、菜、蛋等等,里面都含有鈉離子和氯離子[1]。
為了避免爸媽后面一輸了就抵賴說是沒算上這些鹽導致的,我們后面的計較就直接經由過程算總鈉攝入量來反推氯化鈉攝入量,這樣能包管任何能舉動當作“鹽”的工具全都被算作鹽。
讓他們輸個心服口服!
為了簡化問題的會商,我們這里直接界說:這個問題下面,“我”就是我們的群眾演員老張的 6 歲鵝幾,中國好少年小張。
凡是意義下,“米”指的是精白米。可是這里我們有一個問題:海說神聊方的小孩們吃米比力少,吃面比力多。若是只算米,海說神聊方的孩子們不是虧死?再好比,若是只算米面,那人家本家兒吃高粱的家里咋整?本家兒吃小米的又咋整?
不外,細心想想得話,鄙諺里面用了米,很可能是因為發現這條鄙諺的那位家長是個糊口在南邊吃米區的人。若是這條鄙諺是海說神聊方家長發現的,那么他為了實現同樣的反差,很可能就會說“我吃的鹽比你吃的面還多”。同理,若是他家本家兒食是小米,他必定也會說“我吃的鹽比你吃的小米還多”。
所以,在這個問題下,我把“吃的米”界說當作:吃谷類食物[1]的重量,也就是包含大米、小米、大麥、小麥、玉米等等一切糧谷類和用它們建造當作的米飯、面條、米粉之類的加工品。這樣一來,結論就能對南邊海說神聊方都合用了!
脫手開算!
即即是開腦洞,我們也得遵守根基法,應該賜與我們兩位自愿介入研究的被試以今朝學術界研究獲得的最抱負最健康的看待。
在真空中的球形雞式的抱負環境下,為了果斷響應中華人平易近共和國衛生健康委員會的號召,積極介入“健康中國步履”,我們應該讓老張的鈉攝入(也就是我們要拿來反推氯化鈉 / 食鹽攝入量的那個指標),一毫克不差地嚴酷遵守 2013 版《中國居平易近炊事營養素參考攝入量》[2]傍邊對每日(平均)鈉攝入的建議量要求。
(我知道你們要說中國人現實上吃鹽超標的多,不妨,后面的彩蛋闡發有考慮了這個的,往下翻完!)
于是,按照此表,我們利用編程說話 R,成立一個鈉攝入計較的參考數據表:
#salt intake data
sodium.intake= c(170,350,700,900,1200,1400,1600,1500,1400,1400,1300)
age.low.Na= c(0, 0.5,1, 4, 7, 11, 14, 18, 50, 65, 80)
age.high.Na=c(age.low.Na[-1],NA)
salt.intake=sodium.intake*(23+35.5)/23/1000
Na.trait=data.frame(cbind(age.low.Na,age.high.Na,salt.intake,sodium.intake))
運行以上代碼,可以獲得這樣一張包含了各春秋段該吃幾多鹽的數據表:
按照這個數據表,我們可以寫一個函數計較老張截至肆意年數時的總鈉攝入量:
#function:generic aggregated food intake calculation
calc=function(obs.age,food.trait){
total.intake=numeric(length = length(obs.age))
age=numeric(length = length(obs.age))
age=obs.age
#calculate fixed aggregated result for each age strata
food.trait$strata.intake=rep(0,nrow(food.trait))
for (i in 1:nrow(food.trait)) {
food.trait$strata.intake[i]=(food.trait[i,2]-food.trait[i,1])*food.trait[i,3]*365.25
}
#calculate total intake
for (i in 1:nrow(food.trait)) {
total.intake[age>=food.trait[i,1] & age<food.trait[i,2]]=sum(food.trait$strata.intake[0:(i-1)])+(age[age>=food.trait[i,1] & age<food.trait[i,2]]-food.trait[i,1])*food.trait[i,3]*365.25
}
return(total.intake)
}
領會 R 編程的列位必然注重到了,原本這個過程是一個小學算術就能搞心猿意馬的事,但這個函數寫得很是通用(也是以看起來復雜了良多),可以基于肆意參考值表計較出肆意春秋下的肆意食物攝入量。
這么寫,是但愿后面算小張的米的時辰可以或許再次挪用,以及……一個彩蛋闡發。(哼我就是不在這說是啥!這么想知道的話就直接拉到最后!)
那么此刻,我們經由過程告訴 R 老張有 30 歲,而且挪用算鹽的參考值表,來用方才寫好的函數計較老張吃了幾多鹽。
calc(30,Na.trait)
R 的運行成果如下:
所以,老張活了 30 歲到此刻,若是一向服從黨和國度的號召,對峙健康飲食,那么這三十年來他理論上一共吃了 35729.55 g 食鹽。
對于小張吃了幾多米這個問題,相似地,在真空中的球形雞式的抱負狀況下,為了響應中華人平易近共和國衛生健康委員會的“健康中國步履”,我們也應該嚴酷按照中國營養學會的《中國居平易近炊事指南》[3]傍邊的相關要求,給我們生在新中國長在紅旗下的中國好少先隊員小張同窗以最健康的飲食放置。
因為 0 到 6 個月的嬰兒該當對峙母乳喂養,是以嚴酷遵守炊事指南的小張 0 到 6 個月時代沒有吃過米。
7 到 24 個月的嬰幼兒,按照中國營養學會的 7-24 月齡炊事浮圖,天天應該攝入 20-75g(7-12 月齡)、50-100g(13-24 月齡)的谷類。
其實照理說,這個時辰的嬰兒還只能吃碾碎的米糊,可是米碾當作糊也是米!所以仍是算作小張吃米了!
那么,因為嬰兒添加輔食是一個慢慢過渡的過程,不克不及一來就給他懟上 75g,所以我們假設小張整個 7-24 月齡階段平均下來谷類食用量線性增加,天天吃 20g 谷類和 75g 谷類的中心值,47.5g 谷類。
而 2 歲以上的小張,就可以起頭合用中國營養學會的《中國居平易近炊事指南》[3]中谷類部門的保舉量了:
同樣地,對這張內外面的攝入規模,我們都假設小張教員吃的是取平均的中心值。那么,我們可以把前面的這些攝入參考量用這樣的代碼寫進 R:
#rice intake data
crop.intake=c(0,(20+75)/2,(50+100)/2,(85+100)/2,(100+150)/2,(150+200)/2,(225+250)/2,(250+300)/2,(200+300)/2,(200+250)/2)
age.low.crop=c(0,0.5,1,2,4,7,11,14,18,65)
age.high.crop=c(age.low.crop[-1],NA)
rice.intake=crop.intake
rice.trait=data.frame(cbind(age.low.crop,age.high.crop,rice.intake,crop.intake))
運行上述代碼,可以獲得這樣一張包含各春秋階段該吃幾多米的參考數值表:
接下來,我們要像算老張的鹽那樣,用這張表的信息算小張到今天滿六歲為止一共吃了幾多谷類。
我們直接挪用前面寫好的函數,將“小張的歲數是 6 歲”和“他吃的是米”這兩個信息告訴我方才寫的那個復合的函數:
calc(6,rice.trait)
R 的運行成果如下:
于是我們知道了,截至小張 6 歲生日那天,小張吃了 194952.2g 谷類。
快要 400 斤!!!
老張可憐兮兮的七十來斤鹽攝入量,在這復雜的優勢面前,根,本,不,堪,一,擊。
于是我們可以獲得結論了:若是老張在他 30 歲那年的時辰告訴 6 歲的小張說“我吃的鹽比你吃過的米要多”,那么他是在亂說。
以上。
哈哈哈哈哈哈怎么可能才到這就以上了呢!
從小到大,我們都頻頻地被數學教員教育,不要一天到晚為了幾個特別值算出來的數字沾沾自喜,我們要的是通解!
說到通解,有沒有想起來我前面寫的那個函數?
是的,我之所以把它寫當作了面標的目的標的目的量的函數,就是因為要許可 R 用它作一個區間內的持續的函數圖像呀!
啊哈哈哈哈哈哈,噫嘻嘻嘻嘻嘻嘻嘻,噢嚯嚯嚯活活活活~~~~
讓我們用這些咒語(劃失落)號令 R 里面把父子倆的鹽攝入量和谷類攝入量畫個圖出來……
curve(calc(son.age.trans,rice.trait),xname = "son.age.trans",from=0,to=6,xlab = "son's age (father's age minus 24)",ylab = "aggregated intake",lty="solid",col="#0084ff",lwd=2)
curve(calc(dad.age+24,Na.trait),xname = "dad.age",from=0,to=6,add = T,lty="solid",lwd=2,col="#8590a6")
legend("topleft", legend = c("father's salt intake", "son's rice intake"),col = c("#8590a6", "#0084ff"), lty = 1:1, cex = 0.8)
R 收到號令之后,畫出了這樣的一張圖:
在這張圖里,藍線是小張的谷類攝入總量,灰線是老張的鹽攝入總量。橫軸是小張的春秋,同時也是老張的春秋減去 24 的數值。
是以,這張圖表現的是:自小張降生以來,老張小張父子倆吃鹽和吃谷類的龜兔競走的及時戰況!
可以看到,固然老張在 24 歲迎接小張的時辰堆集了高達兩萬七的先發優勢……
但因為小張吃谷類的速度是如斯的快……
他那點先發優勢,在小張還沒長到兩歲的時辰,就已經被追平了。
并且,因為小張天天吃谷類的速度遠快于老張吃鹽的速度,2 歲一過,老張吃的這點鹽的量,就被小張的谷類甩得從頭至尾燈都看不見了。
兒子不到兩歲就不克不及用這招了,這是啥概念?這意味著,在你兒子能聽懂你這句話啥意思之前,你就已經不克不及這么說了!
可是,家長代表老張仍然標的目的我暗示了他的不服。
“你放置我 24 歲就生小張,這也太早了點吧!如果我 42 歲老來得子,多堆集十八年優勢,怎么也能再在我兒子面前多裝幾年逼吧?”
嗯,既然你非要這么說的話,那就讓我們按照你的要求再來比一次……
R 代碼略作小修,管上:
curve(calc(son.age.trans,rice.trait),xname = "son.age.trans",from=0,to=6,xlab = "son's age (father's age minus 24)",ylab = "aggregated intake",lty="solid",col="#0084ff",lwd=2)
curve(calc(dad.age+42,Na.trait),xname = "dad.age",from=0,to=6,add = T,lty="solid",lwd=2,col="#8590a6")
legend("topleft", legend = c("father's salt intake", "son's rice intake"),col = c("#8590a6", "#0084ff"), lty = 1:1, cex = 0.8)
作圖的成果是這樣的:
抱負是夸姣的,實際是殘酷的。
老張辛辛勞苦忍著不生鵝幾,一向忍到 42 歲,18 年啦!攢了整整五萬多克的先發優勢!!!
成果!也在鵝幾兩歲半的時辰就消逝了……
這意味著,老張晚生 18 年攢起來的五萬克鹽的優勢,也只能讓他在兒子小張面前多裝不到一年大從頭至尾巴狼……
老張仍是不服氣:
“健康飲食”限制了我的吃鹽能力!!我要吃到中國人今朝的天天 10g 平均程度!!
須知,日均 10g 鹽攝入(也就是大要 3900mg 鈉攝入)的程度,已經算高的了。就今朝而言,隨便去翻本頂級醫學雜志,那上面城市有一堆研究告訴你,吃這么多鹽已經可能對健康有風險了[4]。
可是,既然老張想在兒子面前連結權勢巨子的表情孔殷,我們就違反一次受試者福利的要求,為他這么干一次吧。
我們再拋卻要“健康飲食”這個假設,直接把老張的食鹽量乘以 2.5,達到今朝文獻中報道的可能對健康有害的中國當作年人人均 10g 鹽程度:
Na.deadly.trait=data.frame(cbind(age.low.Na,age.high.Na,salt.intake))
Na.deadly.trait$salt.intake=Na.deadly.trait$salt.intake*2.7
在這種環境下,豁出命來也要裝大從頭至尾巴狼的 42 歲的老張,可以在兒子面前說他吃的鹽比他兒子吃的米更多,一向到……
……也只能一向說到兒砸上小學之前。
看到這個成果,老張仍是不對勁:
此刻的成果里面,我兒子吃什么雜七雜八的都算到谷類里邊!如果只算吃的大米,我必定能一向教育他到大學當作年!!
對于他這樣的設法,我們也不說多了,就直接把小張吃的谷類砍一半算作大米食量吧:
rice.unfair.trait=data.frame(cbind(age.low.crop,age.high.crop,rice.intake))
rice.unfair.trait$rice.intake=rice.unfair.trait$rice.intake*0.5
在這樣壯大的作弊前提下,42 歲、不要命地天天齁死本身也要多吃鹽的老張,只算兒子吃的大米,終于能再多說一段時候這句話……
……但,也只能一向說到鵝幾八歲多的時辰,也就是小學三年級的時辰。
趁便,老張,再給你補一刀:
我搜了一下,Google 告訴我說地球上的長命記實今朝是 122 歲。
固然你根基不成能活到 122 歲,但我在這給你把掛開足了,讓你以開掛吃鹽的不健康糊口體例強行活到 122 歲,這個時辰你一共吃的鹽的重量是:414022.4g。
而,你鵝幾只需要長到 10 歲,他吃的米的重量就能達到 432364.7g 了,跨越你活了一百二十二年天天齁死本身吃的鹽了:
所以,綜上所述:列位小伴侶們,只要你小學一結業,長到了可以跟你爸媽打罵的年數了!那么不要思疑!你爸媽吃過的鹽必定沒你吃過的米多了!把這篇回覆拍他們臉上吧!你們的姐姐我,此刻也不成能回頭去跟爹媽打罵了,只能寫個謎底幫你們到這了。。。
——19.07.19 15:24(GMT+1 時區,夏令時)更新——
良多不雅眾伴侶都在呼吁用粒數再算一遍。
作為一個研究營養風行病學的碩士生,我的學術練習告訴我,學術意義上,好的做法應該是本身稱一堆米和鹽,然后數粒數除下來獲得單粒重量。
可是!因為我的廚房秤沒電了(辣雞德國制造!!待機時長還不如我在中國用的 made in China 條目),并且這也只是個知乎謎底而不是寫論文,所以我決議:
Google 告訴我,鹽的密度是 2.16g/cm3。按照典型的鹽粒大要 0.5mm3見方的尺寸,一粒鹽的重量大約是 0.00027g。
而按照知友 @寬始 的手動測量,100 粒米是 2.1g,于是 1 粒米就是 0.021g。
于是,我們把兩個系數除下去,用最起頭不作弊的 24 歲老張 + 健康飲食的假設寫 R 代碼如下:
curve(calc(son.age.trans,rice.trait)/0.021,xname = "son.age.trans",from=0,to=2,add=T,xlab = "son's age (father's age minus 24)",ylab = "granules",lty="solid",col="#0084ff",lwd=2)
curve(calc(dad.age+24,Na.trait)/wt.salt.granule,xname = "dad.age",from=0,to=2,add = F,xlab = "son's age (father's age minus 24)",ylab = "granules",lty="solid",lwd=2,col="#8590a6")
legend("topleft", legend = c("father's salt granules", "son's rice granules"),col = c("#8590a6", "#0084ff"), lty = 1:1, cex = 0.8)
獲得新的圖:
為啥這圖里沒有代表小孩米攝入量的藍線了呢?
因為它太矮了,比灰線的最小值還低了一個數目級,已經低得看不見了。。。
所以,論吃鹽的顆粒數,老張的鹽顆粒數確實一向高于小張的米顆粒數。
我仿佛已經聽到了老張的歡呼聲。
但且慢,我們小伴侶陣營還沒有輸!!!
當 34 歲的老張跟 10 歲的鵝幾小張說:“看見沒,按照顆粒數,我這輩子吃過的鹽都比你吃過的米還多”的時辰,其實小張也可以說:“按照顆粒數的話,我活到十歲吃的鹽也比你活了三十四年吃過的米還多啊!你這三十四年又是怎么活的??”
不是我瞎編,有 R 的函數圖像作證。假設仍然不變,只是吃鹽的換當作小張,吃米的換當作老張:
curve(calc(son.age,Na.deadly.trait)/wt.salt.granule,xname = "son.age",from=0,to=15,xlab = "son's age (father's age minus 24)",ylab = "granule num.",lty="solid",col="#0084ff",lwd=2)
curve(calc(dad.age+24,rice.unfair.trait)/0.021,xname = "dad.age",from=0,to=15,add = T,lty="solid",lwd=2,col="#8590a6")
legend("topleft", legend = c("father's rice granule", "son's salt granule"),col = c("#8590a6", "#0084ff"), lty = 1:1, cex = 0.8)
可以看到,小張的吃鹽量在 8 歲擺布的時辰就跨越了老張!
這張圖告訴我們,按照老張的“我吃的鹽比你吃的米顆粒多,我就比你牛逼”的理論,這證實小張從 8 歲之后就比老張牛逼了!所以,對更新的總結:靠“鹽”和“米”的比力,就算是算顆粒數,老張仍是說不外小張!小伴侶勝利!!!!!!!!!
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!