Suche senden
Hochladen
Rのハラワタ
•
Als PPTX, PDF herunterladen
•
6 gefällt mir
•
2,271 views
Nobukuni Kino
Folgen
R言語の動作解説初級編
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 16
Jetzt herunterladen
Empfohlen
Lispのべんきょう
Lispのべんきょう
Hatori Kouiti
定理証明言語によるハードウェア検証
定理証明言語によるハードウェア検証
Shunji Nishimura
基礎セミ 言語とコンピュータ 第12回目 資料
基礎セミ 言語とコンピュータ 第12回目 資料
domitry
Whyfields
Whyfields
Hiroaki KOBAYASHI
Nagoya.R #12 非線形の相関関係を検出する指標の算出
Nagoya.R #12 非線形の相関関係を検出する指標の算出
Yusaku Kawaguchi
lubridateパッケージ入門
lubridateパッケージ入門
Takashi Kitano
MICの解説
MICの解説
logics-of-blue
未踏事業とは
未踏事業とは
Nobukuni Kino
Empfohlen
Lispのべんきょう
Lispのべんきょう
Hatori Kouiti
定理証明言語によるハードウェア検証
定理証明言語によるハードウェア検証
Shunji Nishimura
基礎セミ 言語とコンピュータ 第12回目 資料
基礎セミ 言語とコンピュータ 第12回目 資料
domitry
Whyfields
Whyfields
Hiroaki KOBAYASHI
Nagoya.R #12 非線形の相関関係を検出する指標の算出
Nagoya.R #12 非線形の相関関係を検出する指標の算出
Yusaku Kawaguchi
lubridateパッケージ入門
lubridateパッケージ入門
Takashi Kitano
MICの解説
MICの解説
logics-of-blue
未踏事業とは
未踏事業とは
Nobukuni Kino
未踏事業とは
未踏事業とは
Nobukuni Kino
Fossライセンスとビジネス
Fossライセンスとビジネス
Nobukuni Kino
Bitcoin2014
Bitcoin2014
Nobukuni Kino
Julia入門
Julia入門
Nobukuni Kino
そういえばRとはなんだったか
そういえばRとはなんだったか
Nobukuni Kino
ソフトウェアの権利とOSS,CC
ソフトウェアの権利とOSS,CC
Nobukuni Kino
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Weitere ähnliche Inhalte
Mehr von Nobukuni Kino
未踏事業とは
未踏事業とは
Nobukuni Kino
Fossライセンスとビジネス
Fossライセンスとビジネス
Nobukuni Kino
Bitcoin2014
Bitcoin2014
Nobukuni Kino
Julia入門
Julia入門
Nobukuni Kino
そういえばRとはなんだったか
そういえばRとはなんだったか
Nobukuni Kino
ソフトウェアの権利とOSS,CC
ソフトウェアの権利とOSS,CC
Nobukuni Kino
Mehr von Nobukuni Kino
(6)
未踏事業とは
未踏事業とは
Fossライセンスとビジネス
Fossライセンスとビジネス
Bitcoin2014
Bitcoin2014
Julia入門
Julia入門
そういえばRとはなんだったか
そういえばRとはなんだったか
ソフトウェアの権利とOSS,CC
ソフトウェアの権利とOSS,CC
Kürzlich hochgeladen
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Kürzlich hochgeladen
(10)
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
Rのハラワタ
1.
Rのハラワタをちょっとだけ見てみる TokyoR 2010/8/28
Nikoriks
2.
自己紹介 誰:26歳で起業=人生の半分より前 過:K-Prolog
Compiler を作りました。 過:S をBell Labs.と契約して、日本に持ってきました。(アイザック) 日本語化やGUI化をして売りました。(社員が) SやRから離れて、ん10年 故:大規模計算、大規模データ、Rが注目される時代になった 興:えさを与えて育てること Ex.天然酵母パン、味噌、ビール風飲料、ベンチャー企業 趣:ギャンブル=麻雀と人生 言語処理系がもともと専門、統計については知識なし
3.
4.
5.
6.
R は式をどうやって評価するか RのプログラムもデータもSEXPというデータ構造である
・プログラムをファイルから読む ・トップレベルで入力する プログラムは、構文の構造をそのまま表す木をSEXPで内部表現 ・関数、for、代入などそのまま インタプリタはC言語で書かれている ・eval()という関数がSEXPを評価する 構文要素におよそ対応して、評価する関数がある
7.
Rのトップレベル main.c: /*
Read-Eval-Print Loop */ for(;;) { R_PPStackTop = savestack; R_CurrentExpr = R_Parse1File(fp, 1, &status, &ParseState); switch (status) { case PARSE_OK: ... PROTECT(R_CurrentExpr); R_CurrentExpr = eval(R_CurrentExpr, rho); SET_SYMVALUE(R_LastvalueSymbol, R_CurrentExpr); UNPROTECT(1); if (R_Visible) PrintValueEnv(R_CurrentExpr, rho); }
8.
eval() 評価する式 eval.c
SEXP eval(SEXP e, SEXP rho) switch (TYPEOF(e)) { case NILSXP: case LISTSXP: .... case LANGSXP: if (TYPEOF(CAR(e)) == SYMSXP) if (TYPEOF(op) == SPECIALSXP) { } 環境(どこで呼び出されたか、変数はどうなっているか) 教えて:rhoは何の略? 構文要素による場合分け
9.
SEXPのデータ構造 SEXPREC=*SEXPR structsxpinfo_structsxpinfo;
struct SEXPREC *attrib; struct SEXPREC *gengc_next_node, *gengc_prev_node union {} ・3ワードのへダー ・実データ(へダーのあとunionのところ) ・境界整列のための仕掛け
10.
関数の呼び出し 普通の関数の場合 PROTECT(op
= findFun(CAR(e), rho)); PROTECT(tmp = promiseArgs(CDR(e), rho)); /* arglist */ SEXP applyClosure(SEXP call, SEXP op, SEXP arglist, SEXP rho, SEXP suppliedenv) SETJMP(cntxt.cjmpbuf) PROTECT(tmp = eval(body, newrho)) ・applyClosureは、引数を処理して関数本体をeval() ・return がlongjmpなので、setjmpを準備 return do_return(SEXP call, SEXP op, SEXP args, SEXP rho) findcontext(int mask, SEXP env, SEXP val) LONGJMP(cptr->cjmpbuf, mask);
11.
引数をevalしないとき ・引数を処理して、関数本体をeval() ・specialfunctions
の場合は、引数をevalしない Special function は引数を評価しない点がbuiltinと異なる
12.
環境を作る SEXP NewEnvironment(SEXP
namelist, SEXP valuelist, SEXP rho){ newrho->sxpinfo = UnmarkedNodeTemplate.sxpinfo; TYPEOF(newrho) = ENVSXP; FRAME(newrho) = valuelist; ENCLOS(newrho) = rho; HASHTAB(newrho) = R_NilValue; ATTRIB(newrho) = R_NilValue; v = valuelist; n = namelist; while (v != R_NilValue && n != R_NilValue) { SET_TAG(v, TAG(n)); v = CDR(v); n = CDR(n); } return (newrho); } actual formal
13.
repeat,while repeatstatement do_repeat(SEXP
call, SEXP op, SEXP args, SEXP rho) body = CAR(args); for (;;) { eval(body, rho); } while (statement1) statement2 do_while(SEXP call, SEXP op, SEXP args, SEXP rho) while (asLogicalNoNA(eval(CAR(args), rho), call)) { eval(body, rho); } ・繰り返し構文は、C言語レベルでも繰り返しで処理
14.
for for (name
in vector) statement1 do_for(SEXP call, SEXP op, SEXP args, SEXP rho) val = CADR(args); body = CADDR(args) if (isList(val) || isNull(val)) { n = length(val); PROTECT_WITH_INDEX(v = R_NilValue, &vpi); } else { n = LENGTH(val); PROTECT_WITH_INDEX(v = allocVector(TYPEOF(val), 1), &vpi); } for (i = 0; i < n; i++) { switch (TYPEOF(val)) { case LGLSXP: ... } REPROTECT(ans = eval(body, rho), api); } ・for文を処理してnを求め、本体をn回繰り返す
15.
lapplyなど apply.c /*
.Internal(lapply(X, FUN)) */ do_lapply(SEXP call, SEXP op, SEXP args, SEXP rho) PROTECT(XX = eval(CAR(args), rho)); FUN = CADR(args); /* must be unevaluated for use in e.g. bquote */ n = length(XX); .. PROTECT(R_fcall = LCONS(FUN, LCONS(tmp, LCONS(R_DotsSymbol, R_NilValue)))); for(i = 0; i < n; i++) { INTEGER(ind)[0] = i + 1; SET_VECTOR_ELT(ans, i, eval(R_fcall, rho)); } 要素を引数として繰り返し
16.
To be continued
17.
ちょこっと宣伝 Rによるソーシャルネットワーク分析入門 日時:2010年9月11日(土)
10:30~16:40 講師:鈴木努氏 (東京工業大学) 内容:R を使ったソシアルネットワーク分析の理論と分析法 場所:ソフトウェア科学会全国大会併設チュートリアル @津田塾大学 小平キャンパス 参加費:12,000円(学生は4,000円) 会員は半額 詳しくは、http://www.jssst.or.jp/ 全国大会案内にあります
Jetzt herunterladen