統計解析R たぶんpart3くらい
企業が求めるエンジニア言語ランキング 2位「R」 https://www.itmedia.co.jp/news/spv/2306/20/news183.html 3位以下を大きく引き離しててすごいけど… Rユーザの少なさを反映しただけな気もする >求人数のトップ3は1位「C言語」(39万2559件)、2位「R言語」(30万3759件)、3位「Go」(8万3922件)だった。 >このランキングは、SalesNow DBに1月1日から5月31日までに載った114万5294件の有効求人から算出した。 5ヶ月で30万件もあったらしい Pythonが4万件弱なところを見るとデータ解析用言語を列記したわけじゃなく純粋にRの需要があったみたいだ 不思議 結局企業で欲しいのは統計処理だから、統計処理ならRだろうっていう短絡的な 求人が多かったってことじゃない? いくつか求人サイト見てみたけどRのみなんて求人はほぼ皆無でほとんどがPythonとの併記だった これ集計ミスかもね 同じ会社の別の期間のランキング見るとRは10位以内に入ってないし 業∞!!!! 字∞!!!!! 苗∞!!!!!! 米∞!!!!!!! 畑∞!!!!!!!! 灰∞!!!!!!!!! 糞∞!!!!!!!!!! 机∞!!!!!!!!!!! 結構何年か前にRは結構古臭いし、言語仕様もわかりづらいし衰退するのでは、と書いているのを 読んだことがあるけど、逆に今だと他の商用統計パッケージが廃れる勢いなのにRって立場が盤石な 気がする なんで? AIブームでPythonに全部もってかれると思ったけどそうでもなかったね 先発優位で統計屋や大学教授が昔からRユーザーってのもあるのかも? ユーザー視点からだとtidyverseの存在が大きいと思う 505のように地味に手間がかかりそうな処理が関数ひとつでひょいと処理できるとかすごい >>529 今でもC/C++が盤石なのと同じ理由な気がする とくに大学の研究室とかは、同じような機能のプログラムを別言語に コンバートする作業は雑用でしかないので誰も積極的にはやらない。 RでできるのならこのままRでいいじゃん、もしくはフォートランでもw みたいな感じ やったところでなにか新しい知見が得られるわけもなし。 昔の医学分野の統計処理はSASがデフォだったけど COVID-19で疫学の人(西浦先生とか)がRガンガン使ってるの見て疫学以外でもRが広がってる 学会行くとggplotで書いたグラフいっぱい見る ggplot2のデフォルトテーマは微妙なので変えているけどいつも悩む ggthemesをもとにそこから装飾することが多い ついにExcelでPython使えるようになるらしい マイクロソフトはRのベンダー買収してMRANとかやってたのに時代の流れかな Pythonでexcel弄るのは 15年以上前から出来てるのを今更 excel上のpythonで実行する方が遅い可能性まである PythonからExcelをいじることとExcelでPythonが動くことは全く違う pythonは何故かPCでJupyter notebookが不具合で使えなくてな 導入時点でコケるとその言語をやる気失くす…Rはその点、導入が簡単で良かった Excelも最近はTidydata志向で、パワークエリやパワーピボットで再現性のある加工や分析が できるようになってきているけど、使い始めはなかなかいいかな、と思ったがちょっと凝ると やっぱり複雑化してメンテできないVBAみたいになっちゃうなw ま、RやPythonだからメンテ性がいいというわけでもない気はするけどw Excelマクロ禁止してきた企業はPython機能も禁止しそう Rを社員が使うケースなんてのはもうレア度SSRなんだろうね Rで学ぶなんとか分析とかいう本いっぱい出ているし、結構個人でやる気のあるやつは覚えるんじゃね? R人口増えている印象。 昨日の統数研のワークショップ見て、大学や企業によってはライブラリのインストールに制限あったりでデフォルトで解析できるのがRが多言語に置き換わらない理由の一つなのかもなと思った 今後も「選択と集中」続けるどころか懸賞金型推進するようだから商用に金払うのも辛くなるとこも出てきそうね 数が増えてることと数が少ないこととは違う これ混同する人は結構多い 自分は今の部署にいる間だけは統計解析するけど異動したらもう解析なんてしないからRのモチベは低いな 人事の巡り合わせでいつかまた今の部署に戻るかもしれないけど 前回のおーまんちょーでは一部のコードで途中から行番号が表示されるようになっていた。 多分、JSFiddleのエディターで`tidy`というボタンを押してしまったからだと思う。 実は、`prettydoc::html_pretty`で行番号が表示されないのを直したいと思っていた。 しかし、どこから手を付けたら良いかわからなかった。それが、ハプニングのおかげで 手の入れ場所がわかった。多分、HTMLとしては不整合な状況になっているが、 意図した通りに表示されるようになった。 [ありがとう、おーまんちょー](https://jsfiddle.net/105nohbq/show ) group_by()はmap()と組み合わせて使えないんだね 一般的な意味では、そんなことないと思うよ。 状況によってはgroup_byとmapを組み合わせると上手く行くことがあると思う。 ぐるぐる図のくだりでグダグダなところがあったので、 [修正した](https://jsfiddle.net/6z7u3d09/show )。 アップした後にタイポを見つけたが、覆水盆に返らず。 多変数の時系列データをクラスタリングするpackageをご存知であれば教えていただけますか…? 知らない。 人がいれば、意味のない返事はしない方が良いかもしれないが、過疎だからね。 あなたは地球上で何日過ごしてますか? という問いに答えるRのスクリプト 干支と誕生日(月日)から今日が生まれて何日めか計算 eto=("ひつじ") tag="10-17" Eto=c("子(ね=ねずみ)","丑(うし)","寅(とら)","卯(う=うさぎ)","辰(たつ=龍(りゅう))","巳(み=へび)","午(うま)","未(ひつじ)","申(さる)","酉(とり=にわとり)","戌(いぬ)","亥(い=いのしし)") # Eto i=grep(eto,Eto) this_year=as.numeric(strsplit(as.character(Sys.Date()),'-')[[1]][1]) j=this_year%%12 - 3 age=12*(0:9) + j-i age=age[18<=age][1:5] age AD=paste0(this_year-age,"-",tag) days=\(x) as.numeric(Sys.Date() - as.Date(x)) rbind(age,days=sapply(AD,days)) あってますか? マジで聞いているんなら、テストツールの使い方を覚えた方が建設的だと思う。 個人的には、Haskellからの流れで [quickcheck](https://github.com/RevolutionAnalytics/quickcheck ) しか経験したことがないが、他にもあると思う。 コードが合っているかどうかわからないが、パット見問題なさそうに見える。 問題があったとしても、デバッグで十分対応できるように見える。 [リーナスの法則](https://en.wikipedia.org/wiki/Linus%27s_law ): あたなが十分な暇人ならばバグはいずれ塞がれる。 ChatGPTはなんていい奴なんだろう。 クソ野郎: I'd like to test the following code: ``` r 拝借 ``` * The code is written in the programming language R. * "子", "丑", ..., are the Chinese / Japanese zodiac called Eto in Japanese. This code have to calculate the age for given birth date in Eto, e.g. `eto = "ひつじ", tag = date = "10-17"`. Are there any advice to test this code? ChatGPT: Certainly! To test the provided R code, you can follow these steps: 1. Understand the Code: * Make sure you understand the logic of the code and how it calculates age based on the Eto and birthdate information. 1. Run the Code: * Copy and paste the code into an R script or R console. * Ensure that there are no syntax errors or issues when running the code. 1. Test Cases: * Define several test cases with different combinations of Eto, birthdate (tag), and current date. * For example, you can use different values for eto and tag, and verify the calculated age against your expectations. 1. Expected Results: * Manually calculate the expected age for each test case based on the provided Eto information and current date. * Compare the manually calculated age with the age calculated by the R code. 1. Edge Cases: * Test the code with edge cases, such as birthdates close to the boundary of age ranges, to ensure the code handles them correctly. 出禁になった。書けるかな? てなわけで、ちゃっとじーぴーてーの残りの部分は割愛する。 意地悪クソ野郎と親切じーぴーてーにも共通することろがあって、 最後の締めはやっぱりリーナスの法則になる。言い方が全然違うけど。 親切じーぴーてーが例に挙げたテストコードがテストの基本形になると思う。 くいっくちぇっくのようなテストツールでは、テストケースをランダムに発生させるが、 そうしたテストツールが使えない場合も多々ある。テストツールが使えない場合は、 親切じーぴーてーが示したようなベタな方法で行くしかない。 >>566 書き込めるかどうか判らぬままに 黙々とその低能感溢れる文章を書いている姿を想像すると泣けてくる 書き込めてよかったな 親切じーぴーてーとの会話を見返すと、関数を細分化して、(ナウ、干支、月日) という三つ組を引数とする関数を作るのもありかな?という気がしてきた。 このように関数を細分化すると、テストケースが作りやすくなる。 クラスタリングとか次元削減に関する教科書的な本ってありますか? かけるかな 統計の人でも機械学習の人でもないので、返事を書くのは心苦しいものがあるが、 過疎なのでしょうがない。統計処理と機械学習の区別がつかないぐらいの素人だよ。 ありきたりだけど: * [朱鷺の杜Wiki](http://ibisforest.org/index.php?FrontPage ) グーグルとアヒルで検索してみたけど、この検索については英語の方が情報が取りやすいと思った。 英語でも日本語でも本屋の広告が多くなるが、英語の方が俺が推薦図書はこれだ! みたいなのが多いような気がした。検索で見つけた本だけど非売品と商品の両方がある。 * [Modern Dimension Reduction](https://arxiv.org/abs/2103.06885 ) * [Modern Dimension Reduction](https://www.cambridge.org/core/elements/abs/modern-dimension-reduction/D1506D1D7D51CC4EF375E4633D54F377 ) このようなケースでは立ち読みしてから買うこともできる。時々、非売品と商品の 両方が用意されていることがあるので、注意した方が良いかもしれない。 殊、次元削減で言えば、線形代数みないなもので、ありとあらゆる場所で使われるので、 俺の次元削減にジャストフィットするものを探すのは難しいかもしれない。 ちなみに、専門的には、学校の教室で研究会を開くのが統計で、リゾート地で 国際会議を開くのが機械学習らしい。 read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる