Rstudioで100個のtxtファイル
(中身はTsvで3万行2列、1列目は全ファイル共通)
を3万行、101列のマトリクスファイルにしようとしています。
left_joinで1列目をキーにして結合するためにデータを100個読み込む際に
lf <- list.files(full.names = T)
data <- lapply(lf,read.delim)
を用いたのですが、
mat <- full_join(data)で結合させようとすると
'full_join' をクラス "list" のオブジェクトに適用できるようなメソッドがありません
となってしまいました。
別の関数でこのような結合が可能でしょうか。
統計解析R たぶんpart3くらい
426デフォルトの名無しさん
2022/02/27(日) 21:39:32.73ID:9Ko2k5KG427デフォルトの名無しさん
2022/02/27(日) 21:47:12.25ID:9Ko2k5KG >>426
dplyr::bind_cols()
があるとわかり(rowsしか見つけられていませんでした)、
こちらでdata2<-dplyr::bind_cols(data[1],data[2])
でエラーが出ないことまで分かったのですが、
今度は 1列目が全残りしてしまいました。。。
dplyr::bind_cols()
があるとわかり(rowsしか見つけられていませんでした)、
こちらでdata2<-dplyr::bind_cols(data[1],data[2])
でエラーが出ないことまで分かったのですが、
今度は 1列目が全残りしてしまいました。。。
428デフォルトの名無しさん
2022/02/27(日) 22:16:06.74ID:gyXBEzmR429デフォルトの名無しさん
2022/02/27(日) 22:19:10.43ID:gyXBEzmR あ、ごめんなさい
勘違いしてたのでいったん428は無視してください
勘違いしてたのでいったん428は無視してください
430デフォルトの名無しさん
2022/02/27(日) 22:24:12.67ID:gyXBEzmR bind_colの代わりにdplyr::left_join()で結合してください
431デフォルトの名無しさん
2022/02/27(日) 22:52:32.27ID:CQidPupJ432デフォルトの名無しさん
2022/03/13(日) 15:26:37.06ID:eNLgiL5g433デフォルトの名無しさん
2022/03/13(日) 16:14:58.16ID:yMboFGZP >>432
1列目がすべて同じ値でデータを結合させるキーとして使う必要がなければ、こんな感じ。
最後に1列目をバインドかジョインさせれば、概ね目的が達成できるのではないかと。
require(tidyverse)
# サンプルデータの作成
for (i in 1:10) {
data.frame(
a = seq(from = 1, to = 100),
b = rnorm(100)
) %>%
readr::write_excel_csv(file = paste0("./sample_data/sample_", i, ".csv"))
}
# サンプルデータの結合
list.files("./sample_data", full.names = TRUE) %>%
purrr::map_dfc(.f = function(x){readr::read_csv(x) %>% dplyr::select(2)})
列名でデータが識別出来るようにしたければ、もうひと工夫必要だけど。
1列目がすべて同じ値でデータを結合させるキーとして使う必要がなければ、こんな感じ。
最後に1列目をバインドかジョインさせれば、概ね目的が達成できるのではないかと。
require(tidyverse)
# サンプルデータの作成
for (i in 1:10) {
data.frame(
a = seq(from = 1, to = 100),
b = rnorm(100)
) %>%
readr::write_excel_csv(file = paste0("./sample_data/sample_", i, ".csv"))
}
# サンプルデータの結合
list.files("./sample_data", full.names = TRUE) %>%
purrr::map_dfc(.f = function(x){readr::read_csv(x) %>% dplyr::select(2)})
列名でデータが識別出来るようにしたければ、もうひと工夫必要だけど。
434デフォルトの名無しさん
2022/03/13(日) 16:23:27.75ID:yMboFGZP ファイル名を列の識別に使うとこんな感じ
# サンプルデータの読み込みと結合
list.files("./sample_data", full.names = TRUE) %>%
purrr::map_df(.f = function(x){readr::read_csv(x) %>%
dplyr::mutate(file = basename(x))}) %>%
tidyr::pivot_wider(names_from = file, values_from = b)
# サンプルデータの読み込みと結合
list.files("./sample_data", full.names = TRUE) %>%
purrr::map_df(.f = function(x){readr::read_csv(x) %>%
dplyr::mutate(file = basename(x))}) %>%
tidyr::pivot_wider(names_from = file, values_from = b)
435デフォルトの名無しさん
2022/03/13(日) 16:44:17.21ID:eNLgiL5g436デフォルトの名無しさん
2022/03/13(日) 16:44:28.45ID:yMboFGZP >>434の方は、1列目をキーにleft_joinするのと同じ結果になるので、こちらの方が処理としては汎用性が高いかも。
# サンプルデータの作成
for (i in 0:4) {
data.frame(
a = seq(from = 1, to = 100),
b = rnorm(100)
) %>%
readr::write_excel_csv(file = paste0("./sample_data/sample_", i, ".csv"))
}
# サンプルデータの作成(aの値の範囲を少し変えてある)
for (i in 5:9) {
data.frame(
a = seq(from = 51, to = 150),
b = rnorm(100)
) %>%
readr::write_excel_csv(file = paste0("./sample_data/sample_", i, ".csv"))
}
# サンプルデータの読み込みと結合(aが一致しない場合は欠損値NAとなる)
list.files("./sample_data", full.names = TRUE) %>%
purrr::map_df(.f = function(x){readr::read_csv(x) %>%
dplyr::mutate(file = basename(x))}) %>%
tidyr::pivot_wider(names_from = file, values_from = b)
# サンプルデータの作成
for (i in 0:4) {
data.frame(
a = seq(from = 1, to = 100),
b = rnorm(100)
) %>%
readr::write_excel_csv(file = paste0("./sample_data/sample_", i, ".csv"))
}
# サンプルデータの作成(aの値の範囲を少し変えてある)
for (i in 5:9) {
data.frame(
a = seq(from = 51, to = 150),
b = rnorm(100)
) %>%
readr::write_excel_csv(file = paste0("./sample_data/sample_", i, ".csv"))
}
# サンプルデータの読み込みと結合(aが一致しない場合は欠損値NAとなる)
list.files("./sample_data", full.names = TRUE) %>%
purrr::map_df(.f = function(x){readr::read_csv(x) %>%
dplyr::mutate(file = basename(x))}) %>%
tidyr::pivot_wider(names_from = file, values_from = b)
437デフォルトの名無しさん
2022/03/13(日) 18:12:08.92ID:Hs1I9giv >>427
一列目がすべて同じとのことなのであれば、427の続きで
data2[ , -seq(3,199,2)]
とすれば必要な列だけ抽出できると思います
あとはマトリクスに変換してください
join系でうまく行ってなかったのはリストの扱いがわからなかったからなのですね
リストにアクセスする場合、
data[1]でなくdata[[1]]としてデータフレームを取り出します
一列目がすべて同じとのことなのであれば、427の続きで
data2[ , -seq(3,199,2)]
とすれば必要な列だけ抽出できると思います
あとはマトリクスに変換してください
join系でうまく行ってなかったのはリストの扱いがわからなかったからなのですね
リストにアクセスする場合、
data[1]でなくdata[[1]]としてデータフレームを取り出します
438デフォルトの名無しさん
2022/03/17(木) 15:47:55.89ID:E8UbWdL+ >>437
すみません。本題ではないと思うのですが、
> for (i in 1:10) {
+ data.frame(
+ a = seq(from = 1, to = 100),
+ b = rnorm(100)
+ ) %>%
+ readr::write_excel_csv(file = paste0("./sample_data/sample_", i, ".csv"))
のところで
エラー: Cannot open file for writing:* './sample_data/sample_1.csv'
が出てしまいました・・・
すみません。本題ではないと思うのですが、
> for (i in 1:10) {
+ data.frame(
+ a = seq(from = 1, to = 100),
+ b = rnorm(100)
+ ) %>%
+ readr::write_excel_csv(file = paste0("./sample_data/sample_", i, ".csv"))
のところで
エラー: Cannot open file for writing:* './sample_data/sample_1.csv'
が出てしまいました・・・
439デフォルトの名無しさん
2022/03/17(木) 20:03:45.16ID:gf49ge7R >>438
先にディレクトリ(フォルダ)作らないとだめよ。
先にディレクトリ(フォルダ)作らないとだめよ。
440デフォルトの名無しさん
2022/03/17(木) 20:07:17.36ID:gf49ge7R なお、そのコードはサンプル用のデータファイルを作るだけだから、既にデータファイルがあるなら作らなくても構いません。
441デフォルトの名無しさん
2022/03/18(金) 00:14:42.67ID:XJUTI8hL >>438
繰り返しになりますが、427にあるようにbind_cols(data)でdata2まで作成できたのであれば、あとは437の式で重複するindex列を消せば抽出が完了します
マトリクス形式にするにはas.matrix()を使います
エラーが出たという433のコードについては439さんがもう回答してくれていますが念のため補足説明します
そのコードは作業ディレクトリにsample_dataという名前のフォルダを作ってから試す必要があります
Windowsならエクスプローラからフォルダを作成すれば良いでしょう
Rでコードを実行するとそのフォルダの中にテスト用のcsvが作成されます(フォルダを覗いてみてください)
そのテスト用csvを使った汎用的な方法が色々と紹介されていますので、どういう挙動をするか試してみてください
あとは自分の実データに応用すればOKです
繰り返しになりますが、427にあるようにbind_cols(data)でdata2まで作成できたのであれば、あとは437の式で重複するindex列を消せば抽出が完了します
マトリクス形式にするにはas.matrix()を使います
エラーが出たという433のコードについては439さんがもう回答してくれていますが念のため補足説明します
そのコードは作業ディレクトリにsample_dataという名前のフォルダを作ってから試す必要があります
Windowsならエクスプローラからフォルダを作成すれば良いでしょう
Rでコードを実行するとそのフォルダの中にテスト用のcsvが作成されます(フォルダを覗いてみてください)
そのテスト用csvを使った汎用的な方法が色々と紹介されていますので、どういう挙動をするか試してみてください
あとは自分の実データに応用すればOKです
442デフォルトの名無しさん
2022/04/24(日) 00:44:11.04ID:XE1mU1xb cranにR 4.2.0がきてた
Windowsもutf8に
マルチバイトの苦労が減るかな
Windowsもutf8に
マルチバイトの苦労が減るかな
443デフォルトの名無しさん
2022/07/02(土) 21:56:48.95ID:joP41R1K VScodeに移行するか悩んでいる
444デフォルトの名無しさん
2022/07/03(日) 10:10:53.08ID:HeQkxcLp 利点欠点は知らないけどとりあえず試しに移ってみては
445デフォルトの名無しさん
2022/08/07(日) 01:03:05.72ID:9gYsg8zx Vscodeに移行完了。
他の言語と環境同じなのは楽。簡単に複数のプロセスを走らせることができて便利。
環境変数とかの設定は大変。
他の言語と環境同じなのは楽。簡単に複数のプロセスを走らせることができて便利。
環境変数とかの設定は大変。
446デフォルトの名無しさん
2022/08/08(月) 21:50:31.99ID:Da5wHwf0 RStudioもPositだかに名称変更して多言語対応を前面に出すらしいから色々迷うところだね
447デフォルトの名無しさん
2022/08/16(火) 11:20:03.64ID:2x3mrzZQ 秋光
448デフォルトの名無しさん
2022/08/18(木) 23:20:26.19ID:LfSntVST tidyverseにlubridateが追加されたらしい
これは便利かも
これは便利かも
449デフォルトの名無しさん
2022/10/22(土) 22:36:46.32ID:aNbd4mog 書けるかな?
450デフォルトの名無しさん
2022/10/22(土) 23:25:40.91ID:aNbd4mog ALTREPを勉強したノート:
https://www.klgrth.io/paste/n3aj8
有効期限の選択肢が最長2日で、2日経つと消えちゃう。
一応HTMLということでアップしたが、HTMLとして表示できない。
ダウンロードしてブラウザーで開くと、多分、表示できると思う。
中身はRというより、殆どC++とJSで、偶に日本語が入るという感じになっている。
https://www.klgrth.io/paste/n3aj8
有効期限の選択肢が最長2日で、2日経つと消えちゃう。
一応HTMLということでアップしたが、HTMLとして表示できない。
ダウンロードしてブラウザーで開くと、多分、表示できると思う。
中身はRというより、殆どC++とJSで、偶に日本語が入るという感じになっている。
451デフォルトの名無しさん
2022/10/25(火) 21:49:06.83ID:Q2z+UpND facet_wrapで強制的に任意の行×列にする方法がわからない
ggh4xのfacet_wrap2はx軸が別の値に変わる致命的なバグがあって駄目だった
cowplotとかで強引にやるしかないかな
ggh4xのfacet_wrap2はx軸が別の値に変わる致命的なバグがあって駄目だった
cowplotとかで強引にやるしかないかな
452デフォルトの名無しさん
2022/10/29(土) 23:39:26.00ID:rG09h/C5 こういう事?
[r - What's the difference between facet_wrap() and facet_grid() in ggplot2? - Stack Overflow](https://stackoverflow.com/questions/20457905/whats-the-difference-between-facet-wrap-and-facet-grid-in-ggplot2)
```{r}
g <- ggplot2::ggplot (ggplot2::mpg, ggplot2::aes (displ, hwy))
g + ggplot2::facet_grid (cyl ~ class)
g + ggplot2::facet_wrap (cyl ~ class)
```
前回のALTREPから離れて配列型のイテレーターに進んでみた。
https://www.klgrth.io/paste/wcdat
今回のファイル形式はRmdにしてみた。
Rcppが使える環境なら動作するんじゃないかと思う
[r - What's the difference between facet_wrap() and facet_grid() in ggplot2? - Stack Overflow](https://stackoverflow.com/questions/20457905/whats-the-difference-between-facet-wrap-and-facet-grid-in-ggplot2)
```{r}
g <- ggplot2::ggplot (ggplot2::mpg, ggplot2::aes (displ, hwy))
g + ggplot2::facet_grid (cyl ~ class)
g + ggplot2::facet_wrap (cyl ~ class)
```
前回のALTREPから離れて配列型のイテレーターに進んでみた。
https://www.klgrth.io/paste/wcdat
今回のファイル形式はRmdにしてみた。
Rcppが使える環境なら動作するんじゃないかと思う
453デフォルトの名無しさん
2022/10/31(月) 12:33:41.51ID:dQiGvC9o 例えばmpgデータならcylでもclassでも常に3*3のサイズにfacetしたい(不足分はスペース)
454デフォルトの名無しさん
2022/11/02(水) 19:51:09.19ID:p084R0I6 結局patchworkのplot_layout()が良かった
facet_wrap2()よりかなりめんどくさいが仕方ない
facet_wrap2()よりかなりめんどくさいが仕方ない
455デフォルトの名無しさん
2022/11/06(日) 00:02:51.66ID:lzqAKK7B RのヒープからC++のコンテナーで使うメモリを確保するようにした:
https://www.klgrth.io/paste/ampar
今回はサードパーティのライブラリを使っているので、そのままでは
コンパイルできないと思う。
* [GitHub - martinus/unordered_dense: A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion](https://github.com/martinus/unordered_dense)
ヘッダーファイル一枚のライブラリなので、Rmdの中にヘッダーファイルを
コピペすればコンパイルできるようになると思う。
https://www.klgrth.io/paste/ampar
今回はサードパーティのライブラリを使っているので、そのままでは
コンパイルできないと思う。
* [GitHub - martinus/unordered_dense: A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion](https://github.com/martinus/unordered_dense)
ヘッダーファイル一枚のライブラリなので、Rmdの中にヘッダーファイルを
コピペすればコンパイルできるようになると思う。
456デフォルトの名無しさん
2022/11/07(月) 09:11:56.91ID:dlXH2Z0U 色々とRの深堀りしてるのね
457デフォルトの名無しさん
2022/11/23(水) 17:00:11.90ID:lyqj2jDo 前回のカウンターの続きで最終回
[zwzg9](https://www.klgrth.io/paste/zwzg9)
今回は`ankerl`に加えて`boost`も使っている。`boost`はヘッダー一枚
というわけにはいかないので、面倒かもしれない。使っているのは、
`hash_value`と`hash_combine`という2つの関数だけなので、適当な関数で
差し替えられると思う。`NA`と`NaN`の関係を調べている節は、
intelエンディアンのみの対応で、armエンディアンでは動作しないと思う。
実を言うと、`NaN`がいっぱいあることを知らなかった。1954は何の年だろう?
ALTREPを勉強した時にかなりギットハブを徘徊した。そこが勉強のピークだっと
思う。今回の実装では、殆どRの勉強はせずに、知ってる関数だけを使っている。
1. `TYPEOF / ALTREP`
1. `Rf_xlength`
1. `DATAPTR_OR_NULL / DATAPTR / XXX_ELT`
1. `Rf_allocVector`
違うアプリケーション、例えば、評価系だと違う関数セットになって、
また勉強が必要になるかもね。
[zwzg9](https://www.klgrth.io/paste/zwzg9)
今回は`ankerl`に加えて`boost`も使っている。`boost`はヘッダー一枚
というわけにはいかないので、面倒かもしれない。使っているのは、
`hash_value`と`hash_combine`という2つの関数だけなので、適当な関数で
差し替えられると思う。`NA`と`NaN`の関係を調べている節は、
intelエンディアンのみの対応で、armエンディアンでは動作しないと思う。
実を言うと、`NaN`がいっぱいあることを知らなかった。1954は何の年だろう?
ALTREPを勉強した時にかなりギットハブを徘徊した。そこが勉強のピークだっと
思う。今回の実装では、殆どRの勉強はせずに、知ってる関数だけを使っている。
1. `TYPEOF / ALTREP`
1. `Rf_xlength`
1. `DATAPTR_OR_NULL / DATAPTR / XXX_ELT`
1. `Rf_allocVector`
違うアプリケーション、例えば、評価系だと違う関数セットになって、
また勉強が必要になるかもね。
458デフォルトの名無しさん
2022/11/25(金) 22:31:31.64ID:hVmxUGt9 ファセットの問題は{facetious}のfacet_wrap_strict()でもできた
こっちは問題なさそう
こっちは問題なさそう
459デフォルトの名無しさん
2022/11/26(土) 18:24:12.54ID:ZkJ8SBS0 [facet_wrap_strict](https://github.com/coolbutuseless/facetious)と
`facet_wrap`を並べてみる。
``` {r na_1954, dependson = ""}
. = dplyr::mutate (mtcars, cyl = factor (cyl, lev = c (1 : 8, 1000L)))
. = ggplot2::ggplot (., ggplot2::aes (mpg, wt))
. = . + ggplot2::geom_point ()
. + ggplot2::facet_wrap (~ cyl, nrow = 3, ncol = 3)
. + facetious::facet_wrap_strict (~ cyl, nrow = 3, ncol = 3)
. + ggplot2::facet_wrap (~ cyl, nrow = 3, ncol = 3, drop = F)
```
神エクセル繋がりということで
[A Bayesian probability worksheet](https://terrytao.wordpress.com/2022/10/07/a-bayesian-probability-worksheet/)
`facet_wrap`を並べてみる。
``` {r na_1954, dependson = ""}
. = dplyr::mutate (mtcars, cyl = factor (cyl, lev = c (1 : 8, 1000L)))
. = ggplot2::ggplot (., ggplot2::aes (mpg, wt))
. = . + ggplot2::geom_point ()
. + ggplot2::facet_wrap (~ cyl, nrow = 3, ncol = 3)
. + facetious::facet_wrap_strict (~ cyl, nrow = 3, ncol = 3)
. + ggplot2::facet_wrap (~ cyl, nrow = 3, ncol = 3, drop = F)
```
神エクセル繋がりということで
[A Bayesian probability worksheet](https://terrytao.wordpress.com/2022/10/07/a-bayesian-probability-worksheet/)
460デフォルトの名無しさん
2022/11/28(月) 18:09:29.71ID:esP8vKsO その例で行くなら…
cylはいじらずそのままでfacet_wrap_strictするのが求める図かな
cylはいじらずそのままでfacet_wrap_strictするのが求める図かな
461デフォルトの名無しさん
2023/01/19(木) 11:03:41.55ID:KKbwsgWQ RのS5クラス使って継承する場合、コンストラクタ中で継承するクラスのコンストラクタを呼ぶことはできないのかな?
つまりクラスAとクラスBを定義して、クラスBがクラスAを継承している場合、クラスBのコンストラクタ中でクラスAのコンストラクタを呼ぶ方法
ちょっとググったらS4クラスは出来そうなんだが、S5クラスのは解決策が見当たらんかった
別途自前でクラスAのコンストラクタ本体を定義して、クラスBのコンストラクタからそれを呼ぶしかないか?!
つまりクラスAとクラスBを定義して、クラスBがクラスAを継承している場合、クラスBのコンストラクタ中でクラスAのコンストラクタを呼ぶ方法
ちょっとググったらS4クラスは出来そうなんだが、S5クラスのは解決策が見当たらんかった
別途自前でクラスAのコンストラクタ本体を定義して、クラスBのコンストラクタからそれを呼ぶしかないか?!
462デフォルトの名無しさん
2023/01/20(金) 19:06:37.10ID:tvsG8hGF R6はどうだろう
463デフォルトの名無しさん
2023/02/04(土) 08:53:58.96ID:QWz+y8KS dplyrを1.1.0にしてみた
.byはまあまあ便利だけどtally()には使えなかった
.byはまあまあ便利だけどtally()には使えなかった
464デフォルトの名無しさん
2023/02/12(日) 21:15:52.26ID:dcVKzcVl ナンノコッチャと思って調べたら
[A Heisenbug lurking in async Python | Hacker News](https://news.ycombinator.com/item?id=34754276)
専門用語だったでござる。
[Heisenbug - Wikipedia](https://en.wikipedia.org/wiki/Heisenbug)
[A Heisenbug lurking in async Python | Hacker News](https://news.ycombinator.com/item?id=34754276)
専門用語だったでござる。
[Heisenbug - Wikipedia](https://en.wikipedia.org/wiki/Heisenbug)
465デフォルトの名無しさん
2023/02/14(火) 18:38:12.15ID:dFdG4M+K ヒヤリハットみたいな駄洒落はどこでもあるのね
466デフォルトの名無しさん
2023/02/16(木) 19:25:35.83ID:76X7tEQ5 こうした言葉を思いつくのは才能なんだろうね。
Rだと簡単にハイゼンバグの例を作れた。
``` {r a_10850, dependson = ""}
uncertainly = with (new.env (), {
plus = \(x) \(y) x + y
x = 1L
plus_1 = plus (x)
x = 1000L
plus_1 (2) |> print ()
});
```
アレレ?ということでデバッグ文を入れてみる。
``` {r a_29042, dependson = ""}
principle = with (new.env (), {
plus_debug = \(x) {
cat ("Schr?dinger says ", x, "\n", sep = "")
\(y) x + y
}
x = 1L
plus_1 = plus_debug (x)
x = 1000L
plus_1 (2) |> print ()
});
```
デバッグ文の有無で挙動が変わる。`uncertainly`の挙動は、バグではなく、
言語仕様だと思った方が良いと思う。
`uncertainly`の挙動を防ぐには関数`force`を使えば良い。
* [How to not fall into R's 'lazy evaluation trap](https://stackoverflow.com/questions/29084193)
Rだと簡単にハイゼンバグの例を作れた。
``` {r a_10850, dependson = ""}
uncertainly = with (new.env (), {
plus = \(x) \(y) x + y
x = 1L
plus_1 = plus (x)
x = 1000L
plus_1 (2) |> print ()
});
```
アレレ?ということでデバッグ文を入れてみる。
``` {r a_29042, dependson = ""}
principle = with (new.env (), {
plus_debug = \(x) {
cat ("Schr?dinger says ", x, "\n", sep = "")
\(y) x + y
}
x = 1L
plus_1 = plus_debug (x)
x = 1000L
plus_1 (2) |> print ()
});
```
デバッグ文の有無で挙動が変わる。`uncertainly`の挙動は、バグではなく、
言語仕様だと思った方が良いと思う。
`uncertainly`の挙動を防ぐには関数`force`を使えば良い。
* [How to not fall into R's 'lazy evaluation trap](https://stackoverflow.com/questions/29084193)
467デフォルトの名無しさん
2023/02/16(木) 19:27:35.51ID:76X7tEQ5 タイトルに"遅延評価"が入っているが、遅延評価自体の問題ではなく、
Rの実装に原因がある。Haskellも遅延評価だが、`uncertainly`のような
挙動が起きれば、Haskellはその存在意義を失う。
``` ghci
import Data.Functor.Identity (Identity (..))
:{
uncertainly :: (Monad f) => f Int
uncertainly = do
x <- pure 1
plus_1 <- pure (x +)
x <- pure 1000
pure $ plus_1 2
:}
runIdentity uncertainly
flip ($) () uncertainly
maybe 0 id uncertainly
```
<pre>
3
3
3
</pre>
言語仕様レベルでのトレードオフかもしれない。
* 局所最適化と大域最悪化
* 整合性とコンパイル時間
* 等など
Rの実装に原因がある。Haskellも遅延評価だが、`uncertainly`のような
挙動が起きれば、Haskellはその存在意義を失う。
``` ghci
import Data.Functor.Identity (Identity (..))
:{
uncertainly :: (Monad f) => f Int
uncertainly = do
x <- pure 1
plus_1 <- pure (x +)
x <- pure 1000
pure $ plus_1 2
:}
runIdentity uncertainly
flip ($) () uncertainly
maybe 0 id uncertainly
```
<pre>
3
3
3
</pre>
言語仕様レベルでのトレードオフかもしれない。
* 局所最適化と大域最悪化
* 整合性とコンパイル時間
* 等など
468デフォルトの名無しさん
2023/02/19(日) 11:12:54.40ID:CwNaXfgw magrittrの例を少し改変
# fns
first <- function(x){
message("first")
invisible(x)
}
second <- function(x){
message("second")
invisible(x)
}
# lazy
NULL %>% first() %>% second()
# eager
NULL %!>% first() %!>% second()
# fns
first <- function(x){
message("first")
invisible(x)
}
second <- function(x){
message("second")
invisible(x)
}
# lazy
NULL %>% first() %>% second()
# eager
NULL %!>% first() %!>% second()
469デフォルトの名無しさん
2023/02/19(日) 23:57:13.24ID:5hVGJ6gZ ビックリパイプは知らなかった。"抜かりなし"だね。ただし、ビックリパイプは
ハイゼンバグとは関係ないかな。
ハイゼンバグから離れて、宇宙大戦争について書いてみたい。
`lapply`等のループ系の関数は、最終的にC関数`R_forceAndCall`を呼び出す。
* [apply.c](https://github.com/wch/r-source/blob/trunk/src/main/apply.c)
Rは、"フォースと共にあらんことを"などと呑気なことを言っている場合ではなく、
フォースと共にあらねば死んでしまう。
前回のコード`uncertainly`は変数`x`の使い回しが敗因だが、ループ系の関数
では変数を使い回すしかない。そのために、ループ系の関数ではフォースが必須
になっている。98パーセントぐらいの使用例では、フォース抜きでも動作する
(当社調べ)が、残りの2パーセントでコケる。僅か2パーセントでも、
プログラミングをギャンブルにしないためには、穴を塞いでおく必要がある。
ハイゼンバグとは関係ないかな。
ハイゼンバグから離れて、宇宙大戦争について書いてみたい。
`lapply`等のループ系の関数は、最終的にC関数`R_forceAndCall`を呼び出す。
* [apply.c](https://github.com/wch/r-source/blob/trunk/src/main/apply.c)
Rは、"フォースと共にあらんことを"などと呑気なことを言っている場合ではなく、
フォースと共にあらねば死んでしまう。
前回のコード`uncertainly`は変数`x`の使い回しが敗因だが、ループ系の関数
では変数を使い回すしかない。そのために、ループ系の関数ではフォースが必須
になっている。98パーセントぐらいの使用例では、フォース抜きでも動作する
(当社調べ)が、残りの2パーセントでコケる。僅か2パーセントでも、
プログラミングをギャンブルにしないためには、穴を塞いでおく必要がある。
470デフォルトの名無しさん
2023/02/23(木) 21:58:25.40ID:OvjjRMrU do.call()ならどうだろう
471デフォルトの名無しさん
2023/02/26(日) 00:14:58.50ID:Qcp1BikG 上のコード`uncertainly`の挙動を"プロミスの罠"と書くことにする。
ここでの"プロミス"は、JSの"プロミス"ではなくて、Rでの"変数"の
実装方法を指す。
* [6 Functions | Advanced R](https://adv-r.hadley.nz/functions.html)
この記事には次の一節がある。
> You cannot manipulate promises with R code. Promises are like a **quantum state:**: ...
多分、ここでの"量子状態"はハイゼンバグと同じ現象を指しているんだと思う。
観測すると、状態が変化してしまう。
関数`do.call`自体はプロミスの罠と関係しないと思う。
``` {r a_28697, dependson = ""}
do.call (`+`, list (1L, 2L))
```
Pythonだと次のコードに対応する。
``` {python a_10786, dependson = ""}
(lambda x, y: x + y) (* range (1, 3))
```
殆どのプログラミング言語で、関数の引数リストは
[一級市民](https://en.wikipedia.org/wiki/First-class_citizen)
でないように思う。一級市民でない代わりに、一級市民の配列からの変換が
用意されている。Pythonでは`*`という関数がビルトインで用意されている。
Rでは引数リストを直接作れるかもしれないが、`do.call`で配列から
変換するのが一般的だと思う。
ここでの"プロミス"は、JSの"プロミス"ではなくて、Rでの"変数"の
実装方法を指す。
* [6 Functions | Advanced R](https://adv-r.hadley.nz/functions.html)
この記事には次の一節がある。
> You cannot manipulate promises with R code. Promises are like a **quantum state:**: ...
多分、ここでの"量子状態"はハイゼンバグと同じ現象を指しているんだと思う。
観測すると、状態が変化してしまう。
関数`do.call`自体はプロミスの罠と関係しないと思う。
``` {r a_28697, dependson = ""}
do.call (`+`, list (1L, 2L))
```
Pythonだと次のコードに対応する。
``` {python a_10786, dependson = ""}
(lambda x, y: x + y) (* range (1, 3))
```
殆どのプログラミング言語で、関数の引数リストは
[一級市民](https://en.wikipedia.org/wiki/First-class_citizen)
でないように思う。一級市民でない代わりに、一級市民の配列からの変換が
用意されている。Pythonでは`*`という関数がビルトインで用意されている。
Rでは引数リストを直接作れるかもしれないが、`do.call`で配列から
変換するのが一般的だと思う。
472デフォルトの名無しさん
2023/02/26(日) 23:03:36.96ID:Qcp1BikG 書けるかな?
473デフォルトの名無しさん
2023/02/26(日) 23:09:42.38ID:Qcp1BikG 自分の知る限り、プロミスの罠にハマるのは次のパターンに限られる。
~~~ {.r}
x = "hello"
g = f (x)
x = "world"
g ()
~~~
"関数を返す関数"`f`に、"変数"`x`を代入した時にプロミスの罠が可能性が
出てくる。Rの評価戦略はHaskellと同じ
[コールバイニード](https://en.wikipedia.org/wiki/Evaluation_strategy)
に分類されている。上の例では、次の場合にプロミスの罠が発生する。
1. 関数`f (x)`の中で引数`x`がニードにならず、
1. 返り値の関数`g`に渡される。
次の例はプロミスの罠が発生する。
``` {r a_20914, dependson = ""}
rude = with (new.env (), {
const = \(x) \(...) x
x = "hello"
g = const (identity (x))
x = "world"
g () |> print ()
});
```
関数への代入はニードでないので(by definition)、関数適用の連鎖
`const (identity (x))`の中にはニードがない。そのために、最終的に`g ()`が
コールされるまで引数`x`は評価されない。コード`g ()`がコールされた時点で
引数`x`の定義を探しに行くので、プロミスの罠にハマる。
~~~ {.r}
x = "hello"
g = f (x)
x = "world"
g ()
~~~
"関数を返す関数"`f`に、"変数"`x`を代入した時にプロミスの罠が可能性が
出てくる。Rの評価戦略はHaskellと同じ
[コールバイニード](https://en.wikipedia.org/wiki/Evaluation_strategy)
に分類されている。上の例では、次の場合にプロミスの罠が発生する。
1. 関数`f (x)`の中で引数`x`がニードにならず、
1. 返り値の関数`g`に渡される。
次の例はプロミスの罠が発生する。
``` {r a_20914, dependson = ""}
rude = with (new.env (), {
const = \(x) \(...) x
x = "hello"
g = const (identity (x))
x = "world"
g () |> print ()
});
```
関数への代入はニードでないので(by definition)、関数適用の連鎖
`const (identity (x))`の中にはニードがない。そのために、最終的に`g ()`が
コールされるまで引数`x`は評価されない。コード`g ()`がコールされた時点で
引数`x`の定義を探しに行くので、プロミスの罠にハマる。
474デフォルトの名無しさん
2023/02/26(日) 23:11:33.81ID:Qcp1BikG コールバイニードを実現するためには、コンパイラーが内部的に次のように
書き換える必要があると思う。
``` {r a_1451, dependson = ""}
polite = with (new.env (), {
const = \(x) \(...) x
x_1 = "hello"
g = const (identity (x_1))
x_2 = "world"
g () |> print ()
});
```
[静的単一代入](https://en.wikipedia.org/wiki/Static_single-assignment_form)
と呼ばれる操作と同じだと思う。この書き換えはループ処理では必須になる。
コード`rude`はアカン奴として切り捨てることができるかもしれないが、
ループ処理では変数の多重定義が避けられない。Rでは、何らかの理由で、
この書き換えが省略されているために、プロミスの罠が発生するのかな?と
思っている。
コード`rude`からコード`polite`への書き換えを上とは異なる形で行ってみる。
Rではできないので、Pythonを使う。
書き換える必要があると思う。
``` {r a_1451, dependson = ""}
polite = with (new.env (), {
const = \(x) \(...) x
x_1 = "hello"
g = const (identity (x_1))
x_2 = "world"
g () |> print ()
});
```
[静的単一代入](https://en.wikipedia.org/wiki/Static_single-assignment_form)
と呼ばれる操作と同じだと思う。この書き換えはループ処理では必須になる。
コード`rude`はアカン奴として切り捨てることができるかもしれないが、
ループ処理では変数の多重定義が避けられない。Rでは、何らかの理由で、
この書き換えが省略されているために、プロミスの罠が発生するのかな?と
思っている。
コード`rude`からコード`polite`への書き換えを上とは異なる形で行ってみる。
Rではできないので、Pythonを使う。
475デフォルトの名無しさん
2023/02/26(日) 23:12:32.78ID:Qcp1BikG ``` {python a_14213, dependson = ""}
##| cache: false
#
def none ():
id = lambda a: a
const = lambda x: lambda * y: x
def lhs ():
x = "hello"
g = const (id (x))
x = "world"
return g ()
def rhs ():
return (lambda x: (lambda g: (lambda x: g ()) ("world")) (const (id (x)))) ("hello")
assert lhs () == rhs ()
none ();
```
関数`lhs`から関数`rhs`への書き換え規則は次のようになる。[rule]{#rule}
~~~ {.python}
y = f (x)
z = g (x, y)
rest (x, y, z)
==
(lambda y:
z = g (x, y)
rest (x, y, z)
) (f (x))
==
(lambda y: (lambda z: rest (x, y, z)) (g (x, y))) (f (x))
~~~
##| cache: false
#
def none ():
id = lambda a: a
const = lambda x: lambda * y: x
def lhs ():
x = "hello"
g = const (id (x))
x = "world"
return g ()
def rhs ():
return (lambda x: (lambda g: (lambda x: g ()) ("world")) (const (id (x)))) ("hello")
assert lhs () == rhs ()
none ();
```
関数`lhs`から関数`rhs`への書き換え規則は次のようになる。[rule]{#rule}
~~~ {.python}
y = f (x)
z = g (x, y)
rest (x, y, z)
==
(lambda y:
z = g (x, y)
rest (x, y, z)
) (f (x))
==
(lambda y: (lambda z: rest (x, y, z)) (g (x, y))) (f (x))
~~~
476デフォルトの名無しさん
2023/02/26(日) 23:25:12.65ID:Qcp1BikG この書き換え規則を適用した結果、関数`rhs`では、静的単一代入への変換は、
[ラムダ計算](https://en.wikipedia.org/wiki/Lambda_calculus)のアルファ変換
に置き換わる。この意味では、静的単一代入とアルファ変換は同じことになる。
実際のコードでは、分岐、ループ、副作用が入ってくるので、こんな単純は
話では済まないと思うが、極度に単純化すると、静的単一代入とアルファ変換は、
単に、方言の違いということになる。
Rの場合は、書き換え規則[rule](#rule)は等価な変換にならない可能性がある。
特に、プロミスの罠が現れた場合は、挙動が変わると思う。
余談だが、書き換え規則[rule](#rule)をモナドに拡張したものがHaskellの
[do-記法](https://en.wikibooks.org/wiki/Haskell/do_notation)になっている。
~~~ {.python}
y <- f (x)
z <- g (x, y)
rest (x, y, z)
==
kleisli-extension (lambda y:
z <- g (x, y)
rest (x, y, z)
) (f (x))
~~~
モナドが恒等関数の場合に[rule](#rule)に一致するので、do-記法を
[rule](#rule)の拡張と言って差し支えないと思う。
おしまい
[ラムダ計算](https://en.wikipedia.org/wiki/Lambda_calculus)のアルファ変換
に置き換わる。この意味では、静的単一代入とアルファ変換は同じことになる。
実際のコードでは、分岐、ループ、副作用が入ってくるので、こんな単純は
話では済まないと思うが、極度に単純化すると、静的単一代入とアルファ変換は、
単に、方言の違いということになる。
Rの場合は、書き換え規則[rule](#rule)は等価な変換にならない可能性がある。
特に、プロミスの罠が現れた場合は、挙動が変わると思う。
余談だが、書き換え規則[rule](#rule)をモナドに拡張したものがHaskellの
[do-記法](https://en.wikibooks.org/wiki/Haskell/do_notation)になっている。
~~~ {.python}
y <- f (x)
z <- g (x, y)
rest (x, y, z)
==
kleisli-extension (lambda y:
z <- g (x, y)
rest (x, y, z)
) (f (x))
~~~
モナドが恒等関数の場合に[rule](#rule)に一致するので、do-記法を
[rule](#rule)の拡張と言って差し支えないと思う。
おしまい
477デフォルトの名無しさん
2023/03/01(水) 23:45:23.13ID:X+BX12eb [トランスフォーマー](https://en.wikipedia.org/wiki/Transformer_(machine_learning_model))
についての記事: オーサーヒアーかな?
* [Coinductive guide to inductive transformer heads](https://news.ycombinator.com/item?id=34970877)
中を読んでいないが、アテンション機構を
[ホップ代数](https://en.wikipedia.org/wiki/Hopf_algebra)で説明、もしくは、
ホップ代数を使ってアテンション機構の類似物を導出するという話のようだ。
この手の救世主的な話はがっかりすることが多いので、過大な期待は禁物かも。
についての記事: オーサーヒアーかな?
* [Coinductive guide to inductive transformer heads](https://news.ycombinator.com/item?id=34970877)
中を読んでいないが、アテンション機構を
[ホップ代数](https://en.wikipedia.org/wiki/Hopf_algebra)で説明、もしくは、
ホップ代数を使ってアテンション機構の類似物を導出するという話のようだ。
この手の救世主的な話はがっかりすることが多いので、過大な期待は禁物かも。
478デフォルトの名無しさん
2023/03/02(木) 07:01:07.09ID:FFiKbXDz g = do.call(const, list(x)) ではどうだろう
479デフォルトの名無しさん
2023/03/02(木) 07:26:39.75ID:rDVggB7z RのS5クラス定義(setRefClass)ってsave、loadでシリアライズ、デシリアライズ出来ないのか
デシリアライズされたメンバ関数にアクセスできない
デシリアライズされたメンバ関数にアクセスできない
480デフォルトの名無しさん
2023/03/04(土) 20:31:08.80ID:0X36s/jF ## Rにおけるオブジェクト指向への取り組み
趣旨は新規フレームワークR7の紹介だが、既存のフレームワークの俯瞰図
としても使いやすいと思う。
* [What is R7? A New OOP System for R](https://www.jumpingrivers.com/blog/r7-oop-object-oriented-programming-r/)
## オブジェクト指向とは?
次の記事を取り上げてみる。
* [Object Oriented Programming Features of Rust](https://doc.rust-lang.org/book/ch17-00-oop.html)
内容については賛否両論だと思う。しかし、箇条書きできるということが、
オブジェクト指向が単一の概念でないことを示しているように思う。
## S3はオブジェクト指向か?
比較のために、S3のキーワード`default`を使わないで書く。
``` {r a_3770, dependson = ""}
none = with (new.env (), {
to_string = \(x, ...) UseMethod ("to_string", x)
as_string = \(x, ...) UseMethod ("as_string", x)
to_string.Base = \(x, ...) as_string (x, ...)
as_string.Base = \(x, ...) to_string (x, ...)
to_string.Derived = \(x, ...) paste0 ("hello ", class (x))
as_string.Derived = as_string.Base
structure (identity, class = "Derived") |> as_string () |> print ()
});
```
`Base`クラスは、関数`to_string`か関数`as_string`の"どちらか1つを実装せえ"と言っている。
趣旨は新規フレームワークR7の紹介だが、既存のフレームワークの俯瞰図
としても使いやすいと思う。
* [What is R7? A New OOP System for R](https://www.jumpingrivers.com/blog/r7-oop-object-oriented-programming-r/)
## オブジェクト指向とは?
次の記事を取り上げてみる。
* [Object Oriented Programming Features of Rust](https://doc.rust-lang.org/book/ch17-00-oop.html)
内容については賛否両論だと思う。しかし、箇条書きできるということが、
オブジェクト指向が単一の概念でないことを示しているように思う。
## S3はオブジェクト指向か?
比較のために、S3のキーワード`default`を使わないで書く。
``` {r a_3770, dependson = ""}
none = with (new.env (), {
to_string = \(x, ...) UseMethod ("to_string", x)
as_string = \(x, ...) UseMethod ("as_string", x)
to_string.Base = \(x, ...) as_string (x, ...)
as_string.Base = \(x, ...) to_string (x, ...)
to_string.Derived = \(x, ...) paste0 ("hello ", class (x))
as_string.Derived = as_string.Base
structure (identity, class = "Derived") |> as_string () |> print ()
});
```
`Base`クラスは、関数`to_string`か関数`as_string`の"どちらか1つを実装せえ"と言っている。
481デフォルトの名無しさん
2023/03/04(土) 20:34:04.91ID:0X36s/jF 似た内容をPythonで書いてみる。
``` {python a_8560, dependson = ""}
class Base:
def to_string (self): return self.as_string ()
def as_string (self): return self.to_string ()
class Derived (Base):
def to_string (self): return "hello " + type (self).__name__
Derived ().as_string ()
```
Haskellで書いてみる。
``` haskell
class Base_ a where
to_string :: a -> String
to_string = as_string
as_string :: a -> String
as_string = to_string
instance Base_ () where
to_string :: () -> String
to_string = ("hello " ++) . show
as_string ()
```
<pre>
"hello ()"
</pre>
``` {python a_8560, dependson = ""}
class Base:
def to_string (self): return self.as_string ()
def as_string (self): return self.to_string ()
class Derived (Base):
def to_string (self): return "hello " + type (self).__name__
Derived ().as_string ()
```
Haskellで書いてみる。
``` haskell
class Base_ a where
to_string :: a -> String
to_string = as_string
as_string :: a -> String
as_string = to_string
instance Base_ () where
to_string :: () -> String
to_string = ("hello " ++) . show
as_string ()
```
<pre>
"hello ()"
</pre>
482デフォルトの名無しさん
2023/03/04(土) 20:37:50.63ID:0X36s/jF ワンセットの関数群をインターフェースと書く。
1. Pythonのクラスでは、
* 構造体の定義とインターフェースの定義と実装が同時に行われる。
1. HaskellのクラスやRのS3では、
* 構造体とインターフェースは別々に定義される。
* インターフェースの実装は既存の"構造体"に対して行われる。
HaskellやRの"構造体"には、通常の構造体に加えて、関数も含まれる。
構造体とインターフェースが別々に定義される点で、RのS3はHaskellのクラスに
近いように思う。
おしまい
1. Pythonのクラスでは、
* 構造体の定義とインターフェースの定義と実装が同時に行われる。
1. HaskellのクラスやRのS3では、
* 構造体とインターフェースは別々に定義される。
* インターフェースの実装は既存の"構造体"に対して行われる。
HaskellやRの"構造体"には、通常の構造体に加えて、関数も含まれる。
構造体とインターフェースが別々に定義される点で、RのS3はHaskellのクラスに
近いように思う。
おしまい
483デフォルトの名無しさん
2023/03/26(日) 10:03:46.90ID:z5V/p30e join_by()が便利で感動した
気象データのマージがすごくシンプルになった
気象データのマージがすごくシンプルになった
484デフォルトの名無しさん
2023/03/26(日) 22:59:22.57ID:Dr7EPpsh 使用イメージがわかない。どのあたりが便利ですか?
485デフォルトの名無しさん
2023/03/27(月) 22:57:14.70ID:huaNY8vp 任意の地点・期間における測定値についての風向風速などの気象の影響をみるため近傍アメダスの気象データをマージする際に、便利になったと実感しました
具体的にはマージの際にbetween(時刻,)の条件が追加できるようになったのが大きいです
処理が重いかコードが長いかだった上のマージ処理が、join_by(地点名, between(time, start_time, end_time))で済むようになりました
具体的にはマージの際にbetween(時刻,)の条件が追加できるようになったのが大きいです
処理が重いかコードが長いかだった上のマージ処理が、join_by(地点名, between(time, start_time, end_time))で済むようになりました
486デフォルトの名無しさん
2023/03/30(木) 00:47:43.72ID:7ArmqfaI [非等価ジョイン](https://en.wikipedia.org/wiki/Relational_algebra)は
最近になって関数`dplyr::xxx_join`に導入されたらしい。
* Rで非等価結合 (2)
* [dplyr 1.1.0: Joins](https://www.tidyverse.org/blog/2023/01/dplyr-1-1-0-joins/)
[ラッキー](https://www.youtube.com/watch?v=xBJMr1v5Zuw)。
関数`vctrs::vec_locate_matches`には、以前から限定された形の非等価ジョイン
のオプションがあったので、実用的な形にするのに時間がかかったのかもしれない。
リスト内包表記が使いたいのでPythonで書く。
``` {python a_32372, dependson = ""}
#| cache: false
#
def slow_matches (pred, zipper): #{
def go (a, b): #{
a = pandas.DataFrame ({"" : a}).groupby ("").groups
b = pandas.DataFrame ({"" : b}).groupby ("").groups
key = ((j, k) for j in a.keys () for k in b.keys () if pred (j, k))
val = (zipper (a [j], b [k]) for (j, k) in key)
val = zip (* itertools.chain (* val))
return (numpy.fromiter (val, dtype = numpy.int32) for val in val)
#}
return go
#}
最近になって関数`dplyr::xxx_join`に導入されたらしい。
* Rで非等価結合 (2)
* [dplyr 1.1.0: Joins](https://www.tidyverse.org/blog/2023/01/dplyr-1-1-0-joins/)
[ラッキー](https://www.youtube.com/watch?v=xBJMr1v5Zuw)。
関数`vctrs::vec_locate_matches`には、以前から限定された形の非等価ジョイン
のオプションがあったので、実用的な形にするのに時間がかかったのかもしれない。
リスト内包表記が使いたいのでPythonで書く。
``` {python a_32372, dependson = ""}
#| cache: false
#
def slow_matches (pred, zipper): #{
def go (a, b): #{
a = pandas.DataFrame ({"" : a}).groupby ("").groups
b = pandas.DataFrame ({"" : b}).groupby ("").groups
key = ((j, k) for j in a.keys () for k in b.keys () if pred (j, k))
val = (zipper (a [j], b [k]) for (j, k) in key)
val = zip (* itertools.chain (* val))
return (numpy.fromiter (val, dtype = numpy.int32) for val in val)
#}
return go
#}
487デフォルトの名無しさん
2023/03/30(木) 00:49:00.50ID:7ArmqfaI def none (): #{
a = numpy.random.choice (8, 2 * 8, replace = True)
b = a + 4
def go (pred, zipper): #{
(j, k) = slow_matches (pred, zipper) (a, b)
out = pandas.DataFrame ({"a" : a [j], "b" : b [k]})
print (out)
#}
go (lambda a, b: a == b, itertools.product)
go (lambda a, b: a == b, lambda a, b: itertools.islice (zip (a, b), 1))
go (lambda a, b: abs (a - b) <= 1, itertools.product)
go (lambda a, b: abs (a - b) <= 1, lambda a, b: itertools.islice (zip (a, b), 1))
#}
none ();
```
`dplyr::xxx_join`の数々のオプションは理解できていないが、`NA`絡み以外は、
コールバック`pred`と`zipper`でかなりカバーしてるんじゃないかと思う。
ジョインの操作自体は明朗会計だが、実行時性能がボッタクリ価格に転嫁される
というプログラミング社会が抱える構造的な問題が反映されている。
おしまい
a = numpy.random.choice (8, 2 * 8, replace = True)
b = a + 4
def go (pred, zipper): #{
(j, k) = slow_matches (pred, zipper) (a, b)
out = pandas.DataFrame ({"a" : a [j], "b" : b [k]})
print (out)
#}
go (lambda a, b: a == b, itertools.product)
go (lambda a, b: a == b, lambda a, b: itertools.islice (zip (a, b), 1))
go (lambda a, b: abs (a - b) <= 1, itertools.product)
go (lambda a, b: abs (a - b) <= 1, lambda a, b: itertools.islice (zip (a, b), 1))
#}
none ();
```
`dplyr::xxx_join`の数々のオプションは理解できていないが、`NA`絡み以外は、
コールバック`pred`と`zipper`でかなりカバーしてるんじゃないかと思う。
ジョインの操作自体は明朗会計だが、実行時性能がボッタクリ価格に転嫁される
というプログラミング社会が抱える構造的な問題が反映されている。
おしまい
488デフォルトの名無しさん
2023/03/30(木) 18:24:14.72ID:Yqa5DxWU 一応Rスレだしコード一式を載せるならRにしてほしいな
489デフォルトの名無しさん
2023/03/31(金) 01:01:10.23ID:3FvfgxM7 正直、書き方を思い出すためだけに、話題にかこつけて、わざと異なる
プログラミング言語で書くこともある。しかし、今回は純粋に、処理の道筋を
単刀直入な形で表せるプログラミング言語を選択した。
[線形回帰](https://en.wikipedia.org/wiki/Linear_regression)を例にとる。
Rで線形回帰はとても書きやすい。しかし、線型回帰をRのイディオムとして
覚えるよりも、線形代数として覚えた方が長い目で見た時に利益になると思う。
同じように、等価ジョインは
[プルバック](https://en.wikipedia.org/wiki/Pullback_(category_theory)#Sets)
に対応する。等価ジョインを、Rのイディオムとして覚えるよりも、
単純な`for`ループの形で覚えた方が長い目で見た時に利益になると思う。
リスト内包記法は`for`ループを簡潔に書くための記法になっている。
プログラミング言語で書くこともある。しかし、今回は純粋に、処理の道筋を
単刀直入な形で表せるプログラミング言語を選択した。
[線形回帰](https://en.wikipedia.org/wiki/Linear_regression)を例にとる。
Rで線形回帰はとても書きやすい。しかし、線型回帰をRのイディオムとして
覚えるよりも、線形代数として覚えた方が長い目で見た時に利益になると思う。
同じように、等価ジョインは
[プルバック](https://en.wikipedia.org/wiki/Pullback_(category_theory)#Sets)
に対応する。等価ジョインを、Rのイディオムとして覚えるよりも、
単純な`for`ループの形で覚えた方が長い目で見た時に利益になると思う。
リスト内包記法は`for`ループを簡潔に書くための記法になっている。
490デフォルトの名無しさん
2023/04/15(土) 20:49:08.02ID:Mf5VNEJ8 プルバックの話の続きをアップした。
* [JSFiddle](https://jsfiddle.net/ytkhdpcq/show)
プルバックのカリー化の話になっている。プルバックの話はこれでお終い。
洗練された話は次の記事にある。
* [locally cartesian closed category in nLab](https://ncatlab.org/nlab/show/locally+cartesian+closed+category)
表計算の立場で見ると、"何が問題なのかわからない"問題かもしれない。
ある規則を満たす表でサマリーするとプルバックのカリー化になる。
* [JSFiddle](https://jsfiddle.net/ytkhdpcq/show)
プルバックのカリー化の話になっている。プルバックの話はこれでお終い。
洗練された話は次の記事にある。
* [locally cartesian closed category in nLab](https://ncatlab.org/nlab/show/locally+cartesian+closed+category)
表計算の立場で見ると、"何が問題なのかわからない"問題かもしれない。
ある規則を満たす表でサマリーするとプルバックのカリー化になる。
491デフォルトの名無しさん
2023/04/24(月) 19:43:15.59ID:Jj998bTN 4.3.0入れてみた
パイプがまたひとつ便利になっていい感じ
Windowsでパスが長くても通るようになったのも嬉しい
パイプがまたひとつ便利になっていい感じ
Windowsでパスが長くても通るようになったのも嬉しい
492デフォルトの名無しさん
2023/04/26(水) 12:00:07.89ID:GTOaZ7cP どなたか教えてくだされ
対照実験の医療統計をしたいと思って
傾向スコアマッチングにしようと思ってます
肺がん手術を実施した人たち200症例のうち10人だけ
手術後に合併症を起こしていました
この場合
「合併症を起こしたグループ」・・・10人
「合併症を起こさなかったグループ」・・・190人になり
患者の背景で傾向スコアマッチングをキャリパー幅0.2でペア分けすると
各群8人ずつの比較になってしまいます。
これで優位差を出す統計するには数が少なすぎるのであまりにも乱暴な統計になりますか?
それとも元々のサンプルが200人から選りすぐりのマッチングさせた8人ずつを選んでいるので8人ずつと少なくても問題ないですか?
対照実験の医療統計をしたいと思って
傾向スコアマッチングにしようと思ってます
肺がん手術を実施した人たち200症例のうち10人だけ
手術後に合併症を起こしていました
この場合
「合併症を起こしたグループ」・・・10人
「合併症を起こさなかったグループ」・・・190人になり
患者の背景で傾向スコアマッチングをキャリパー幅0.2でペア分けすると
各群8人ずつの比較になってしまいます。
これで優位差を出す統計するには数が少なすぎるのであまりにも乱暴な統計になりますか?
それとも元々のサンプルが200人から選りすぐりのマッチングさせた8人ずつを選んでいるので8人ずつと少なくても問題ないですか?
493デフォルトの名無しさん
2023/04/26(水) 18:48:06.52ID:ZF8W3LJH 共変量のバイアスがより少ないサンプルが得られますが、サイズが8人の二群比較なのは変わらないんじゃないかと思います
494デフォルトの名無しさん
2023/04/26(水) 23:58:34.61ID:GTOaZ7cP495デフォルトの名無しさん
2023/04/27(木) 08:26:17.11ID:vIGDv5il >>494
検定はサンプルサイズ込みの判定なので8人であっても二群に有意な差があったと言って差し支えありません
有意水準が甘ければ弱いとは感じますが
一方で、検定は標本のバイアスが除去できていることを保証してくれません
検定はサンプルサイズ込みの判定なので8人であっても二群に有意な差があったと言って差し支えありません
有意水準が甘ければ弱いとは感じますが
一方で、検定は標本のバイアスが除去できていることを保証してくれません
496デフォルトの名無しさん
2023/05/13(土) 14:17:33.54ID:LcdFqRfa497デフォルトの名無しさん
2023/05/16(火) 14:12:25.04ID:T6FZDpAX 4.3.0のWindows版はdir()にバグあるね
リストがまともに取得できない
4.2.3に戻した
リストがまともに取得できない
4.2.3に戻した
498デフォルトの名無しさん
2023/05/19(金) 19:12:10.55ID:LBQCZv0F EZR使ってる人いる?
499デフォルトの名無しさん
2023/05/19(金) 23:40:20.00ID:AtidLON9 EZRまだ更新続いてて驚いた
すごいな
すごいな
500デフォルトの名無しさん
2023/05/21(日) 15:55:45.05ID:Ifo/fxoU 10年以上前からあるスレでようやく500ゲット!
501デフォルトの名無しさん
2023/05/21(日) 20:10:58.14ID:F9CBOLLZ 750に達するのにもう10年を要するだろう
502デフォルトの名無しさん
2023/05/22(月) 00:40:13.35ID:Cnh2SEE8 tibbleを利用してデータ探索しているんだけど、2つの変数で条件つけて散布図つくるにはどんな手順踏んだらいいのか…
503デフォルトの名無しさん
2023/05/22(月) 06:06:37.46ID:wj8Gj0ut 変数1をプロットの色にして変数2をサイズにするとかじゃだめなの?
504デフォルトの名無しさん
2023/05/22(月) 09:44:06.92ID:/JtWuqEq それも一つの方法ですね。ありがとう
ただ、目的以外の条件をプロットしたくないのです。
tibbleの構成としては、観測が4時点、変数がたとえば6個(うち1つは個体識別番号で、変数としてはA-Eの5種類あるとしましょう)のような感じで、
散布図のx軸に「観測時点1における全個体の変数A」
y軸に「観測時点4における全個体の変数E」
をプロットしたいのです。
個体識別番号をキューにして、異なる時点の異なる種類の変数を散布図にするとでもいいましょうか…
ただ、目的以外の条件をプロットしたくないのです。
tibbleの構成としては、観測が4時点、変数がたとえば6個(うち1つは個体識別番号で、変数としてはA-Eの5種類あるとしましょう)のような感じで、
散布図のx軸に「観測時点1における全個体の変数A」
y軸に「観測時点4における全個体の変数E」
をプロットしたいのです。
個体識別番号をキューにして、異なる時点の異なる種類の変数を散布図にするとでもいいましょうか…
505デフォルトの名無しさん
2023/05/22(月) 11:53:24.61ID:wj8Gj0ut その要件だと以下のような感じでいけると思います
library(tidyverse)
df <- tibble(
time = rep(1:4, each = 5),
id = rep(1:5, 4),
a = rnorm(20),
b = rnorm(20),
c = rnorm(20),
d = rnorm(20),
e = rnorm(20)
)
df |>
pivot_wider(id_cols = id, names_from = time, values_from = c(a, e)) |>
ggplot(aes(a_1, e_4)) + geom_point()
library(tidyverse)
df <- tibble(
time = rep(1:4, each = 5),
id = rep(1:5, 4),
a = rnorm(20),
b = rnorm(20),
c = rnorm(20),
d = rnorm(20),
e = rnorm(20)
)
df |>
pivot_wider(id_cols = id, names_from = time, values_from = c(a, e)) |>
ggplot(aes(a_1, e_4)) + geom_point()
506デフォルトの名無しさん
2023/05/22(月) 14:40:05.73ID:7X6vWo+R ありがとうございます!
それをヒントに試してみます。
それをヒントに試してみます。
507デフォルトの名無しさん
2023/05/24(水) 23:00:43.06ID:1oF+cvFs >>505
これ、もしかして途中ではないですか?
これ、もしかして途中ではないですか?
508デフォルトの名無しさん
2023/05/25(木) 05:49:23.72ID:NLUeSyH/509デフォルトの名無しさん
2023/05/25(木) 07:49:04.33ID:DfoFl+x4510デフォルトの名無しさん
2023/05/26(金) 13:34:57.26ID:gPviguuO >>508
教えてもらったスクリプトでドンピシャでした、ありがとうございます。
教えてもらったスクリプトでドンピシャでした、ありがとうございます。
511デフォルトの名無しさん
2023/05/27(土) 00:00:44.30ID:qqVzW/zi どなたか統計素人の私に教えてください
医療でA群100名とB群100名をいろんな観点から
比較するとします
背景を揃えるために傾向スコア分析で
キャリパー0.2で取って30ペア(合計60人)を抽出しました
例えば
①アミラーゼの値とかを統計にかけたいときは、その60人のアミラーゼのデータをまずは正規分布かどうかをShapiro-wilk検定で測って、0.05を上回っていたら「正規分布」と見なして、今度はこれら60人のアミラーゼのデータが等分散かどうかを確認するためにf検定を行なって等分散だったらt検定(Student's t-test)、違ったらWelch's t-testで優位差があるかどうかを調べる。
もしShapiro-wilk検定が0.05未満で非正規分布だったときはMann-whitney's U検定で優位差があるかどうかを調べる。
↑Q1. この認識であってますか?
Q2. この正規分布を計るのはペアを作った後のデータ(n=60)で、正規分布かどうか?等分散かどうか?を見ますか?
それともマッチング前のデータ(n=200)で正規分布かどうか?等分散かどうか?を確認するべきですか?
Q3. アミラーゼじゃなくて他の連続変数の項目(BMIだったり、血圧だったり、白血球数だったり)の優位差を調べる場合も
全て上の流れで一つ一つの項目ごとで正規分布か?等分散か?など確認していって適宜、該当する算出法を項目ごとに採用して優位差を測る必要がありますか?
もし良ければ教えていただけるとありがたいです
医療でA群100名とB群100名をいろんな観点から
比較するとします
背景を揃えるために傾向スコア分析で
キャリパー0.2で取って30ペア(合計60人)を抽出しました
例えば
①アミラーゼの値とかを統計にかけたいときは、その60人のアミラーゼのデータをまずは正規分布かどうかをShapiro-wilk検定で測って、0.05を上回っていたら「正規分布」と見なして、今度はこれら60人のアミラーゼのデータが等分散かどうかを確認するためにf検定を行なって等分散だったらt検定(Student's t-test)、違ったらWelch's t-testで優位差があるかどうかを調べる。
もしShapiro-wilk検定が0.05未満で非正規分布だったときはMann-whitney's U検定で優位差があるかどうかを調べる。
↑Q1. この認識であってますか?
Q2. この正規分布を計るのはペアを作った後のデータ(n=60)で、正規分布かどうか?等分散かどうか?を見ますか?
それともマッチング前のデータ(n=200)で正規分布かどうか?等分散かどうか?を確認するべきですか?
Q3. アミラーゼじゃなくて他の連続変数の項目(BMIだったり、血圧だったり、白血球数だったり)の優位差を調べる場合も
全て上の流れで一つ一つの項目ごとで正規分布か?等分散か?など確認していって適宜、該当する算出法を項目ごとに採用して優位差を測る必要がありますか?
もし良ければ教えていただけるとありがたいです
512デフォルトの名無しさん
2023/05/27(土) 19:37:35.09ID:H+hysMph 素人だと思ううちは傾向スコアには手を出さないほうがいいような気がする
513デフォルトの名無しさん
2023/05/27(土) 22:19:54.02ID:Z7qvu7kx514デフォルトの名無しさん
2023/06/02(金) 21:25:38.69ID:AkfCPeTx writexlパッケージで保存すると時刻のタイムゾーンは反映されないのね
515デフォルトの名無しさん
2023/06/13(火) 17:38:19.62ID:J5T/voP2 ggraggedパッケージがなかなか便利
facet_grid()を詰めて並べられる
facet_grid()を詰めて並べられる
516デフォルトの名無しさん
2023/06/18(日) 13:00:54.90ID:13gXw1hf R4.3.1にした
dir()関連が直ってるようでひと安心
標準パイプの新機能もようやく使える
dir()関連が直ってるようでひと安心
標準パイプの新機能もようやく使える
517デフォルトの名無しさん
2023/06/18(日) 16:20:13.18ID:ECqif9s2 しっぽりしてえな
518デフォルトの名無しさん
2023/06/19(月) 07:17:50.83ID:lFY/Y6gc ggplot2のカラーパレットのデフォルトが変わったりしました?
棒グラフの色の割り当てが変わった気がする…
棒グラフの色の割り当てが変わった気がする…
519デフォルトの名無しさん
2023/06/19(月) 19:42:23.18ID:CYQnxNgF520デフォルトの名無しさん
2023/06/19(月) 20:01:30.62ID:b0yPHKbc 株価データを取得したいがためにRを弄り始めたけど中々難しいね
ググってコピペしたコードを一つ一つパッケージと関数の挙動を調べているけど
やりたいこと全てができるようになるまでは遠そうだ
ググってコピペしたコードを一つ一つパッケージと関数の挙動を調べているけど
やりたいこと全てができるようになるまでは遠そうだ
521デフォルトの名無しさん
2023/06/19(月) 22:06:40.20ID:J5tIl656522デフォルトの名無しさん
2023/06/22(木) 23:31:13.20ID:eZc4H/Dz 企業が求めるエンジニア言語ランキング 2位「R」
https://www.itmedia.co.jp/news/spv/2306/20/news183.html
3位以下を大きく引き離しててすごいけど…
Rユーザの少なさを反映しただけな気もする
https://www.itmedia.co.jp/news/spv/2306/20/news183.html
3位以下を大きく引き離しててすごいけど…
Rユーザの少なさを反映しただけな気もする
523デフォルトの名無しさん
2023/06/25(日) 11:51:31.98ID:JqE+uKYL Rの求人なんてみたことない…
524デフォルトの名無しさん
2023/06/25(日) 15:23:19.17ID:XZytU2Vy >求人数のトップ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の需要があったみたいだ
不思議
>このランキングは、SalesNow DBに1月1日から5月31日までに載った114万5294件の有効求人から算出した。
5ヶ月で30万件もあったらしい
Pythonが4万件弱なところを見るとデータ解析用言語を列記したわけじゃなく純粋にRの需要があったみたいだ
不思議
525デフォルトの名無しさん
2023/06/26(月) 18:52:56.83ID:wRy8Kzvb 結局企業で欲しいのは統計処理だから、統計処理ならRだろうっていう短絡的な
求人が多かったってことじゃない?
求人が多かったってことじゃない?
526デフォルトの名無しさん
2023/06/28(水) 18:59:42.22ID:z2KrS2jG いくつか求人サイト見てみたけどRのみなんて求人はほぼ皆無でほとんどがPythonとの併記だった
これ集計ミスかもね
同じ会社の別の期間のランキング見るとRは10位以内に入ってないし
これ集計ミスかもね
同じ会社の別の期間のランキング見るとRは10位以内に入ってないし
527デフォルトの名無しさん
2023/06/28(水) 19:11:13.31ID:pwcxWBkk 金が有ーる(R)といい
なんちって
なんちって
528デフォルトの名無しさん
2023/06/29(木) 08:36:21.11ID:szIurvDh 業∞!!!!
字∞!!!!!
苗∞!!!!!!
米∞!!!!!!!
畑∞!!!!!!!!
灰∞!!!!!!!!!
糞∞!!!!!!!!!!
机∞!!!!!!!!!!!
字∞!!!!!
苗∞!!!!!!
米∞!!!!!!!
畑∞!!!!!!!!
灰∞!!!!!!!!!
糞∞!!!!!!!!!!
机∞!!!!!!!!!!!
529デフォルトの名無しさん
2023/07/23(日) 03:41:51.31ID:SQtd3M8i 結構何年か前にRは結構古臭いし、言語仕様もわかりづらいし衰退するのでは、と書いているのを
読んだことがあるけど、逆に今だと他の商用統計パッケージが廃れる勢いなのにRって立場が盤石な
気がする
なんで?
読んだことがあるけど、逆に今だと他の商用統計パッケージが廃れる勢いなのにRって立場が盤石な
気がする
なんで?
530デフォルトの名無しさん
2023/07/24(月) 10:46:27.45ID:uQbqJHBb AIブームでPythonに全部もってかれると思ったけどそうでもなかったね
先発優位で統計屋や大学教授が昔からRユーザーってのもあるのかも?
ユーザー視点からだとtidyverseの存在が大きいと思う
505のように地味に手間がかかりそうな処理が関数ひとつでひょいと処理できるとかすごい
先発優位で統計屋や大学教授が昔からRユーザーってのもあるのかも?
ユーザー視点からだとtidyverseの存在が大きいと思う
505のように地味に手間がかかりそうな処理が関数ひとつでひょいと処理できるとかすごい
531デフォルトの名無しさん
2023/07/24(月) 12:50:03.13ID:IaCKgEWP ど〜も〜!ご存じオナニーマン チン太郎でーす!
532デフォルトの名無しさん
2023/07/25(火) 14:51:45.41ID:iTChcdyR >>529
今でもC/C++が盤石なのと同じ理由な気がする
今でもC/C++が盤石なのと同じ理由な気がする
533デフォルトの名無しさん
2023/07/25(火) 22:12:29.13ID:KSU0u1F8 とくに大学の研究室とかは、同じような機能のプログラムを別言語に
コンバートする作業は雑用でしかないので誰も積極的にはやらない。
RでできるのならこのままRでいいじゃん、もしくはフォートランでもw
みたいな感じ
やったところでなにか新しい知見が得られるわけもなし。
コンバートする作業は雑用でしかないので誰も積極的にはやらない。
RでできるのならこのままRでいいじゃん、もしくはフォートランでもw
みたいな感じ
やったところでなにか新しい知見が得られるわけもなし。
534デフォルトの名無しさん
2023/07/26(水) 14:36:34.35ID:/vrstjVu 昔の医学分野の統計処理はSASがデフォだったけど
COVID-19で疫学の人(西浦先生とか)がRガンガン使ってるの見て疫学以外でもRが広がってる
学会行くとggplotで書いたグラフいっぱい見る
COVID-19で疫学の人(西浦先生とか)がRガンガン使ってるの見て疫学以外でもRが広がってる
学会行くとggplotで書いたグラフいっぱい見る
535デフォルトの名無しさん
2023/07/30(日) 15:01:13.36ID:/zgOfttX ggplot2のデフォルトテーマは微妙なので変えているけどいつも悩む
ggthemesをもとにそこから装飾することが多い
ggthemesをもとにそこから装飾することが多い
536デフォルトの名無しさん
2023/07/31(月) 13:12:54.07ID:sgBBFIN2 >>533
むしろ結果が違ってたらωωω
むしろ結果が違ってたらωωω
537デフォルトの名無しさん
2023/08/08(火) 23:42:45.27ID:D9D8OCal Rしばらく使ってないから忘れそう
538デフォルトの名無しさん
2023/08/23(水) 14:24:09.90ID:LaIh/7Co ついにExcelでPython使えるようになるらしい
マイクロソフトはRのベンダー買収してMRANとかやってたのに時代の流れかな
マイクロソフトはRのベンダー買収してMRANとかやってたのに時代の流れかな
539デフォルトの名無しさん
2023/08/24(木) 07:11:35.29ID:UfAeCzV0 Pythonでexcel弄るのは
15年以上前から出来てるのを今更
excel上のpythonで実行する方が遅い可能性まである
15年以上前から出来てるのを今更
excel上のpythonで実行する方が遅い可能性まである
540デフォルトの名無しさん
2023/08/25(金) 13:03:41.78ID:8Z9WZ/AE PythonからExcelをいじることとExcelでPythonが動くことは全く違う
541デフォルトの名無しさん
2023/08/25(金) 13:58:38.54ID:5+gJach+ くりゃうどω
542デフォルトの名無しさん
2023/08/25(金) 14:03:48.50ID:HPTKrBcu pythonは何故かPCでJupyter notebookが不具合で使えなくてな
導入時点でコケるとその言語をやる気失くす…Rはその点、導入が簡単で良かった
導入時点でコケるとその言語をやる気失くす…Rはその点、導入が簡単で良かった
543デフォルトの名無しさん
2023/08/27(日) 01:44:38.85ID:VsjIkj4j Excelも最近はTidydata志向で、パワークエリやパワーピボットで再現性のある加工や分析が
できるようになってきているけど、使い始めはなかなかいいかな、と思ったがちょっと凝ると
やっぱり複雑化してメンテできないVBAみたいになっちゃうなw
ま、RやPythonだからメンテ性がいいというわけでもない気はするけどw
できるようになってきているけど、使い始めはなかなかいいかな、と思ったがちょっと凝ると
やっぱり複雑化してメンテできないVBAみたいになっちゃうなw
ま、RやPythonだからメンテ性がいいというわけでもない気はするけどw
544デフォルトの名無しさん
2023/08/27(日) 20:22:33.62ID:RTNKd3te Excelマクロ禁止してきた企業はPython機能も禁止しそう
Rを社員が使うケースなんてのはもうレア度SSRなんだろうね
Rを社員が使うケースなんてのはもうレア度SSRなんだろうね
545デフォルトの名無しさん
2023/08/28(月) 13:50:39.79ID:62AYCckx Rで学ぶなんとか分析とかいう本いっぱい出ているし、結構個人でやる気のあるやつは覚えるんじゃね?
R人口増えている印象。
R人口増えている印象。
546デフォルトの名無しさん
2023/08/28(月) 13:57:24.90ID:3YABDYXJ 昨日の統数研のワークショップ見て、大学や企業によってはライブラリのインストールに制限あったりでデフォルトで解析できるのがRが多言語に置き換わらない理由の一つなのかもなと思った
今後も「選択と集中」続けるどころか懸賞金型推進するようだから商用に金払うのも辛くなるとこも出てきそうね
今後も「選択と集中」続けるどころか懸賞金型推進するようだから商用に金払うのも辛くなるとこも出てきそうね
547デフォルトの名無しさん
2023/08/29(火) 18:08:36.20ID:vrxlGHM5 数が増えてることと数が少ないこととは違う
これ混同する人は結構多い
これ混同する人は結構多い
548デフォルトの名無しさん
2023/08/30(水) 15:28:57.25ID:zHni/Vbc 当社比200%
元が少なかっただけやろ
みたいな
元が少なかっただけやろ
みたいな
549デフォルトの名無しさん
2023/09/01(金) 21:33:15.97ID:T0/12uyc 自分は今の部署にいる間だけは統計解析するけど異動したらもう解析なんてしないからRのモチベは低いな
人事の巡り合わせでいつかまた今の部署に戻るかもしれないけど
人事の巡り合わせでいつかまた今の部署に戻るかもしれないけど
550デフォルトの名無しさん
2023/09/02(土) 10:50:19.16ID:aOHtbbKy 隙あらばどうでもいい自分語り
551デフォルトの名無しさん
2023/09/02(土) 14:49:02.94ID:DQO4DB1k 過疎スレでその煽りは馬鹿じゃねえの
552デフォルトの名無しさん
2023/09/02(土) 15:24:55.18ID:mCX3wjBN 本人だろ age てるのは
553デフォルトの名無しさん
2023/09/02(土) 15:27:52.78ID:DQO4DB1k ageを最近知ったみたいに強調してる馬鹿ww
554デフォルトの名無しさん
2023/11/26(日) 13:47:18.77ID:TX3Gb+56 [プッシュアウト](https://en.wikipedia.org/wiki/Pushout_%28category_theory%29)
について書いてみた。
[JSFiddle](https://jsfiddle.net/zLpqd9mj/show)
集合の圏でのプッシュアウトは
[等価ジョイン](https://en.wikipedia.org/wiki/Join_%28SQL%29#Equi-join)
の圏論的双対にあたる。
について書いてみた。
[JSFiddle](https://jsfiddle.net/zLpqd9mj/show)
集合の圏でのプッシュアウトは
[等価ジョイン](https://en.wikipedia.org/wiki/Join_%28SQL%29#Equi-join)
の圏論的双対にあたる。
555デフォルトの名無しさん
2023/11/26(日) 19:19:27.89ID:fOcIWwuE おーまんちょー!
556デフォルトの名無しさん
2023/12/02(土) 19:24:46.52ID:UAUVJeJE 前回のおーまんちょーでは一部のコードで途中から行番号が表示されるようになっていた。
多分、JSFiddleのエディターで`tidy`というボタンを押してしまったからだと思う。
実は、`prettydoc::html_pretty`で行番号が表示されないのを直したいと思っていた。
しかし、どこから手を付けたら良いかわからなかった。それが、ハプニングのおかげで
手の入れ場所がわかった。多分、HTMLとしては不整合な状況になっているが、
意図した通りに表示されるようになった。
[ありがとう、おーまんちょー](https://jsfiddle.net/105nohbq/show)
多分、JSFiddleのエディターで`tidy`というボタンを押してしまったからだと思う。
実は、`prettydoc::html_pretty`で行番号が表示されないのを直したいと思っていた。
しかし、どこから手を付けたら良いかわからなかった。それが、ハプニングのおかげで
手の入れ場所がわかった。多分、HTMLとしては不整合な状況になっているが、
意図した通りに表示されるようになった。
[ありがとう、おーまんちょー](https://jsfiddle.net/105nohbq/show)
557デフォルトの名無しさん
2023/12/15(金) 00:55:03.28ID:KmwBi9fF group_by()はmap()と組み合わせて使えないんだね
558デフォルトの名無しさん
2023/12/17(日) 12:11:13.68ID:j39jK9SN 一般的な意味では、そんなことないと思うよ。
状況によってはgroup_byとmapを組み合わせると上手く行くことがあると思う。
ぐるぐる図のくだりでグダグダなところがあったので、
[修正した](https://jsfiddle.net/6z7u3d09/show)。
アップした後にタイポを見つけたが、覆水盆に返らず。
状況によってはgroup_byとmapを組み合わせると上手く行くことがあると思う。
ぐるぐる図のくだりでグダグダなところがあったので、
[修正した](https://jsfiddle.net/6z7u3d09/show)。
アップした後にタイポを見つけたが、覆水盆に返らず。
559デフォルトの名無しさん
2023/12/17(日) 23:02:11.11ID:/RmbQ2uq 多変数の時系列データをクラスタリングするpackageをご存知であれば教えていただけますか…?
560デフォルトの名無しさん
2023/12/18(月) 00:40:20.74ID:+7hNKB64 知らない。
人がいれば、意味のない返事はしない方が良いかもしれないが、過疎だからね。
人がいれば、意味のない返事はしない方が良いかもしれないが、過疎だからね。
561デフォルトの名無しさん
2023/12/18(月) 23:51:29.23ID:t5S7JJTy あなたは地球上で何日過ごしてますか?
という問いに答える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))
あってますか?
という問いに答える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))
あってますか?
562デフォルトの名無しさん
2023/12/19(火) 00:23:50.21ID:jHCQnODd [Eto'o](https://en.wikipedia.org/wiki/Samuel_Eto%27o)はもう引退しました。
563デフォルトの名無しさん
2023/12/19(火) 00:58:14.13ID:jHCQnODd マジで聞いているんなら、テストツールの使い方を覚えた方が建設的だと思う。
個人的には、Haskellからの流れで
[quickcheck](https://github.com/RevolutionAnalytics/quickcheck)
しか経験したことがないが、他にもあると思う。
コードが合っているかどうかわからないが、パット見問題なさそうに見える。
問題があったとしても、デバッグで十分対応できるように見える。
[リーナスの法則](https://en.wikipedia.org/wiki/Linus%27s_law):
あたなが十分な暇人ならばバグはいずれ塞がれる。
個人的には、Haskellからの流れで
[quickcheck](https://github.com/RevolutionAnalytics/quickcheck)
しか経験したことがないが、他にもあると思う。
コードが合っているかどうかわからないが、パット見問題なさそうに見える。
問題があったとしても、デバッグで十分対応できるように見える。
[リーナスの法則](https://en.wikipedia.org/wiki/Linus%27s_law):
あたなが十分な暇人ならばバグはいずれ塞がれる。
564デフォルトの名無しさん
2023/12/19(火) 08:05:39.46ID:5FW9R46b >>563
サンクス
サンクス
565デフォルトの名無しさん
2023/12/20(水) 23:21:30.67ID:H48HUSxu 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.
クソ野郎: 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デフォルトの名無しさん
2023/12/21(木) 22:26:55.69ID:Jt1+wTI1 出禁になった。書けるかな?
てなわけで、ちゃっとじーぴーてーの残りの部分は割愛する。
意地悪クソ野郎と親切じーぴーてーにも共通することろがあって、
最後の締めはやっぱりリーナスの法則になる。言い方が全然違うけど。
親切じーぴーてーが例に挙げたテストコードがテストの基本形になると思う。
くいっくちぇっくのようなテストツールでは、テストケースをランダムに発生させるが、
そうしたテストツールが使えない場合も多々ある。テストツールが使えない場合は、
親切じーぴーてーが示したようなベタな方法で行くしかない。
てなわけで、ちゃっとじーぴーてーの残りの部分は割愛する。
意地悪クソ野郎と親切じーぴーてーにも共通することろがあって、
最後の締めはやっぱりリーナスの法則になる。言い方が全然違うけど。
親切じーぴーてーが例に挙げたテストコードがテストの基本形になると思う。
くいっくちぇっくのようなテストツールでは、テストケースをランダムに発生させるが、
そうしたテストツールが使えない場合も多々ある。テストツールが使えない場合は、
親切じーぴーてーが示したようなベタな方法で行くしかない。
567デフォルトの名無しさん
2023/12/21(木) 22:41:24.08ID:6SaY/e5W568デフォルトの名無しさん
2023/12/22(金) 00:02:15.06ID://WOG+3q 親切じーぴーてーとの会話を見返すと、関数を細分化して、(ナウ、干支、月日)
という三つ組を引数とする関数を作るのもありかな?という気がしてきた。
このように関数を細分化すると、テストケースが作りやすくなる。
という三つ組を引数とする関数を作るのもありかな?という気がしてきた。
このように関数を細分化すると、テストケースが作りやすくなる。
569デフォルトの名無しさん
2023/12/22(金) 15:14:15.66ID:BVAe/0CV かけるかな
570デフォルトの名無しさん
2024/01/04(木) 21:13:27.82ID:r+ggAGcN クラスタリングとか次元削減に関する教科書的な本ってありますか?
571デフォルトの名無しさん
2024/01/05(金) 00:08:11.56ID:Cbq0Hg0X かけるかな
統計の人でも機械学習の人でもないので、返事を書くのは心苦しいものがあるが、
過疎なのでしょうがない。統計処理と機械学習の区別がつかないぐらいの素人だよ。
ありきたりだけど:
* [朱鷺の杜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)
このようなケースでは立ち読みしてから買うこともできる。時々、非売品と商品の
両方が用意されていることがあるので、注意した方が良いかもしれない。
殊、次元削減で言えば、線形代数みないなもので、ありとあらゆる場所で使われるので、
俺の次元削減にジャストフィットするものを探すのは難しいかもしれない。
ちなみに、専門的には、学校の教室で研究会を開くのが統計で、リゾート地で
国際会議を開くのが機械学習らしい。
統計の人でも機械学習の人でもないので、返事を書くのは心苦しいものがあるが、
過疎なのでしょうがない。統計処理と機械学習の区別がつかないぐらいの素人だよ。
ありきたりだけど:
* [朱鷺の杜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)
このようなケースでは立ち読みしてから買うこともできる。時々、非売品と商品の
両方が用意されていることがあるので、注意した方が良いかもしれない。
殊、次元削減で言えば、線形代数みないなもので、ありとあらゆる場所で使われるので、
俺の次元削減にジャストフィットするものを探すのは難しいかもしれない。
ちなみに、専門的には、学校の教室で研究会を開くのが統計で、リゾート地で
国際会議を開くのが機械学習らしい。
572デフォルトの名無しさん
2024/05/02(木) 14:41:31.88ID:9naKJa9o 統計解析向けのプログラミング言語「R」の実装に欠陥、任意コード実行のおそれ
https://forest.watch.impress.co.jp/docs/news/1588724.html
https://forest.watch.impress.co.jp/docs/news/1588724.html
573デフォルトの名無しさん
2024/07/06(土) 23:18:34.28ID:dmyvQpwi 書けるかな?
[Rのリサイクル規則](https://jsfiddle.net/c617uwp9)
中にも書いたが、polyfill.ioはシリアスな案件なので、外だししておく。
[polyfill.io問題のQuarto・R Markdownへの影響](https://zenn.dev/yutannihilation/articles/252c7795433429)
[Rのリサイクル規則](https://jsfiddle.net/c617uwp9)
中にも書いたが、polyfill.ioはシリアスな案件なので、外だししておく。
[polyfill.io問題のQuarto・R Markdownへの影響](https://zenn.dev/yutannihilation/articles/252c7795433429)
574デフォルトの名無しさん
2024/07/17(水) 11:23:25.89ID:jPCMTQ1M ubuntu24.04対応のRstudio来ねーな・・・
575デフォルトの名無しさん
2024/08/20(火) 00:42:46.77ID:c8o+ygTe こねーなw
難航してるのかな。
難航してるのかな。
576デフォルトの名無しさん
2024/09/10(火) 01:06:21.09ID:SFqXDqGn 参考になるかな?
* [RStudio fails to run on Ubuntu 24.04 - Issue #14336 - rstudio/rstudio - GitHub](https://github.com/rstudio/rstudio/issues/14336)
他人事なら正論が吐ける。Dockerで試すのが吉。
実際には面倒なのでなかなかDockerで試してからとはいかないが、
他人事なら何でも言える。
* [RStudio fails to run on Ubuntu 24.04 - Issue #14336 - rstudio/rstudio - GitHub](https://github.com/rstudio/rstudio/issues/14336)
他人事なら正論が吐ける。Dockerで試すのが吉。
実際には面倒なのでなかなかDockerで試してからとはいかないが、
他人事なら何でも言える。
577デフォルトの名無しさん
2024/09/24(火) 00:03:09.15ID:B2G5MWgw Hacker-Newsネタ
1. [React for R | Hacker News](https://news.ycombinator.com/item?id=41554193)
2. [Why wordfreq will not be updated | Hacker News](https://news.ycombinator.com/item?id=41578483)
3. [Data Science Agent and Code Transformation | Hacker News](https://news.ycombinator.com/item?id=41622080)
4. [Terence Tao on O1 | Hacker News](https://news.ycombinator.com/item?id=41540902)
5. [Brainfuck Enterprise Solutions | Hacker News](https://news.ycombinator.com/item?id=41620198)
6. [What happened to the Japanese PC platforms? | Hacker News](https://news.ycombinator.com/item?id=41612984)
一年に一本くらいRについての投稿があるような気がする。
2番目は、個人的には、考えさせられる内容になっている。
3番目と4番目は夢のある話で、5番目は楽しい話になっている。
6番目はCPU業界栄枯盛衰の物語としても読むことができる。
Intelの運命や如何に。
1. [React for R | Hacker News](https://news.ycombinator.com/item?id=41554193)
2. [Why wordfreq will not be updated | Hacker News](https://news.ycombinator.com/item?id=41578483)
3. [Data Science Agent and Code Transformation | Hacker News](https://news.ycombinator.com/item?id=41622080)
4. [Terence Tao on O1 | Hacker News](https://news.ycombinator.com/item?id=41540902)
5. [Brainfuck Enterprise Solutions | Hacker News](https://news.ycombinator.com/item?id=41620198)
6. [What happened to the Japanese PC platforms? | Hacker News](https://news.ycombinator.com/item?id=41612984)
一年に一本くらいRについての投稿があるような気がする。
2番目は、個人的には、考えさせられる内容になっている。
3番目と4番目は夢のある話で、5番目は楽しい話になっている。
6番目はCPU業界栄枯盛衰の物語としても読むことができる。
Intelの運命や如何に。
578デフォルトの名無しさん
2024/09/30(月) 19:17:21.97ID:87Zg0Lej Rstudio ubuntu24版キタ
579デフォルトの名無しさん
2024/09/30(月) 19:32:04.73ID:87Zg0Lej とりあえず騒がれてた起動の不具合は解消されてるみたいだね
580デフォルトの名無しさん
2024/10/10(木) 01:08:17.58ID:Q3cGnE1w * [Nobel Prize in Physics awarded to John Hopfield and Geoffrey Hinton | Hacker News](https://news.ycombinator.com/item?id=41775463)
ノーベル物理学賞が機械学習系のお二方に決まった。
業績から言って文句なしのお二方だが、それが物理学賞?という疑問が湧く。
話に聞いていた物理学賞の選考基準は「物理現象の新発見」だった。
これが理由でarxivの作者が物理学賞を受賞しないと思っていた。
理数系の研究におけるarxivの貢献は過去10年分の物理学賞と化学賞と
フィールズ賞とチューリング賞を全て合わせたより大きいかもしれない。
個人的には次の2点が引っかかる。
* 何故、このタイミングで?
* お二方とも高名である。
こんなことを考えているうちに化学賞も似たようなことになった。
おいくら兆円?が頭をよぎる。
AI関連の投資への呼び水として利用されている疑念が拭えない。
もちろん、何事も変わらなければ消えてしまうし、変わりすぎても消えてしまう。
物理学や化学の定義も時代と共に変わっていくものだと思う。
ノーベル賞の選考基準も時代と共に変わっていくものだろう。
しかし、今回のノーベル賞は偶然の一致の度合いが大きすぎる気がする。
ノーベル物理学賞が機械学習系のお二方に決まった。
業績から言って文句なしのお二方だが、それが物理学賞?という疑問が湧く。
話に聞いていた物理学賞の選考基準は「物理現象の新発見」だった。
これが理由でarxivの作者が物理学賞を受賞しないと思っていた。
理数系の研究におけるarxivの貢献は過去10年分の物理学賞と化学賞と
フィールズ賞とチューリング賞を全て合わせたより大きいかもしれない。
個人的には次の2点が引っかかる。
* 何故、このタイミングで?
* お二方とも高名である。
こんなことを考えているうちに化学賞も似たようなことになった。
おいくら兆円?が頭をよぎる。
AI関連の投資への呼び水として利用されている疑念が拭えない。
もちろん、何事も変わらなければ消えてしまうし、変わりすぎても消えてしまう。
物理学や化学の定義も時代と共に変わっていくものだと思う。
ノーベル賞の選考基準も時代と共に変わっていくものだろう。
しかし、今回のノーベル賞は偶然の一致の度合いが大きすぎる気がする。
581デフォルトの名無しさん
2024/10/10(木) 12:14:46.24ID:bwO1aVtU 数学症も無いし
CS賞部門も増設すべきだよな
CS賞部門も増設すべきだよな
582デフォルトの名無しさん
2024/10/11(金) 14:00:28.70ID:W/ZPwHBO 放送大学の秋山先生の講座ってどうなの?
583デフォルトの名無しさん
2025/01/21(火) 21:45:31.47ID:Q1AkQbXB Rには関係ないが、資料として置いておく。
* [PCAST Reports (2020-2025)](https://www.erichorvitz.com/PCAST_reports_2020-2025.htm)
* [Documents & Reports | PCAST | The White House](https://web.archive.org/web/20250116064747/https://www.whitehouse.gov/pcast/documents-reports/)
中身は全く読んでいないが、次の討論会を見る限り、政治色はないと思う。
* [PCAST: Discussion of Artificial Intelligence (AI) Enabling Science and AI Impacts on Society - YouTube](https://www.youtube.com/watch?v=gZb7Yr4C8po)
* [PCAST Reports (2020-2025)](https://www.erichorvitz.com/PCAST_reports_2020-2025.htm)
* [Documents & Reports | PCAST | The White House](https://web.archive.org/web/20250116064747/https://www.whitehouse.gov/pcast/documents-reports/)
中身は全く読んでいないが、次の討論会を見る限り、政治色はないと思う。
* [PCAST: Discussion of Artificial Intelligence (AI) Enabling Science and AI Impacts on Society - YouTube](https://www.youtube.com/watch?v=gZb7Yr4C8po)
584デフォルトの名無しさん
2025/02/04(火) 00:46:14.41ID:V6kAFtDi この話題は政治色抜きでは語れないと思うが、それを抜きにして、
アメリカ政府の発行したデータを使っている人がいれば、注意が必要になると思う。
* [Backing Up US Federal Databases | The n-Category Cafe](https://golem.ph.utexas.edu/category/2025/02/backing_up_us_federal_database.html)
* [CDC data are disappearing | Hacker News](https://news.ycombinator.com/item?id=42897696)
アメリカ政府の発行したデータを使っている人がいれば、注意が必要になると思う。
* [Backing Up US Federal Databases | The n-Category Cafe](https://golem.ph.utexas.edu/category/2025/02/backing_up_us_federal_database.html)
* [CDC data are disappearing | Hacker News](https://news.ycombinator.com/item?id=42897696)
585デフォルトの名無しさん
2025/02/15(土) 21:36:58.32ID:jpL9Lr/5 次の動画の音声だけ聞いていたところ、只者でない気配を感じた。訳者の腕もあると思う。
* [GPT解説2 アテンションの仕組み (Attention, Transformer) | Chapter6, 深層学習 - YouTube](https://www.youtube.com/watch?v=j3_VgCt18fA)
そこで、動画を見ると、丁寧なアニメが動いているじゃありませんか。
手練が作っていると思うが、それでも相当制作時間がかかっていると思う。
おまけだが、声質やゆったりさ加減がiPadの広島弁の解説に似ているように感じた。
あんたあ中国新聞読むじゃろ。あんたが数学に合わせる必要はないんよ。
数学の方があんたのええように合わせるけえ。だといいね。
外のホームページでは、カテゴリ分けされているので、外の方が番組を選びやすいかもしれない。
* [3Blue1Brown](https://www.3blue1brown.com/#lessons)
* [GPT解説2 アテンションの仕組み (Attention, Transformer) | Chapter6, 深層学習 - YouTube](https://www.youtube.com/watch?v=j3_VgCt18fA)
そこで、動画を見ると、丁寧なアニメが動いているじゃありませんか。
手練が作っていると思うが、それでも相当制作時間がかかっていると思う。
おまけだが、声質やゆったりさ加減がiPadの広島弁の解説に似ているように感じた。
あんたあ中国新聞読むじゃろ。あんたが数学に合わせる必要はないんよ。
数学の方があんたのええように合わせるけえ。だといいね。
外のホームページでは、カテゴリ分けされているので、外の方が番組を選びやすいかもしれない。
* [3Blue1Brown](https://www.3blue1brown.com/#lessons)
586デフォルトの名無しさん
2025/03/10(月) 01:40:13.55ID:trsagf4Z 0. [I'll be back](https://www.youtube.com/watch?v=kw41Yyfyh_0)
1. [Public health data disappeared. RestoredCDC.org is bringing it back | Hacker News](https://news.ycombinator.com/item?id=43248610)
CDC was back.
続報
2. [Introduction to Stochastic Calculus | Hacker News](https://news.ycombinator.com/item?id=43160779)
伊藤さん is ubiquitously back.
3. [Differentiable Logic Cellular Automata | Hacker News](https://news.ycombinator.com/item?id=43286161)
車輪の大発明 will be back again and again.
[量子解析学](https://en.wikipedia.org/wiki/Quantum_calculus)
の言い出しっぺはオイラーやヤコビらしいが、これは
[Brzozowski微分](https://en.wikipedia.org/wiki/Brzozowski_derivative)
と通常の微分を結ぶ。読んでいないが、おそらく、記事では、
何らかの活性化関数の極限として論理式が再現するようにしているんじゃないかと思う。
量子力学は、ポアソン括弧の構造を保つように、ニュートン力学を変形する。
プランク定数がゼロの極限でニュートン力学になる。
量子解析学は、ライプニッツ則の構造を保つように、微分を差分に書き直す。
変形パラメータqがゼロの極限でBrzozowski微分になる。
1. [Public health data disappeared. RestoredCDC.org is bringing it back | Hacker News](https://news.ycombinator.com/item?id=43248610)
CDC was back.
続報
2. [Introduction to Stochastic Calculus | Hacker News](https://news.ycombinator.com/item?id=43160779)
伊藤さん is ubiquitously back.
3. [Differentiable Logic Cellular Automata | Hacker News](https://news.ycombinator.com/item?id=43286161)
車輪の大発明 will be back again and again.
[量子解析学](https://en.wikipedia.org/wiki/Quantum_calculus)
の言い出しっぺはオイラーやヤコビらしいが、これは
[Brzozowski微分](https://en.wikipedia.org/wiki/Brzozowski_derivative)
と通常の微分を結ぶ。読んでいないが、おそらく、記事では、
何らかの活性化関数の極限として論理式が再現するようにしているんじゃないかと思う。
量子力学は、ポアソン括弧の構造を保つように、ニュートン力学を変形する。
プランク定数がゼロの極限でニュートン力学になる。
量子解析学は、ライプニッツ則の構造を保つように、微分を差分に書き直す。
変形パラメータqがゼロの極限でBrzozowski微分になる。
587デフォルトの名無しさん
2025/05/22(木) 01:15:55.60ID:+HZBQ7+B RStudioを更新したらreticulateが動作しなくなった。
* [Release reticulate 1.41.0 - rstudio/reticulate - GitHub](https://github.com/rstudio/reticulate/releases/tag/v1.41.0)
今までどうやって動作させてたんだ?記憶にございません。
というわけで、一からやり直した。ワイのPython環境:
* システムにPython via sudo apt
* ユーザーにもPythonパッケージ via pip3
ワイの処方箋:
* in .Rprofile: Sys.setenv (RETICULATE_PYTHON = "/usr/bin/python3")
Pythonのvenvを使う場合は、Sys.setenv (RETICULATE_PYTHON_ENV = path-to-venv)でいける。
似た話題で、
* [Show HN: Rv, a Package Manager for R | Hacker News](https://news.ycombinator.com/item?id=44006735)
* [Release reticulate 1.41.0 - rstudio/reticulate - GitHub](https://github.com/rstudio/reticulate/releases/tag/v1.41.0)
今までどうやって動作させてたんだ?記憶にございません。
というわけで、一からやり直した。ワイのPython環境:
* システムにPython via sudo apt
* ユーザーにもPythonパッケージ via pip3
ワイの処方箋:
* in .Rprofile: Sys.setenv (RETICULATE_PYTHON = "/usr/bin/python3")
Pythonのvenvを使う場合は、Sys.setenv (RETICULATE_PYTHON_ENV = path-to-venv)でいける。
似た話題で、
* [Show HN: Rv, a Package Manager for R | Hacker News](https://news.ycombinator.com/item?id=44006735)
レスを投稿する
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
