あっても良さそうなんですが,需要ないの?
過去スレのうちのひとつ
統計解析R
http://toro.2ch.net/test/read.cgi/tech/1285597198/
統計解析R たぶんpart3くらい
2012/06/22(金) 13:33:12.40
172デフォルトの名無しさん
2018/02/11(日) 13:02:45.83ID:aKIhhURz173デフォルトの名無しさん
2018/02/11(日) 13:37:06.23ID:jK1XmpcF そりゃ当然の流れやな。
174デフォルトの名無しさん
2018/02/11(日) 17:47:44.11ID:Pwi4tm3/175デフォルトの名無しさん
2018/02/14(水) 19:42:52.67ID:SwEfqZxS データをこねくり回してグラフ書くにはexcelより融通が利いてしかも早い
ような気がする
ような気がする
176デフォルトの名無しさん
2018/02/14(水) 22:01:38.62ID:NrdtujHN177デフォルトの名無しさん
2018/02/14(水) 23:37:10.00ID:2fmZYg83 グラフはggplot2が強力だよね
facetとかはExcelだと大変
デフォルトのテーマが少し古くさいけど
facetとかはExcelだと大変
デフォルトのテーマが少し古くさいけど
178デフォルトの名無しさん
2018/02/14(水) 23:51:00.08ID:ePIYSj2R R使い出してから色々と試すのが簡単なんで面白いわ
179デフォルトの名無しさん
2018/02/15(木) 01:24:08.19ID:Udxebxf+ 機械学習とかビッグデータとかPythonと何かの組み合わせに圧倒されててRとかどマイナーになってしもうた
180デフォルトの名無しさん
2018/02/15(木) 06:34:31.40ID:/0tLiEBT 適材適所でしょうね。
元々設計自体がデカいメモリーがあったあらと言う前提で
設計者にとっては作りが楽だけど、大容量で使う利用者が
対処しないといけないという安易なつくりなんですよね。
その代り少量データを対象とした統計手法研究などには
楽なんで。
元々設計自体がデカいメモリーがあったあらと言う前提で
設計者にとっては作りが楽だけど、大容量で使う利用者が
対処しないといけないという安易なつくりなんですよね。
その代り少量データを対象とした統計手法研究などには
楽なんで。
181デフォルトの名無しさん
2018/02/15(木) 12:27:10.58ID:wFR1obku Rにはなんといってもtidyverseがあるからなあ
dplyrとかpurrrとか簡単で強力だから解析やるならR
まあ適材適所で、ベイズならstanだし、機械学習や文字ならPythonが優勢、事務処理ならExcelVBAってとこ
dplyrとかpurrrとか簡単で強力だから解析やるならR
まあ適材適所で、ベイズならstanだし、機械学習や文字ならPythonが優勢、事務処理ならExcelVBAってとこ
182デフォルトの名無しさん
2018/02/19(月) 19:54:51.25ID:OYvsmEoK183デフォルトの名無しさん
2018/02/22(木) 18:00:01.85ID:+IAzRovj 何かいいエディタないかな
Rに最初からついてるエディタ使ってるけど不便
Rに最初からついてるエディタ使ってるけど不便
184デフォルトの名無しさん
2018/02/22(木) 19:41:30.41ID:wBIv7NWL RStudioのエディタじゃだめかい?
185デフォルトの名無しさん
2018/02/23(金) 17:28:14.29ID:0tA6Y4q1 >>182
紫布さんかわいい
紫布さんかわいい
186デフォルトの名無しさん
2018/02/23(金) 20:13:41.57ID:1VhTlckH187デフォルトの名無しさん
2018/02/23(金) 21:18:49.28ID:L8hk+ob/ RStudioのエディタは入力補完機能が凄い便利。パッケージの関数だけでなく自分で作った変数や関数も補完してくれる。
関数のヘルプもキー一つで表示できるし、ノートブック機能を使えばエディタ内で実行結果を表示してくれる。
その他、パッケージ管理とかプロジェクト管理とか便利だと思う。
関数のヘルプもキー一つで表示できるし、ノートブック機能を使えばエディタ内で実行結果を表示してくれる。
その他、パッケージ管理とかプロジェクト管理とか便利だと思う。
188デフォルトの名無しさん
2018/02/25(日) 16:50:33.30ID:3M2goUSG 具体的な話を聞くと便利そうな気がしてくる
やっぱりRStudioがベストなのかもね
しばらく使ってみようかな、ありがとう
やっぱりRStudioがベストなのかもね
しばらく使ってみようかな、ありがとう
189デフォルトの名無しさん
2018/02/26(月) 12:53:30.71ID:XW8rTQGI 補完機能なしでプログラミングするのって、武器を持たずに福岡の街を歩くようなものだよ。
190デフォルトの名無しさん
2018/02/26(月) 18:57:28.32ID:SIjqaO4S こえぇぇぇ
191デフォルトの名無しさん
2018/03/03(土) 09:23:09.96ID:lZ+hoanu 初心者には
Rコマンダーは便利だが
基本が理解するのが課題
Rコマンダーは便利だが
基本が理解するのが課題
192デフォルトの名無しさん
2018/03/14(水) 02:41:29.02ID:4vL4k9pB R version 3.4.3 でR consoleを起動した直後に乱数を発生させると
set.seedで指定していないのに前回起動時と同じ乱数が出てしまいます。たとえば
runif(5)だと
[1] 0.3108217 0.4556531 0.2194121 0.6496887 0.2677915
が毎回出てきます。
そういのものなのでしょうか?
set.seedで指定していないのに前回起動時と同じ乱数が出てしまいます。たとえば
runif(5)だと
[1] 0.3108217 0.4556531 0.2194121 0.6496887 0.2677915
が毎回出てきます。
そういのものなのでしょうか?
193デフォルトの名無しさん
2018/03/14(水) 02:55:44.49ID:2RQsDUO9194デフォルトの名無しさん
2018/03/14(水) 13:07:49.78ID:4vL4k9pB >>193 ありがとうございます。そうなんですか。自分の環境はwin7sp1 64bit で
Rは5年前にインストールしその後何度か上書きインストールしたまに使っててたんですが
何らかの理由でRの中の設定が変更されたか破壊されてるんですかね
原因がわかったらまた書きます。
Rは5年前にインストールしその後何度か上書きインストールしたまに使っててたんですが
何らかの理由でRの中の設定が変更されたか破壊されてるんですかね
原因がわかったらまた書きます。
195デフォルトの名無しさん
2018/03/14(水) 14:55:10.28ID:wgcmBZf4196デフォルトの名無しさん
2018/03/14(水) 16:28:52.83ID:4vL4k9pB197デフォルトの名無しさん
2018/03/14(水) 17:15:01.96ID:4vL4k9pB198デフォルトの名無しさん
2018/03/14(水) 17:57:53.40ID:wgcmBZf4 .Rhistoryがおかしくなっちゃったのかな?まあ、原因が分かってなにより?
199デフォルトの名無しさん
2018/03/14(水) 18:20:45.09ID:4vL4k9pB >>192です。
原因がわかりました。
[Previously saved workspace restored]と出てることに今気づきまして
以前マイドキュメントに保存していたワークスペースが自動で読み込まれるためでした。
でもなぜか、"test.RData"の名前で保存したものは自動で読み込まれず
".RData"のように拡張子のみのファイル名が存在するとそれが読み込まれるようです。
新規インストールのRではがあっても読み込まれないのですが、
試しにC:\Program Files\R\R-3.4.3\bin\x64のフォルダ内にコピペしたら起きるようなので
変な名前やいけない場所には保存しては駄目ってことですね
ありがとうございました。
原因がわかりました。
[Previously saved workspace restored]と出てることに今気づきまして
以前マイドキュメントに保存していたワークスペースが自動で読み込まれるためでした。
でもなぜか、"test.RData"の名前で保存したものは自動で読み込まれず
".RData"のように拡張子のみのファイル名が存在するとそれが読み込まれるようです。
新規インストールのRではがあっても読み込まれないのですが、
試しにC:\Program Files\R\R-3.4.3\bin\x64のフォルダ内にコピペしたら起きるようなので
変な名前やいけない場所には保存しては駄目ってことですね
ありがとうございました。
200デフォルトの名無しさん
2018/03/14(水) 18:21:46.77ID:2RQsDUO9 .Rhistoryでset.seed()使ってるってことなのか
201デフォルトの名無しさん
2018/03/14(水) 18:55:36.14ID:4vL4k9pB >>200
うちのマシーンの環境がめちゃくちゃの可能性もありますが、
新規インストール直後のコンソールで保存したワークスペースをそれで読み込んでも
同じ乱数が再現されるので
保存した時のその後の乱数生成パターンも復元されると解釈しちゃいました。
うちのマシーンの環境がめちゃくちゃの可能性もありますが、
新規インストール直後のコンソールで保存したワークスペースをそれで読み込んでも
同じ乱数が再現されるので
保存した時のその後の乱数生成パターンも復元されると解釈しちゃいました。
202デフォルトの名無しさん
2018/03/14(水) 18:58:12.34ID:QlFm0BKE はぇ〜
そういや最近出たブルーバックスのRの本が売れてるみたいだね
そういや最近出たブルーバックスのRの本が売れてるみたいだね
203デフォルトの名無しさん
2018/03/14(水) 19:38:47.73ID:wgcmBZf4204デフォルトの名無しさん
2018/03/14(水) 19:42:24.61ID:wgcmBZf4 この記事だ
ttps://lab-on.jp/article/23
ttps://lab-on.jp/article/23
205デフォルトの名無しさん
2018/03/20(火) 10:02:37.61ID:5CLL2roU その本を買ってPCで真似してます
Rコマンダーのお陰で敷居は下がりました
Rの壁は
出力データの読み方、意味するところの理解
質のよいデータはあるので頑張る
Rコマンダーのお陰で敷居は下がりました
Rの壁は
出力データの読み方、意味するところの理解
質のよいデータはあるので頑張る
206デフォルトの名無しさん
2018/03/20(火) 11:50:41.25ID:rZb/Vl03207デフォルトの名無しさん
2018/03/20(火) 12:11:32.56ID:QFcU3Atb 共立出版のRで学ぶデータサイエンスシリーズの15巻とか16巻は
ずっと欠けてるけどいつ出るのですか?
ずっと欠けてるけどいつ出るのですか?
208デフォルトの名無しさん
2018/03/21(水) 13:46:02.45ID:lT80+4ah >>204
jupyter notebook と pandas 最強だな
jupyter notebook と pandas 最強だな
209デフォルトの名無しさん
2018/03/27(火) 23:23:26.50ID:88y58jW2 エクセルソルバーのGRGみたいな非線形最適化制約有りをやりたいんだけど、Rでもできる?
210デフォルトの名無しさん
2018/03/29(木) 21:47:07.36ID:QFtrDbDX >>205です
読み終えた、とても勉強になりました
困難さはRではなく統計学でしたが
これは実践するしかないですね
気になったとこは頭に入れておきます
P112の3次元散布図ですが
Microsoft R Open version3.4(64bit)では
作図が表示されませんでした
読み終えた、とても勉強になりました
困難さはRではなく統計学でしたが
これは実践するしかないですね
気になったとこは頭に入れておきます
P112の3次元散布図ですが
Microsoft R Open version3.4(64bit)では
作図が表示されませんでした
211デフォルトの名無しさん
2018/03/30(金) 15:16:43.56ID:zQBQo8b3 おめ
212デフォルトの名無しさん
2018/05/17(木) 10:20:38.86ID:X8D7/hwr Rをかじっても
やはり、考え方がわかってないとだめだね
ということで、
「入門はじめての分散分析と多重比較」を読んでる
やはり、考え方がわかってないとだめだね
ということで、
「入門はじめての分散分析と多重比較」を読んでる
213デフォルトの名無しさん
2018/05/17(木) 17:50:52.94ID:4WSqYyn0 Rだけとりあえず使えても、統計学がわかるわけじゃないからねw
しかし慣れるとデータ扱うだけでも便利だなぁ。
でもちょっと不安なのが、変数が隠せないから自分で書いた変数とパッケージ内の関数が
偶然だぶったりしないもんなのかな・・・ってところ。
どうなん?
しかし慣れるとデータ扱うだけでも便利だなぁ。
でもちょっと不安なのが、変数が隠せないから自分で書いた変数とパッケージ内の関数が
偶然だぶったりしないもんなのかな・・・ってところ。
どうなん?
214デフォルトの名無しさん
2018/05/17(木) 18:14:17.63ID:0I05aDJU そのあたりは「名前空間」で調べて見るといいよ
215デフォルトの名無しさん
2018/05/17(木) 21:17:22.96ID:4WSqYyn0 ふむ。
ありがとう。
ありがとう。
216デフォルトの名無しさん
2018/05/19(土) 07:34:08.00ID:KMcR+K4m ダブっても問題無いんじゃない?
パッケージの変数を上書きしてしまう理由として考えられるのは
1. 知らずに上書きしてしまう 2. 知っててあえて上書きする
だけど、どちらの場合も元の変数を使わないだけの気がする
安心するには実際にパッケージを壊してみるのも手かも
理由は異なるけど変数スコープの問題でwithを使ってる
my = list (`%>%` = purrr::`%>%`, json = jsonlite::toJSON, id = function (x, ...) x);
my = with (my, {
id (1 : 10) %>% json %>% print; # my環境の変数を使う
rocal = 123; rocal %>% print; # rocalは外から見えない
my $ environment = function (...) 'hello world'; # 勧められないけど無問題
my $ try = tryCatch; # あえて上書き
my;
});
with (my, {
try (typeof (rocal), error = function (ex) 'rocal is local') %>% print;
environment (try) %>% print; # hello world
base::environment (try) %>% print; # my$tryの環境はbase
base::environment (try) = base::environment (); # my$tryの環境をmyに変更
tryCatch (try (stop ('try'), error = function (ex) 'catch') %>% print
, error = id) %>% print; # my$tryが壊れた my$environmentが悪さ
base::try (stop ('try')) %>% print; # base::tryは無傷
base::environment (try) = parent.env (base::environment ()); # my$tryの修理
try (stop ('try'), error = function (ex) 'catch') %>% print; # my$tryの復活
});
てな感じ
多くのサンプルでwithにデータフレームを代入してるけどリストでもオケー
小さな計算をいくつもする時にお手軽だと思う
パッケージの変数を上書きしてしまう理由として考えられるのは
1. 知らずに上書きしてしまう 2. 知っててあえて上書きする
だけど、どちらの場合も元の変数を使わないだけの気がする
安心するには実際にパッケージを壊してみるのも手かも
理由は異なるけど変数スコープの問題でwithを使ってる
my = list (`%>%` = purrr::`%>%`, json = jsonlite::toJSON, id = function (x, ...) x);
my = with (my, {
id (1 : 10) %>% json %>% print; # my環境の変数を使う
rocal = 123; rocal %>% print; # rocalは外から見えない
my $ environment = function (...) 'hello world'; # 勧められないけど無問題
my $ try = tryCatch; # あえて上書き
my;
});
with (my, {
try (typeof (rocal), error = function (ex) 'rocal is local') %>% print;
environment (try) %>% print; # hello world
base::environment (try) %>% print; # my$tryの環境はbase
base::environment (try) = base::environment (); # my$tryの環境をmyに変更
tryCatch (try (stop ('try'), error = function (ex) 'catch') %>% print
, error = id) %>% print; # my$tryが壊れた my$environmentが悪さ
base::try (stop ('try')) %>% print; # base::tryは無傷
base::environment (try) = parent.env (base::environment ()); # my$tryの修理
try (stop ('try'), error = function (ex) 'catch') %>% print; # my$tryの復活
});
てな感じ
多くのサンプルでwithにデータフレームを代入してるけどリストでもオケー
小さな計算をいくつもする時にお手軽だと思う
217デフォルトの名無しさん
2018/05/19(土) 09:59:21.70ID:tLdbKYkS 今から学ぶならJuliaにせい
Rよりずっと速い、書きやすい
Rよりずっと速い、書きやすい
218デフォルトの名無しさん
2018/05/19(土) 11:12:53.58ID:ijkQlh0o うむ
219デフォルトの名無しさん
2018/05/19(土) 13:40:20.91ID:0pyI5MQK まあ、rocalとか書いちゃうのが
220デフォルトの名無しさん
2018/05/23(水) 19:12:36.38ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
6O1Q6
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
6O1Q6
221デフォルトの名無しさん
2018/05/24(木) 10:36:25.46ID:cPlRxlDn 6O1Q6
222デフォルトの名無しさん
2018/06/03(日) 23:20:33.44ID:fG0CD0s1 >>136 あるよ
``` {python}
def joking (a, b):
while True: a, b = b, a + b; yield b;
```
``` {r}
with (new.env (), {
obj = reticulate::py $ joking (0, 1);
sapply (1 : 10, function (...) reticulate::iter_next (obj));
});
```
もっとマシというより楽しい解答はこれかな 読んでないけど
* [Python-like generators in R ・ GitHub](https://gist.github.com/klmr/d10623a0b4c7e1e9a6523eebee4913d1)
で、最終的な答えは「ない」だと思う
技術的な問題というより文化的なところに理由がある気がする
pythonにパイプ演算子がないのと同じ理由
実用的なyieldを実装しようとすると文法の修正が必要になると思う
言語仕様の複雑化という投資が必要になるので
それなりの需要が見込めないと導入には踏み切れないかもね
フィボナッチ数列ではyieldの有り難みは見えないけど
自動微分とは比較にならないほど汎用性の高い有り難い機能だと思う
だけど自動微分と似ているところがあって
どんな複雑なニューラルネットも泣けば自前で微分できるし
どんな複雑な関数のyieldも泣けば自前でイテレーターを作れる
``` {python}
def joking (a, b):
while True: a, b = b, a + b; yield b;
```
``` {r}
with (new.env (), {
obj = reticulate::py $ joking (0, 1);
sapply (1 : 10, function (...) reticulate::iter_next (obj));
});
```
もっとマシというより楽しい解答はこれかな 読んでないけど
* [Python-like generators in R ・ GitHub](https://gist.github.com/klmr/d10623a0b4c7e1e9a6523eebee4913d1)
で、最終的な答えは「ない」だと思う
技術的な問題というより文化的なところに理由がある気がする
pythonにパイプ演算子がないのと同じ理由
実用的なyieldを実装しようとすると文法の修正が必要になると思う
言語仕様の複雑化という投資が必要になるので
それなりの需要が見込めないと導入には踏み切れないかもね
フィボナッチ数列ではyieldの有り難みは見えないけど
自動微分とは比較にならないほど汎用性の高い有り難い機能だと思う
だけど自動微分と似ているところがあって
どんな複雑なニューラルネットも泣けば自前で微分できるし
どんな複雑な関数のyieldも泣けば自前でイテレーターを作れる
223デフォルトの名無しさん
2018/07/04(水) 22:35:50.56ID:gFgZc5FG Y4M
224デフォルトの名無しさん
2018/07/05(木) 12:07:37.96ID:IcGtf/nv fib = lambda n: int(((1+sqrt(5))/2)**n/sqrt(5) + .5)
225デフォルトの名無しさん
2018/07/05(木) 13:10:49.78ID:dgq1boj0226デフォルトの名無しさん
2018/07/05(木) 13:11:04.45ID:dgq1boj0227デフォルトの名無しさん
2018/07/05(木) 19:49:27.60ID:rQMQmwLl Juliaのこと?
本屋では単行本は1冊しか見かけないな。
あと、「データサイエンティスト養成読本 R活用編」というムック本の中に若干の記事があるくらいかな。
他にある?
たぶん書籍が少ないのと、蓄積されたノウハウとか他人の作った関数とか少ないから
まだみんな食いつかないんじゃないかな。
自分もなんか良さげではあると思いつつRで済ましてるしw
本屋では単行本は1冊しか見かけないな。
あと、「データサイエンティスト養成読本 R活用編」というムック本の中に若干の記事があるくらいかな。
他にある?
たぶん書籍が少ないのと、蓄積されたノウハウとか他人の作った関数とか少ないから
まだみんな食いつかないんじゃないかな。
自分もなんか良さげではあると思いつつRで済ましてるしw
228デフォルトの名無しさん
2018/08/19(日) 22:19:39.16ID:XMFPI6Qk229デフォルトの名無しさん
2018/08/20(月) 13:18:00.41ID:h5lNG6L+ JuliaはFORTRANっぽくて嫌い
230デフォルトの名無しさん
2018/10/13(土) 00:57:54.92ID:nYuf7UeR 盛り上がっていたので貼っとく
読んでないけど
Faster R with FastR | Hacker News
https://news.ycombinator.com/item?id=18193557
FastRを使う人は少ないかもしれないけど
中のおしゃべりは楽しめるかも
読んでないけど
Faster R with FastR | Hacker News
https://news.ycombinator.com/item?id=18193557
FastRを使う人は少ないかもしれないけど
中のおしゃべりは楽しめるかも
231デフォルトの名無しさん
2018/10/21(日) 20:53:08.73ID:Krx7NB8L 個人的にはRotaさんの名前がここで出てきたことに驚き
こういうところがHNの面白さかも
Deriving the Normal Distribution | Hacker News
https://news.ycombinator.com/item?id=18261892
正規分布からの連想で
コメントにあるインタラクティブなデモに感心
A tutorial on Principal Component Analysis | Hacker News
https://news.ycombinator.com/item?id=18256048
ブログの最後に書いてあるけど
現状はインタラクティブを実現するには
鬼プログラミングが必要なのかもしれない
インタラクティブからの連想で
Distill ― Latest articles about machine learning
https://distill.pub/
こういうところがHNの面白さかも
Deriving the Normal Distribution | Hacker News
https://news.ycombinator.com/item?id=18261892
正規分布からの連想で
コメントにあるインタラクティブなデモに感心
A tutorial on Principal Component Analysis | Hacker News
https://news.ycombinator.com/item?id=18256048
ブログの最後に書いてあるけど
現状はインタラクティブを実現するには
鬼プログラミングが必要なのかもしれない
インタラクティブからの連想で
Distill ― Latest articles about machine learning
https://distill.pub/
232デフォルトの名無しさん
2018/10/21(日) 21:25:09.40ID:Kw4h2adz ggmap使えなくなってた
Googleにクレカ登録が必須なのか
Googleにクレカ登録が必須なのか
233デフォルトの名無しさん
2018/10/21(日) 21:51:09.06ID:Krx7NB8L ggmapってなんだか知らないけどこの辺の話かな?
Change in Google Geocoding API billing Issue #227 dkahle/ggmap GitHub
https://github.com/dkahle/ggmap/issues/227
お買い上げありがとう御座います
Change in Google Geocoding API billing Issue #227 dkahle/ggmap GitHub
https://github.com/dkahle/ggmap/issues/227
お買い上げありがとう御座います
234デフォルトの名無しさん
2018/11/17(土) 16:28:05.14ID:2G9ByxL2 >>39
20年後になりそう
20年後になりそう
235デフォルトの名無しさん
2018/11/18(日) 12:04:28.90ID:uaqKqGAI もう5年経ったか
機械学習データマイニングω流行ってるのに1/4スレも消費していない
次の3/4スレは15年じゃまだ余るだろう
機械学習データマイニングω流行ってるのに1/4スレも消費していない
次の3/4スレは15年じゃまだ余るだろう
236デフォルトの名無しさん
2018/11/23(金) 11:50:10.19ID:9Kaby9nf 数学板のRスレのほうが賑わってるのがRらしい
237デフォルトの名無しさん
2018/11/23(金) 12:00:16.91ID:e4GZHgy/ 過疎ってるな
238デフォルトの名無しさん
2018/11/23(金) 12:05:27.19ID:Pgxq5bWC 数学板って基地外が多いので嫌いw
239デフォルトの名無しさん
2018/11/23(金) 12:29:41.52ID:e4GZHgy/ 基地外かどうかは知らんがほぼ全員コミュ障
240デフォルトの名無しさん
2018/11/23(金) 12:44:03.46ID:Pgxq5bWC そしてリアルの理学部数学科の雰囲気に非常によく似ている。
241デフォルトの名無しさん
2018/11/23(金) 19:08:15.85ID:HdYQqxXc Rのマニアルを見たら関数のパラメータがやから多くてびびった
242デフォルトの名無しさん
2018/12/02(日) 00:14:30.40ID:F+Dh0l9r Rは難しいね
=と<-が違うとか、forループ使うなとか
=と<-が違うとか、forループ使うなとか
243デフォルトの名無しさん
2018/12/02(日) 00:17:55.74ID:h7LAbm0n Rは簡単やろ?forは禁止されてなく使っても構わない。
けどベクトル演算に持ち込んだほうが圧倒的に速い処理があるってだけの話。
けどベクトル演算に持ち込んだほうが圧倒的に速い処理があるってだけの話。
244デフォルトの名無しさん
2018/12/02(日) 00:57:29.97ID:F+Dh0l9r プログラミングの基礎がないから、データフレームをnestしてmutateからのmap_dblという教科書的な処理すら少したつと忘れてしまうわ
245デフォルトの名無しさん
2018/12/02(日) 02:04:11.19ID:FcEDVbnE それは難しいやつや
246デフォルトの名無しさん
2018/12/03(月) 00:40:44.81ID:v0ZTRD/a コンパイラー以外では余り語られないかもしれないパーサーの話
The new pqR parser, and R’s “else” problem
https://www.r-bloggers.com/the-new-pqr-parser-and-rs-else-problem/
elseはC言語もしくはもっと古い言語の理論的バグと言ってもいいかも
Dangling else - Wikipedia
https://en.wikipedia.org/wiki/Dangling_else
yacc/bisonの問題にエラーメッセージが理解不能なことがある
Yacc is dead
https://arxiv.org/abs/1010.5023
yaccそのものというよりbisonとの間で情報の欠落が起きるらしい
Yacc is Not Dead (2010) | Hacker News
https://news.ycombinator.com/item?id=8782218
パーサーを自動生成するのは人間がプログラミングするには複雑過ぎるからだけど
複雑 in 理解不能 out
あれ?何処かで見たような
おまけ:現在のニューラルネットの興隆は彼との対話が起点らしい
Geoff Hinton Facts
http://yann.lecun.com/ex/fun/
The new pqR parser, and R’s “else” problem
https://www.r-bloggers.com/the-new-pqr-parser-and-rs-else-problem/
elseはC言語もしくはもっと古い言語の理論的バグと言ってもいいかも
Dangling else - Wikipedia
https://en.wikipedia.org/wiki/Dangling_else
yacc/bisonの問題にエラーメッセージが理解不能なことがある
Yacc is dead
https://arxiv.org/abs/1010.5023
yaccそのものというよりbisonとの間で情報の欠落が起きるらしい
Yacc is Not Dead (2010) | Hacker News
https://news.ycombinator.com/item?id=8782218
パーサーを自動生成するのは人間がプログラミングするには複雑過ぎるからだけど
複雑 in 理解不能 out
あれ?何処かで見たような
おまけ:現在のニューラルネットの興隆は彼との対話が起点らしい
Geoff Hinton Facts
http://yann.lecun.com/ex/fun/
247デフォルトの名無しさん
2018/12/14(金) 21:02:39.08ID:mqIEWKkx >232 斜め読みできる分量ではないけどオーサムらしい
Free online book: Geocomputation with R, a book on geographic data analysis, visualization and modeling : rstats
https://www.reddit.com/r/rstats/comments/a5tmht/free_online_book_geocomputation_with_r_a_book_on/
Geocomputation with R - the afterword | R-bloggers
https://www.r-bloggers.com/geocomputation-with-r-the-afterword/
各トピック毎に使えるソフトウェアの紹介があるので乗り換えの参考になるかも
中に書いてあるようにギットハブにもリソースがある
GitHub - Robinlovelace/geocompr: Open source book: Geocomputation with R
https://github.com/Robinlovelace/geocompr#geocomputation-with-r
Geocomputation with R
https://geocompr.github.io/
Free online book: Geocomputation with R, a book on geographic data analysis, visualization and modeling : rstats
https://www.reddit.com/r/rstats/comments/a5tmht/free_online_book_geocomputation_with_r_a_book_on/
Geocomputation with R - the afterword | R-bloggers
https://www.r-bloggers.com/geocomputation-with-r-the-afterword/
各トピック毎に使えるソフトウェアの紹介があるので乗り換えの参考になるかも
中に書いてあるようにギットハブにもリソースがある
GitHub - Robinlovelace/geocompr: Open source book: Geocomputation with R
https://github.com/Robinlovelace/geocompr#geocomputation-with-r
Geocomputation with R
https://geocompr.github.io/
248デフォルトの名無しさん
2018/12/15(土) 11:21:36.85ID:Bi+PDTnJ249デフォルトの名無しさん
2018/12/16(日) 00:23:14.49ID:Uu+EjExy こういう話ではないと思うけど
``` {r}
leaflet::leaflet () %>% leaflet::addTiles () %>% leaflet::addMarkers (
lng = 174.768, lat = -36.852, popup = 'The birthplace of R'
) %>% leaflet::addLabelOnlyMarkers (
lng = 174.768 + 0.01, lat = -36.852, label = '此処は何処ですか?'
, labelOptions = leaflet::labelOptions (
noHide = T, textOnly = T, opacity = 1, style = list (
'font-size' = '2ex', 'color' = 'red'
)
)
) %>% leaflet::addRectangles (
lng1 = 174.768 - 0.02, lat1 = -36.852 - 0.02
, lng2 = 174.768 + 0.02, lat2 = -36.852 + 0.02
)
```
``` {r}
leaflet::leaflet () %>% leaflet::addTiles () %>% leaflet::addMarkers (
lng = 174.768, lat = -36.852, popup = 'The birthplace of R'
) %>% leaflet::addLabelOnlyMarkers (
lng = 174.768 + 0.01, lat = -36.852, label = '此処は何処ですか?'
, labelOptions = leaflet::labelOptions (
noHide = T, textOnly = T, opacity = 1, style = list (
'font-size' = '2ex', 'color' = 'red'
)
)
) %>% leaflet::addRectangles (
lng1 = 174.768 - 0.02, lat1 = -36.852 - 0.02
, lng2 = 174.768 + 0.02, lat2 = -36.852 + 0.02
)
```
250デフォルトの名無しさん
2018/12/16(日) 18:28:48.34ID:ye4z5ExT leafletではさすがに希望には合わないかな
仕事で自分のクレカ使うのも嫌だし、こういう有料化は困る
仕事で自分のクレカ使うのも嫌だし、こういう有料化は困る
251デフォルトの名無しさん
2019/02/02(土) 18:39:54.09ID:QulgKzxC タイトル勝ち - envのハッシュテーブルとしての使い方
Hash Me If You Can | R-bloggers
https://www.r-bloggers.com/hash-me-if-you-can/
分散の占有率は考えたことがなかった
Principal Component Analysis (PCA) 101, using R : rstats
https://www.reddit.com/r/rstats/comments/akytig/principal_component_analysis_pca_101_using_r/
PCAネタでOjaの学習則 - ご本人による解説
Oja learning rule - Scholarpedia
http://www.scholarpedia.org/article/Oja_learning_rule
スティーフェル多様体上の勾配
The Geometry of Algorithms with Orthogonality Constraints
https://arxiv.org/abs/physics/9806030
動機と出発点は異なるが同一の微分方程式を導き出してる
対称行列の大きい方の固有ベクトルを求める問題は次のようにも書ける
given M: (n,n)対称行列, to be found X: (n,k)行列
argmax <X, M X> subject to <X, X> = 1, where <A, B> := tr (A^T, B)
subject to ...の部分がスティーフェル多様体の定義になっている
特に、k=1の場合は(n-1)次元単位球面になる
身近にある多様体の例になっていると思う
Hash Me If You Can | R-bloggers
https://www.r-bloggers.com/hash-me-if-you-can/
分散の占有率は考えたことがなかった
Principal Component Analysis (PCA) 101, using R : rstats
https://www.reddit.com/r/rstats/comments/akytig/principal_component_analysis_pca_101_using_r/
PCAネタでOjaの学習則 - ご本人による解説
Oja learning rule - Scholarpedia
http://www.scholarpedia.org/article/Oja_learning_rule
スティーフェル多様体上の勾配
The Geometry of Algorithms with Orthogonality Constraints
https://arxiv.org/abs/physics/9806030
動機と出発点は異なるが同一の微分方程式を導き出してる
対称行列の大きい方の固有ベクトルを求める問題は次のようにも書ける
given M: (n,n)対称行列, to be found X: (n,k)行列
argmax <X, M X> subject to <X, X> = 1, where <A, B> := tr (A^T, B)
subject to ...の部分がスティーフェル多様体の定義になっている
特に、k=1の場合は(n-1)次元単位球面になる
身近にある多様体の例になっていると思う
252デフォルトの名無しさん
2019/02/02(土) 19:02:21.25ID:QulgKzxC 間違え subject to X^T X = (k,k)単位行列
253デフォルトの名無しさん
2019/02/22(金) 22:52:15.13ID:+pFzFvdM ``` {Rcpp}
#include <Rcpp.h> // 「rcpp 参照渡し」で検索すると出てくる話題
// [[Rcpp::plugins(cpp14)]]
// [[Rcpp::export]]
SEXP unsafe_negate (SEXP out) { // コピーなしを確実にするために面倒だがSEXP
switch (TYPEOF (out)) { // 思いつく残りのキーワード: Rtools on Windows,
case REALSXP: { // knitr::all_rcpp_labels, RCPP_MODULE, Rcpp/dispatch.h.
Rcpp::NumericVector a (out); // RCPP_MODULE = boost::python
std::transform (a.begin (), a.end (), a.begin (), std::negate <double> ());
return out; // https://wiki.python.org/moin/boost.python/HowTo
} break; default: { // R 3.5以上で動くかわからない
throw std::runtime_error ("unsupported type");
} break; // https://purrple.cat/blog/2018/10/14/altrep-and-cpp/
} // デビアン系だけかもしれないけど、Rstudioの環境下ではC++が超お手軽
}
// [[Rcpp::export]]
Rcpp::NumericVector safe_negate (Rcpp::NumericVector inn) {
Rcpp::NumericVector out = Rcpp::no_init (inn.size ());
std::transform (inn.begin (), inn.end (), out.begin (), std::negate <double> ());
return out;
}
```
#include <Rcpp.h> // 「rcpp 参照渡し」で検索すると出てくる話題
// [[Rcpp::plugins(cpp14)]]
// [[Rcpp::export]]
SEXP unsafe_negate (SEXP out) { // コピーなしを確実にするために面倒だがSEXP
switch (TYPEOF (out)) { // 思いつく残りのキーワード: Rtools on Windows,
case REALSXP: { // knitr::all_rcpp_labels, RCPP_MODULE, Rcpp/dispatch.h.
Rcpp::NumericVector a (out); // RCPP_MODULE = boost::python
std::transform (a.begin (), a.end (), a.begin (), std::negate <double> ());
return out; // https://wiki.python.org/moin/boost.python/HowTo
} break; default: { // R 3.5以上で動くかわからない
throw std::runtime_error ("unsupported type");
} break; // https://purrple.cat/blog/2018/10/14/altrep-and-cpp/
} // デビアン系だけかもしれないけど、Rstudioの環境下ではC++が超お手軽
}
// [[Rcpp::export]]
Rcpp::NumericVector safe_negate (Rcpp::NumericVector inn) {
Rcpp::NumericVector out = Rcpp::no_init (inn.size ());
std::transform (inn.begin (), inn.end (), out.begin (), std::negate <double> ());
return out;
}
```
254デフォルトの名無しさん
2019/02/22(金) 22:55:11.29ID:+pFzFvdM 残りを貼り忘れた
``` {r}
a = 1.0;
b = safe_negate (a);
cat (a, '->', b); # 1 -> - 1
a = 1.0;
b = unsafe_negate (a);
cat (a, '->', b); # - 1 -> - 1
```
``` {r}
a = 1.0;
b = safe_negate (a);
cat (a, '->', b); # 1 -> - 1
a = 1.0;
b = unsafe_negate (a);
cat (a, '->', b); # - 1 -> - 1
```
255デフォルトの名無しさん
2019/02/24(日) 02:20:59.21ID:46dkn3Pk 統計使ってオプションの自動売買したいんですけど
これ使えばできるようになりますかね?
これ使えばできるようになりますかね?
256デフォルトの名無しさん
2019/02/24(日) 13:00:49.75ID:EIdikGBL もう30年近く前からいっぱい使われてるよ。
それより統計知識と業務知識が先にないとあかんよ。
それより統計知識と業務知識が先にないとあかんよ。
257デフォルトの名無しさん
2019/03/16(土) 22:01:31.43ID:NxubCN5z 最近ハマったRの文法
``` {r}
tryCatch ({
f = function (x) {
x + 1;
} + 1;
cat (f (1));
}, error = function (ex) {
cat (ex);
});
```
落とし穴というより他のプログラミング言語からの固定観念に縛られていた
jsと対比してみる
<pre id = 'dump'></pre>
``` {js}
$ (window).on ('load', function () {
try {
const f = function (x) {
x + 1;
} + 1;
$ ('#dump').html (f (1));
} catch (ex) {
$ ('#dump').html (ex);
}
});
```
``` {r}
tryCatch ({
f = function (x) {
x + 1;
} + 1;
cat (f (1));
}, error = function (ex) {
cat (ex);
});
```
落とし穴というより他のプログラミング言語からの固定観念に縛られていた
jsと対比してみる
<pre id = 'dump'></pre>
``` {js}
$ (window).on ('load', function () {
try {
const f = function (x) {
x + 1;
} + 1;
$ ('#dump').html (f (1));
} catch (ex) {
$ ('#dump').html (ex);
}
});
```
258デフォルトの名無しさん
2019/03/21(木) 11:09:31.67ID:FMbOnfHj 仕事で急遽Rを勉強している者です。
rvestを用いたスクレイピングについて解る方
いらっしゃいましたらご教授願います。
@下記ページを参考に rvest html_sessionで「次へ」のリンクを辿ってURLを抜き出し
http://estrellita.hatenablog.com/entry/2015/11/11/084310
AそのURLをリストに追加して
Bread_html をかけようとしてるんですが
Cno applicable method for 'xml_find_all' applied to an object of class "list" とエラーが出てしまいます。
無知で申し訳ないのですが、原因と解決法わかりますでしょうか?
rvestを用いたスクレイピングについて解る方
いらっしゃいましたらご教授願います。
@下記ページを参考に rvest html_sessionで「次へ」のリンクを辿ってURLを抜き出し
http://estrellita.hatenablog.com/entry/2015/11/11/084310
AそのURLをリストに追加して
Bread_html をかけようとしてるんですが
Cno applicable method for 'xml_find_all' applied to an object of class "list" とエラーが出てしまいます。
無知で申し訳ないのですが、原因と解決法わかりますでしょうか?
259デフォルトの名無しさん
2019/03/21(木) 23:21:26.63ID:2X9Nl1zM わかる人が来るまでのつなぎ - 30年以内に来ればラッキーだと思うけど
* ['rvest::html' is deprecated, but rvest::read_html doesn't exist. Issue #191 tidyverse/rvest GitHub](https://github.com/tidyverse/rvest/issues/191)
* [rvest package | R Documentation](https://www.rdocumentation.org/packages/rvest/versions/0.3.2)
``` {r}
with (list (`%>%` = purrr::`%>%`, size = length, null = NULL), {
home = 'https://stackoverflow.com';
depth = 0;
done = list ();
todo = list ('/questions/28863775/scraping-linked-html-webpages-by-looping-the-rvestfollow-link-function');
while (0 < size (todo) & depth < 2) {
depth = depth + 1;
done = c (done, todo);
todo = purrr::reduce (.init = null, .x = todo, .f = function (out, path) {
url = paste0 (home, path);
text = xml2::read_html (url);
nodes = rvest::html_nodes (text, css = '.related a.question-hyperlink');
purrr::reduce (.init = out, .x = nodes, function (out, node) {
path = rvest::html_attr (node, 'href');
if (path %in% done) {
cat ('what a small world:', path, '\n');
out;
} else {
cat ('i am going to stalk:', rvest::html_text (node), '\n');
c (out, path);
}
});
});
}
});
```
* ['rvest::html' is deprecated, but rvest::read_html doesn't exist. Issue #191 tidyverse/rvest GitHub](https://github.com/tidyverse/rvest/issues/191)
* [rvest package | R Documentation](https://www.rdocumentation.org/packages/rvest/versions/0.3.2)
``` {r}
with (list (`%>%` = purrr::`%>%`, size = length, null = NULL), {
home = 'https://stackoverflow.com';
depth = 0;
done = list ();
todo = list ('/questions/28863775/scraping-linked-html-webpages-by-looping-the-rvestfollow-link-function');
while (0 < size (todo) & depth < 2) {
depth = depth + 1;
done = c (done, todo);
todo = purrr::reduce (.init = null, .x = todo, .f = function (out, path) {
url = paste0 (home, path);
text = xml2::read_html (url);
nodes = rvest::html_nodes (text, css = '.related a.question-hyperlink');
purrr::reduce (.init = out, .x = nodes, function (out, node) {
path = rvest::html_attr (node, 'href');
if (path %in% done) {
cat ('what a small world:', path, '\n');
out;
} else {
cat ('i am going to stalk:', rvest::html_text (node), '\n');
c (out, path);
}
});
});
}
});
```
260デフォルトの名無しさん
2019/03/21(木) 23:54:04.09ID:ZeSQsBE1 no applicable method for 'xml_find_all' applied to an object of class "list"
あちこちの変数をデバッグすれば?
まず、エラーの場所を特定するべき!
スクレイピングには、Ruby, Nokogiri, Selenium WebDriver が良い
あちこちの変数をデバッグすれば?
まず、エラーの場所を特定するべき!
スクレイピングには、Ruby, Nokogiri, Selenium WebDriver が良い
261デフォルトの名無しさん
2019/03/22(金) 12:52:49.39ID:s6oj+Xdm なんで、こういうツールってDOMでのスクレイピングじゃないの?
覚えるの面倒なんだ。
覚えるの面倒なんだ。
262デフォルトの名無しさん
2019/03/22(金) 22:45:06.06ID:+8Wqz6u2 バグ修正
if (path %in% done | path %in% out) {
cat ('what a small world:', path, '\n');
out;
} else {
cat ('i am going to stalk:', rvest::html_text (node), '\n');
c (out, path);
}
if (path %in% done | path %in% out) {
cat ('what a small world:', path, '\n');
out;
} else {
cat ('i am going to stalk:', rvest::html_text (node), '\n');
c (out, path);
}
263デフォルトの名無しさん
2019/03/24(日) 22:07:13.75ID:EjBOavUP 楽しいライブラリ
* [Lego Mosaics Using R | Hacker News](https://news.ycombinator.com/item?id=19469142)
ライブラリの階層としては
[rgl](https://github.com/cran/rgl)/
[rayshader](https://github.com/tylermorganwall/rayshader)/
[brickr](https://github.com/ryantimpe/brickr)/
という感じかな?
Rのライブラリというと変化球勝負というイメージを持っているのだけど
rglは豪速球な気がする
* [Lego Mosaics Using R | Hacker News](https://news.ycombinator.com/item?id=19469142)
ライブラリの階層としては
[rgl](https://github.com/cran/rgl)/
[rayshader](https://github.com/tylermorganwall/rayshader)/
[brickr](https://github.com/ryantimpe/brickr)/
という感じかな?
Rのライブラリというと変化球勝負というイメージを持っているのだけど
rglは豪速球な気がする
264デフォルトの名無しさん
2019/03/26(火) 19:24:08.41ID:NbUyZWCM 誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 81137
https://you-can-program.hatenablog.jp
https://you-can-program.hatenablog.jp
265デフォルトの名無しさん
2019/04/13(土) 23:21:10.50ID:VsnrGDId * [TF-IDF in a nutshell](https://www.reddit.com/r/LanguageTechnology/comments/bb5bcr/tfidf_in_a_nutshell/)
[TF-IDF](https://en.wikipedia.org/wiki/Tf%E2%80%93idf)
が覚えられないので
[PMI](https://en.wikipedia.org/wiki/Pointwise_mutual_information)
と関連付けてみる
\newcommand{\nwd}[2]{\sharp\left\{{#1}\to{#2}\right\}}
$X$を単語の有限集合、$Y$を文書の有限集合とする
データを単語から文書への
[二部グラフ](https://en.wikipedia.org/wiki/Bipartite_graph)として見て
辺の統計を考える
| 記号 | 日本語の記号 |
|:--|:----------------------------------|
| $\nwd{x}{y}$ | 単語$x$の文書$y$での出現頻度 |
| $\nwd{x}{*} := \sum_{y\in Y}\nwd{x}{y}$ | 単語$x$の全文書での出現頻度 |
| $\nwd{*}{y} := \sum_{x\in X}\nwd{x}{y}$ | 文書$y$の長さ |
| $\nwd{*}{*} := \sum_{x\in X,\; y\in Y}\nwd{x}{y}$ | 全文書の長さ |
$$
\frac{P(x,y)}{P(x,*)P(*,y)}
:= \frac{\cfrac{\nwd{x}{y}}{\nwd{*}{*}}}
{\cfrac{\nwd{x}{*}}{\nwd{*}{*}}\cfrac{\nwd{*}{y}}{\nwd{*}{*}}}
= \underbrace{\frac{\nwd{x}{y}}{\nwd{*}{y}}}_{\approx\mathtt{TF}}
\underbrace{\frac{\nwd{*}{*}}{\nwd{x}{*}}}_{\approx\mathtt{IDF}}.
$$
[TF-IDF](https://en.wikipedia.org/wiki/Tf%E2%80%93idf)
が覚えられないので
[PMI](https://en.wikipedia.org/wiki/Pointwise_mutual_information)
と関連付けてみる
\newcommand{\nwd}[2]{\sharp\left\{{#1}\to{#2}\right\}}
$X$を単語の有限集合、$Y$を文書の有限集合とする
データを単語から文書への
[二部グラフ](https://en.wikipedia.org/wiki/Bipartite_graph)として見て
辺の統計を考える
| 記号 | 日本語の記号 |
|:--|:----------------------------------|
| $\nwd{x}{y}$ | 単語$x$の文書$y$での出現頻度 |
| $\nwd{x}{*} := \sum_{y\in Y}\nwd{x}{y}$ | 単語$x$の全文書での出現頻度 |
| $\nwd{*}{y} := \sum_{x\in X}\nwd{x}{y}$ | 文書$y$の長さ |
| $\nwd{*}{*} := \sum_{x\in X,\; y\in Y}\nwd{x}{y}$ | 全文書の長さ |
$$
\frac{P(x,y)}{P(x,*)P(*,y)}
:= \frac{\cfrac{\nwd{x}{y}}{\nwd{*}{*}}}
{\cfrac{\nwd{x}{*}}{\nwd{*}{*}}\cfrac{\nwd{*}{y}}{\nwd{*}{*}}}
= \underbrace{\frac{\nwd{x}{y}}{\nwd{*}{y}}}_{\approx\mathtt{TF}}
\underbrace{\frac{\nwd{*}{*}}{\nwd{x}{*}}}_{\approx\mathtt{IDF}}.
$$
266デフォルトの名無しさん
2019/04/28(日) 22:29:54.86ID:Ce5AO+sY * [March: "Top 40" New CRAN Packages](https://www.r-bloggers.com/march-2019-top-40-new-cran-packages/)
[lenses](https://cran.r-project.org/web/packages/lenses/index.html)
というライブラリが入っている
ゲット/セットのペアからスタートする
[nlab](https://ncatlab.org/nlab/show/lens+%28in+computer+science%29)
ではプットと書かれているがセットと同じ
[イントロ](https://cfhammill.github.io/lenses/index.html)
も簡潔な説明だと思う
「てか、`iris $ Sepal.Length [3]`という書き方で何も困っていないし」
と思うかもしれないけどそれは正常な感覚だと思う
[この例](https://ncatlab.org/nlab/show/Grothendieck+group)
はもっとビミョーな気分になるかもしれない
「ここで小麦粉を$1/3$カップ入れます」の$1/3$という書き方は
[随伴](https://ncatlab.org/nlab/show/adjoint+functor)を表している
正の自然数からスタートした場合、Haskell風の書き方をして
直積に同値関係`Bunsu (a, b) == Bunsu (c, d) = a * d == b * c`を定義すると
単位射が`return a = Bunsu (a, 1)`で
積射が`join (Bunsu (Bunsu (a, b), Bunsu (c, d))) = Bunsu (a * d, b * c)`の
モナドになる
[この例](https://en.wikipedia.org/wiki/Simplicial_set)
はRの`list (list (0 : 0), list (0 : 1), ..., list (0 : n))`という
リストがつくる圏からスタートする
UMAPの土台に使われているらしい
* [UMAP](https://cran.r-project.org/web/packages/umap/vignettes/umap.html)
* [How UMAP Works](https://umap-learn.readthedocs.io/en/latest/how_umap_works.html)
[lenses](https://cran.r-project.org/web/packages/lenses/index.html)
というライブラリが入っている
ゲット/セットのペアからスタートする
[nlab](https://ncatlab.org/nlab/show/lens+%28in+computer+science%29)
ではプットと書かれているがセットと同じ
[イントロ](https://cfhammill.github.io/lenses/index.html)
も簡潔な説明だと思う
「てか、`iris $ Sepal.Length [3]`という書き方で何も困っていないし」
と思うかもしれないけどそれは正常な感覚だと思う
[この例](https://ncatlab.org/nlab/show/Grothendieck+group)
はもっとビミョーな気分になるかもしれない
「ここで小麦粉を$1/3$カップ入れます」の$1/3$という書き方は
[随伴](https://ncatlab.org/nlab/show/adjoint+functor)を表している
正の自然数からスタートした場合、Haskell風の書き方をして
直積に同値関係`Bunsu (a, b) == Bunsu (c, d) = a * d == b * c`を定義すると
単位射が`return a = Bunsu (a, 1)`で
積射が`join (Bunsu (Bunsu (a, b), Bunsu (c, d))) = Bunsu (a * d, b * c)`の
モナドになる
[この例](https://en.wikipedia.org/wiki/Simplicial_set)
はRの`list (list (0 : 0), list (0 : 1), ..., list (0 : n))`という
リストがつくる圏からスタートする
UMAPの土台に使われているらしい
* [UMAP](https://cran.r-project.org/web/packages/umap/vignettes/umap.html)
* [How UMAP Works](https://umap-learn.readthedocs.io/en/latest/how_umap_works.html)
267デフォルトの名無しさん
2019/05/12(日) 09:01:18.88ID:pEn1S/Mu Rで正規表現を使って文字列から数値だけ抽出するにはどう書きますか?
268デフォルトの名無しさん
2019/05/12(日) 12:36:17.67ID:dSbddX8d Ruby では、\d で数字を、+ で1文字以上、to_i で整数型に変換する
p ary = "1a23bc04".scan( /\d+/ ).map( &:to_i )
#=> [1, 23, 4]
ただし、これでは、負数を処理できない。
負数を処理するには、- を、? で、0か1文字
p ary = "-1a23bc-04".scan( /-?\d+/ ).map( &:to_i )
#=> [-1, 23, -4]
小数点や、e 表記は、もっと難しい。
これらは正規表現じゃなく、ライブラリを探すべき!
p ary = "1a23bc04".scan( /\d+/ ).map( &:to_i )
#=> [1, 23, 4]
ただし、これでは、負数を処理できない。
負数を処理するには、- を、? で、0か1文字
p ary = "-1a23bc-04".scan( /-?\d+/ ).map( &:to_i )
#=> [-1, 23, -4]
小数点や、e 表記は、もっと難しい。
これらは正規表現じゃなく、ライブラリを探すべき!
269デフォルトの名無しさん
2019/05/12(日) 19:02:18.45ID:x6u2BI6V どんな文字列か分からんけど単に数字を取り出すなら
stringr::str_extract_allで[[:digits:]+]を指定すりゃいいのでは?
パターンによってはreadr::parse_numberでいけるけど
stringr::str_extract_allで[[:digits:]+]を指定すりゃいいのでは?
パターンによってはreadr::parse_numberでいけるけど
270デフォルトの名無しさん
2019/05/13(月) 08:08:42.07ID:6s+KaqGz >>269
ありがとうございます。無事目的を果たすことが出来ました。
ありがとうございます。無事目的を果たすことが出来ました。
271デフォルトの名無しさん
2019/05/13(月) 11:34:06.46ID:exJVGP+wレスを投稿する
ニュース
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 毒親「働かないでいつもゴロゴロして!」俺「…」毒親「あっ近隣に熊が出たって!」俺「ふぅ」毒親「どこ行くんだ」
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 生活保護の受給額ってなんでこんなに安いの?
- お前らは“スカイマイルタワー”建設計画を知っているか?
- これ誰か分かるか?
- 支払い詰まってインターネット止まった
