- 1 名前:132人目の素数さん mailto:sage [2011/01/09(日) 17:31:49 ]
- R は統計計算とグラフィックスのための言語・環境です。
統計計算で重宝するデータ型や、複数要素を処理する演算や関数、 解析結果を表示するグラフィックなど、多彩な機能を提供します。 ●関連サイト The R Project www.r-project.org/ RjpWiki www.okada.jp.org/RWiki/ リンク集 www.okada.jp.org/RWiki/?%A5%EA%A5%F3%A5%AF%BD%B8
- 596 名前:132人目の素数さん mailto:sage [2012/08/05(日) 22:25:40.52 ]
- n=1,2,...,Nに対してP(n)のデータがあります
このデータがどの確率分布か言い当てることはできますか
- 597 名前:132人目の素数さん mailto:sage [2012/08/05(日) 23:48:09.66 ]
- >>596
これまた宿題っぽい。 質問の動機や、動機を得るに至った背景を説明してもらえますか
- 598 名前:132人目の素数さん mailto:sage [2012/08/07(火) 01:02:34.43 ]
- >>597
R触ってみようと思って最初に思い浮かんだのがこれ なんだけど探しても見つからないもんだからここで聞くことにした
- 599 名前:132人目の素数さん mailto:sage [2012/08/07(火) 04:10:01.29 ]
- >>598
ググると「コルモゴロフ-スミルノフ検定」というのが出てきた。
- 600 名前:132人目の素数さん mailto:sage [2012/08/07(火) 13:49:09.80 ]
- >>596
>>599さんの答えだけだと、初心者はどうしてよいか分からないと思うので助言します。 > RSiteSearch("Kolmogorov-Smirnov") 以上。
- 601 名前:132人目の素数さん [2012/08/08(水) 15:54:24.83 ]
- Mac版Rのデフォルトでのフォントって何でしたっけ?
コマンド入力中にうっかりよくわからないキー押してしまったみたいでフォントが変わってしまって・・。
- 602 名前:baka描 ◆ghclfYsc82 mailto:age [2012/08/08(水) 17:29:54.67 ]
- 描
>14 名前:132人目の素数さん :2012/08/07(火) 17:39:00.96 > >>13 > 旧コテ猫あらため描つまりお前自身の事だろ、増田哲也に限り無く近い人間。 > 筑波大学で痴漢と言えば増田哲也だから連続性も明らかになってるから > わざわざ限り無く近い人間なんて呼び方しなくていいんだけどな >
- 603 名前:132人目の素数さん [2012/08/08(水) 19:18:57.57 ]
- __ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
- 604 名前:132人目の素数さん [2012/08/08(水) 21:07:17.90 ]
- __ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
- 605 名前:132人目の素数さん mailto:sage [2012/08/12(日) 19:33:37.42 ]
- Rで、グラフとして描画されているデータをテキスト出力出来ますか?
Rを使える人が私以外いないので、 Excelで配布しなければなりません。 今は描画前の関数データを張り付けていますが、 縦軸が変わってしまうので、グラフ描画からそのまま出力したいと思っています。
- 606 名前:132人目の素数さん mailto:sage [2012/08/13(月) 09:08:15.60 ]
- >>605
意味が分からない。 > Rで、グラフとして描画されているデータをテキスト出力出来ますか? Rグラフィックで描画するには、描画するためのデータがあると思うのだけど。 もしそうなら、そのままテキスト出力すればよいと思うが、 そんなことをわざわざ質問するとは思えないから、よく分からない。 テキスト出力とExcelの関連も意味不明。 > a <- data.frame(x=runif(10), y=runif(10)) というデータフレームがあったとして、 > plot(a) とRグラフィックに描画して、次のようにすればテキスト出力される。 > a x y 1 0.1401729 0.223354073 2 0.8426009 0.880151101 3 0.2795089 0.002605373 4 0.8179064 0.131089282 5 0.3903741 0.580761547 6 0.1708031 0.793535840 7 0.8964184 0.198217040 8 0.6109237 0.136335747 9 0.7519352 0.367561028 10 0.6382441 0.429468494
- 607 名前:132人目の素数さん mailto:sage [2012/08/13(月) 09:53:15.56 ]
- >>606
なるほど。データフレームにしてしまえばトラブルを解消できそうです。 今まで、xとyを別々に指定するような作業をしていたので気が付きませんでした。 ありがとうございました。
- 608 名前:132人目の素数さん [2012/08/26(日) 09:50:32.98 ]
- 教えてください。
開始日,数 1,5 2,2 3,4 4,8 …… 30,5 のような時系列データの信頼区間やピークを求めたいのですが、 解説サイトとかないでしょうか。
- 609 名前:132人目の素数さん mailto:sage [2012/08/27(月) 11:10:35.51 ]
- >>608
ピークを得るためには、当てはめる関数の形が必要でしょう。 あなたの研究対象に対する先験的知識が本質的に必要だと思われます。 例えばポアソン分布に当てはめられるタイプのデータだと次のようになります。 d <- data.frame(x=1:30, y=round((dpois(1:30,10) + runif(30, max = 0.01))*100)) barplot(d$y, names.arg = 1:30) こんなサンプルデータで、nls()を使って、 m1 <- nls(y ~ (a * (lambda^x*exp(-lambda)/gamma(x+1)) + b), start = c(a = 1, b = 1, lambda = 10), data = d) とすると、 > max(predict(m1)) [1] 13.14048 > which.max(predict(m1)) [1] 9 9日目で最大値13のピークになることが分かります。
- 610 名前:132人目の素数さん [2012/09/14(金) 21:05:08.72 ]
- windowsXP世代の4GBマシンで100万レコードオーダーのdataframeを
ggplot2で描画しようとするとメモリオーバーになってしまう なんかうまい方法はないものか
- 611 名前:132人目の素数さん mailto:sage [2012/09/15(土) 00:15:23.75 ]
- >>610
分割して描画すればどうなる? ggplot2じゃないけど、例えばこんな風に。 > d <- data.frame(x = runif(100), y = runif(100)) > plot(d[1:25, ], xlim = range(d$x), ylim=range(d$y)) > points(d[26:50, ]) > points(d[51:75, ]) > points(d[76:100, ])
- 612 名前:132人目の素数さん [2012/09/15(土) 09:17:37.47 ]
- >>611
どうもです 確かに仰る通り、::baseのplotならば可能です 後だしですんませんが ・見た目のキレイさ (というか先進性というか凄いことやってそうに見せられるというか。。苦笑 ・カテゴリカル変数20こ程度 ・引き継ぎやデータ更新等を考えて 作図のためのデータハンドリングのコーディングは最少にしたい ・自分自身の興味w のような趣旨でggplot2でやりたいのです
- 613 名前:132人目の素数さん mailto:sage [2012/09/15(土) 20:06:17.90 ]
- >>610
32bit?64bit?
- 614 名前:132人目の素数さん [2012/09/15(土) 21:09:24.15 ]
- >>613
32bitです 会社の端末なんで詳細は不明ですが 5年くらい前の型で家庭用PCです Rは2.15.0でパッケージは最新です ggplot2_0.9.2.1
- 615 名前:132人目の素数さん [2012/09/15(土) 22:21:52.64 ]
- __ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
- 616 名前:132人目の素数さん mailto:sage [2012/09/17(月) 13:49:31.71 ]
- ggplotでも分割してできるでしょ。
それでも最後の描画の際にエラーになっちゃうかな?
- 617 名前:132人目の素数さん mailto:sage [2012/09/18(火) 00:00:46.90 ]
- >>616
はい。 ggplot2オブジェクトにそうさをくわえることはできますが、 プロットするさいにメモリオーバーエラーとなってしまいます。 (プロットせずにggsaveしようとしてもおなじです)
- 618 名前:132人目の素数さん mailto:sage [2012/09/18(火) 14:41:03.61 ]
- >>617
じゃあ、データを間引きするしか方法がないのでは? そもそも100万レコードを視覚化するのに、 そのまま100万レコードが必要なのか? 100万からサンプリングして1万で図を描いても同じ図になる気がするぞ。
- 619 名前:132人目の素数さん mailto:sage [2012/09/18(火) 23:07:04.27 ]
- RにはReduce見たいな機能はないのかな
- 620 名前:132人目の素数さん mailto:sage [2012/09/19(水) 00:02:17.70 ]
- >>618
そういわれるとそうなのです ただ、問題は>>617なので、なぜそうなるのか分かって、 そこだけ回避できるようになれればよいのですが・・・
- 621 名前:132人目の素数さん mailto:sage [2012/09/19(水) 09:39:21.27 ]
- そもそも全部描画できたとして、それは見るに耐えるものなのか?
例えば散布図なんかだと100万点どころか、1万点ですら多すぎて見づらいから、適切に間引くのが普通だ。
- 622 名前:132人目の素数さん mailto:sage [2012/09/20(木) 10:57:36.08 ]
- >>620
症状から考えて ggplot2内部的に、 画面表示や画像ファイル保存などの描画時に、 データフレームをSVGみたいな描画用データに変換してから その描画用データを参照して描画するんだと思う だから、100万データを扱うことはできても、 グラフ描画(保存も含む)ができない。 しかも、データをどれだけ分割しようと 最終的に描画する際には、 そのグラフに使用する全描画用データを 同時にメモリに保持している必要があるから、 分割が意味をなさない。 だから、どうしても100万データ分使いたいんだったら、 メモリオーバーしない量のデータで一旦画像に保存して、 その画像同士を重ね合わせるみたいな方法をとるしかないかな。 画像処理の手間が必要になりますが。 あるいは、グラフ用のデータを ダイナミックアロケーションできるような方法が あるのか知りませんが、なければ作るとか……w
- 623 名前:132人目の素数さん mailto:sage [2012/09/20(木) 16:26:54.47 ]
- >>622
そうだな。>>622の言うとおり、ベクタ構造を保持するからメモリ不足になる。 適当なインターバルでラスタ変換をかませればよろし。 png()で分割出力して、system("convert ...")で重ねる。
- 624 名前:132人目の素数さん [2012/09/20(木) 22:19:32.83 ]
- >>622
>>623 なるほど頭の中が整理されました! ・データの分布を壊さずにデータを間引く関数を作る ・分割描画して最後にラスタデータを統合する関数を作る ・高スペックPCを導入する() のどれかって感じですね! ちょっと試してみるデス
- 625 名前:625 mailto:sage [2012/09/21(金) 00:01:09.50 ]
- √625 = 25
- 626 名前:132人目の素数さん mailto:sage [2012/09/26(水) 20:01:39.27 ]
- 質問です。
任意の行列xを縦に複数回並べたいです。 こんな感じで書いてみたのですが、 forを使わず作れますか、 rep関数だけで実現できないですか? mat <- NULL x <- matrix(1:9, 3, 3) for(i in 1:5){ mat <- rbind(mat,x) } mat
- 627 名前:132人目の素数さん mailto:sage [2012/09/26(水) 22:27:54.77 ]
- >>626
>rep関数だけで実現できないですか? できる ヒント: > i <- 5; paste("rbind(", paste(rep("x", i), collapse = ","), ")") [1] "rbind( x,x,x,x,x )"
- 628 名前:132人目の素数さん mailto:sage [2012/09/26(水) 23:09:49.40 ]
- Reduce(rbind,lapply(1:5,function(x) matrix(1:9,3,3)))
- 629 名前:132人目の素数さん mailto:sage [2012/09/26(水) 23:40:06.82 ]
- >>627-628 ありがとうございます\(^o^)/
- 630 名前:132人目の素数さん mailto:sage [2012/10/01(月) 04:48:45.78 ]
- >>628
do.call(rbind,lapply(1:5,function(x) matrix(1:9,3))) 5回じゃなくてもっと沢山くっつけるならdo.callのほうが速いみたい
- 631 名前:132人目の素数さん mailto:sage [2012/10/01(月) 23:26:00.72 ]
- Rってこれから主流になるんですか?
ビッグデータ界隈でR!R!R!騒がしいです。
- 632 名前:132人目の素数さん mailto:sage [2012/10/02(火) 12:27:05.94 ]
- 主流になるのではないかと言われているけど、必ずそうなるとは言い切れない。
でも使えておいて損はないと思うよ。
- 633 名前:132人目の素数さん mailto:sage [2012/10/02(火) 15:05:16.56 ]
- >>631
ビッグデータって何GBくらい? 素朴に考えると、Rらしいプログラムの書き方で処理するときには、 データを全てPCのメモリ上に読み込まなければならない。 しかし、オラクルに格納されたデータが、 PC1台のメモリにスッポリ収まるとはとうてい考えられない。
- 634 名前:132人目の素数さん mailto:sage [2012/10/02(火) 19:43:58.58 ]
- >>633
それは時代遅れ。大規模なデータ処理では、データを固定したまま 処理をおこなう処理系自体をデータのあるところに移動しないと間に合わない。 既に昨年、Oracle社はデータはRDBMS上においたまま Rのコードを 実行できる仕組みを提案してるよ。フロントエンドはRで、実行はRDBMSか、 おそらく Exadata という専用ハードの上で行うと思う。 ttps://blogs.oracle.com/dbjp/entry/bigdata_000217
- 635 名前:132人目の素数さん mailto:sage [2012/10/02(火) 20:20:33.97 ]
- >>634
なるほど、オラクルサーバがR(互換)インタプリタを内蔵しているというわけですか。 Rが凄いというよりもORACLEの商魂が凄い。 そういえば、DBMSや統計ソフトのベンダーが 「顧客のニーズを読めてませんでした」とか言ったらギャグになる。
- 636 名前:132人目の素数さん mailto:sage [2012/10/03(水) 20:37:17.21 ]
- >>634
その手の話はOracleに限った話ではない www.revolutionanalytics.com/products/revolution-enterprise-for-ibm-netezza.php と言うより、Oracle使ってた人がRなんか使うのかね? そういう人はSASとか使うような気がするが。
- 637 名前:132人目の素数さん mailto:sage [2012/10/03(水) 22:48:32.44 ]
- >>636
うちはOracleとRを使ってる。会社のデータはOracleで管理してるが、 それを可視化したり、対話的に解析するのにRが便利。 両者はODBCデータソース経由でシームレスに繋がる。 確かにSASはいいんだけどライセンス料金が高いので使える人が 限られてしまうが、Rならそういうこと気にせずに済むのがいい。 ただしRはサポートが課題になりやすいけどね。 もしOracleが有償でもRのサポート提供するなら、それを評価する 企業ユーザもいるんじゃないかな?
- 638 名前:132人目の素数さん [2012/10/03(水) 23:16:24.69 ]
- Rで分析が済ませるデータ量の会社はそれでもいいけど、そんな会社はDB側もAccessで十分そうね。
- 639 名前:132人目の素数さん mailto:sage [2012/10/03(水) 23:33:39.40 ]
- Rでは社内で解析したものを環境丸ごと渡して
加工してもらうこともできるのかな?
- 640 名前:132人目の素数さん [2012/10/03(水) 23:44:58.20 ]
- データサイエンティストとして経験を積むにはどの業界が良いのだろうか?
色々考えてみた。 SNS データ量が多い。分析前提でDBが設計してある。データドリブンが前提 銀行 顧客属性、預貯金データ保有、ローン情報 保険 顧客属性、病歴情報保有 クレジットカード 顧客属性、ローン情報、購買データ保有 SNSかクレジットカードだろうか。
- 641 名前:132人目の素数さん mailto:sage [2012/10/03(水) 23:53:37.59 ]
- Tポイントカードの新会社だろ、JK!w
- 642 名前:132人目の素数さん mailto:sage [2012/10/03(水) 23:56:05.36 ]
- POSデータがあれば、どこでもおk
- 643 名前:132人目の素数さん mailto:sage [2012/10/04(木) 00:01:14.41 ]
- Tポイントカード、POSデータの情報量なんてたかが知れてると思うな。
- 644 名前:132人目の素数さん mailto:sage [2012/10/04(木) 00:28:41.27 ]
- >>637
SASのライセンス料を気にしてOracleのライセンス料を気にしないのは謎だな Oracleでまともにビッグデータを扱うと千万円の単位では済まないのに…
- 645 名前:132人目の素数さん mailto:sage [2012/10/04(木) 15:32:50.43 ]
- 企業のことは分からないが、
PostgreSQL + Rという組み合わせは論外なのかな?
- 646 名前:132人目の素数さん mailto:sage [2012/10/04(木) 20:11:25.61 ]
- >>645
PostgreSQLはBSDライセンスで、RはGPLじゃなかったっけ? 言語処理系部分の流用は出来ないんじゃないの?
- 647 名前:132人目の素数さん [2012/10/04(木) 21:31:10.07 ]
- >>644
Oracle は基幹系の投資に含めやすいし、実際に支払うライセンス料は 年間サポート料やコンサル費に比べれば大した金額じゃないと思う。 むしろコンサル費がべらぼうに高い。 その延長でゆくと、分析ツールはSASでもRでもいいが、こういう分析ツールを 活用できる社員を育成するのに金が掛かるし、企業での課題だと思う。 ちょっと外れてきたね。
- 648 名前:132人目の素数さん [2012/10/04(木) 22:57:30.45 ]
- Postgre + R だと生データを直接処理(モデリング)できないでしょ。
それこそ、MapReduceみたいな処理の分散を自分で考えないといけない。
- 649 名前:132人目の素数さん mailto:sage [2012/10/05(金) 00:20:41.39 ]
- >>626
x <- matrix(1:9, 3) x[rep(1:3,5),]
- 650 名前:132人目の素数さん mailto:sage [2012/10/05(金) 01:07:56.33 ]
- __ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
- 651 名前:132人目の素数さん [2012/10/08(月) 17:00:48.41 ]
- SNSの出身の人はビジネスセンスに欠ける気がする。
もしかしたら、それは旧時代的なビジネスセンスで、SNS出身の人のは新時代のものかもしれないけど。 ・・・ないな。
- 652 名前:132人目の素数さん [2012/10/08(月) 17:29:34.67 ]
- 頭の古い人はいつでも置き去りにされる。
- 653 名前:132人目の素数さん mailto:sage [2012/10/08(月) 17:43:54.24 ]
- 統計解析全体がオカルトだというとらえ方もあるけどね。
> 活用できる社員を育成するのに金が掛かるし、企業での課題だと思う。 亀の甲羅を火にあぶる司祭たち……
- 654 名前:132人目の素数さん mailto:age [2012/10/08(月) 18:07:35.04 ]
- __ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
- 655 名前:132人目の素数さん mailto:sage [2012/10/12(金) 10:40:00.67 ]
- N行M列のXを
要素M個のリストにしたいです。 x <- matrix(1:9, 3) x_list <- list(x[,1], x[,2], x[,3]) as.list(x)でやると要素9になってしまいます。 要素M個にしたい場合は、どうすればいいですか?
- 656 名前:132人目の素数さん mailto:sage [2012/10/12(金) 11:49:23.96 ]
- できました!
split(x, col(x)) >知っているといつか役に立つ(?)関数達 - RjpWiki (6) ベクトル、行列、データフレームをある性質で分割する、split(x,f)
- 657 名前:132人目の素数さん mailto:sage [2012/10/14(日) 11:18:40.27 ]
- ↓これ、apply系の関数でうまくできないですか?教えてください。
x = matrix(1:12, 3, 4) y = c(2, 5, 10) x[1,] + y[1] x[2,] + y[2] x[3,] + y[1]
- 658 名前:132人目の素数さん mailto:sage [2012/10/14(日) 11:48:08.74 ]
- >>657
> x[1,] + y[1] > x[2,] + y[2] > x[3,] + y[1] x[1:3,]+y[c(1,2,1)]
- 659 名前:132人目の素数さん mailto:sage [2012/10/15(月) 13:56:05.47 ]
- >>657
これでもできる。xに対して縦にしたベクトルを横に走らせながら足し算するみたいな意味。 sweep(x, 1, y[c(1,2,1)], "+")
- 660 名前:馬と鹿と豚さん mailto:age [2012/11/05(月) 13:00:29.47 ]
- __ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ . | \ ∠イ ,イイ| ,`-' | | l^,人| ` `-' ゝ | このスレは馬と鹿と豚ばかりね。 | ` -'\ ー' 人 | /(l __/ ヽ、 | (:::::`‐-、__ |::::`、 ヒニニヽ、 | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
- 661 名前:132人目の素数さん mailto:sage [2012/11/09(金) 15:34:45.80 ]
- これって、Rで描けますか?
homepage2.nifty.com/nandemoarchive/toukei_hosoku/gazou/anova_jizen_kentei_03.png 回帰直線の例である、よく教科書に載ってる図で、 「誤差が正規分布」してる様子を表したいです。 確率密度関数のプロット図を横に複数個並べたいんです。
- 662 名前:132人目の素数さん mailto:sage [2012/11/09(金) 15:48:43.41 ]
- これです。単回帰モデルの図をRで描けますか?
t2.gstatic.com/images?q=tbn:ANd9GcSrGXCsyQu2rLsUEyeHakE0NWzk9-6hHsQhc390LDitoxLXxr0UydG2HTDv
- 663 名前:132人目の素数さん mailto:sage [2012/11/09(金) 16:13:59.17 ]
- >>661
描ける。でもちょっと頭の体操が必要かも。 >>662 同上。でもオレならPGF/Tikzで描くかな。 ttp://www.texample.net/tikz/examples/feature/plotting/
- 664 名前:663 mailto:sage [2012/11/09(金) 17:14:42.51 ]
- 時間があったので、コーディングしてみた。
RjpWikiと違って図を載せられないし、半角スペースは削除されるので、 わかりにくいかも知れない。 # サンプルデータ dat <- data.frame(x = c(rnorm(50) - 2, rnorm(50), rnorm(50) + 2), g = c(rep("x", 50), rep("y", 50), rep("z", 50))) # 作図 d <- tapply(dat$x, dat$g, density) plot(as.numeric(dat$g), dat$x, xlim = c(0, 4), axes = FALSE, xlab="", ylab="x") lines(d[[1]]$y + 1, d[[1]]$x) lines(d[[2]]$y + 2, d[[2]]$x) lines(d[[3]]$y + 3, d[[3]]$x) axis(2) axis(1, at = 1:3, labels = LETTERS[24:26]) あとはsegments()で適当に赤の横破線を引いてくれ
- 665 名前:132人目の素数さん mailto:sage [2012/11/09(金) 21:12:18.68 ]
- >>664 おぉー!ありがとうございます!!
- 666 名前:132人目の素数さん mailto:sage [2012/11/28(水) 20:53:30.87 ]
- 初心者ですがロジットモデルを作る際に
Lapack routine dgesv:システムは正確に特異です という意味不明なメッセージが... 変数ごとの尺度が違いすぎると発生するってことで一部に1/100したりしてみたけど 変わらず出てしまう...「そのエラー文こんな場合に出てくるでー」みたいなのあれば教えて頂けるとありがたいです.
- 667 名前:132人目の素数さん mailto:sage [2012/11/28(水) 21:07:45.01 ]
- ロジットモデルが何か知らないけど、
エラー文でググると、 >分散共分散行列の行列式が正定値では無いため
- 668 名前:132人目の素数さん mailto:sage [2012/11/28(水) 21:27:27.31 ]
- >>667
ありがとうございます! 分散共分散行列、正定値か...初めての単語です. 調べてみようっと
- 669 名前:132人目の素数さん mailto:sage [2012/11/28(水) 22:30:52.44 ]
- >>666
singularって単数と思っていたが、数学では「特異」なんだな。 勉強になった。
- 670 名前:132人目の素数さん mailto:sage [2012/11/29(木) 22:21:50.04 ]
- >>669
singular matrixって、逆行列を持たない行列。つまり 1 2 2 4 とか、そういうやつじゃないの? Octaveでそういうのをやると octave-3.2.4.exe> A=[[1,2];[3,4]] A = 1 2 3 4 octave-3.2.4.exe> inv(A) ans = -2.00000 1.00000 1.50000 -0.50000 octave-3.2.4.exe:> A=[[1,2];[2,4]] A = 1 2 2 4 octave-3.2.4.exe> inv(A) warning: inverse: matrix singular to machine precision, rcond = 0 ans = Inf Inf Inf Inf
- 671 名前:132人目の素数さん [2012/11/30(金) 15:39:16.01 ]
- sortとprintとあわせて使えませんか?
- 672 名前:132人目の素数さん mailto:sage [2012/12/01(土) 09:59:19.11 ]
- 2012/12/01 10:00〜
R研究集会 「データ解析環境Rの整備と利用」2012 live.nicovideo.jp/watch/lv116268591
- 673 名前:132人目の素数さん mailto:sage [2012/12/03(月) 20:43:08.44 ]
- >>671
それは質問かい? それとも上のどこかの書き込みの対する助言かい?
- 674 名前:132人目の素数さん mailto:sage [2012/12/04(火) 10:40:04.46 ]
- すみません、質問です
id time sex 1 13 male 2 24 female ・・・ てな感じのデータ(population)を、timeでヒストグラムを書いた時にsexで色分けしたいのですが 基本グラフィックを使った方法で何か良いのは無いでしょうか? ちなみにggplot2だと以下のコマンドで出来ますが、基本グラフィックで書く必要があります ggplot(population, aes(time, fill=sex))+geom_histogram()
- 675 名前:132人目の素数さん mailto:sage [2012/12/04(火) 11:26:35.26 ]
- >>674
hist()はグループ分けができません。 > set.seed(1234) > a <- data.frame(time = round(rnorm(100)^2*10+5), sex = sample(as.factor(c("male", "female")), 100, replace = TRUE)) と適当なサンプルで、 > max(a$time) [1] 70 なので、0から100まで10刻みで頻度を計算して棒グラフを書けばよいのでは。 > brks <- (0:5)*4 > b <- cbind(table(findInterval(a$time[a$sex == "male"], brks)), table(findInterval(a$time[a$sex == "female"], brks))) > barplot(t(b), beside = TRUE, names.arg = brks[as.integer(row.names(b))]) 参考まで。
- 676 名前:132人目の素数さん mailto:sage [2012/12/05(水) 08:26:29.52 ]
- >>675
なるほど、histはグループ分けが出来ないのですね・・・ アドバイスに従って棒グラフで作成してみます 回答ありがとうございました
- 677 名前:132人目の素数さん mailto:sage [2012/12/18(火) 04:57:50.10 ]
- リストの各要素を変数に代入したいです。
今は↓こんな感じでやってるのですが、要素数が増えると面倒で、 良いやり方があれば教えてください。 m = list(1, 2, 3, 4) a = m[[1]] b = m[[2]] c = m[[3]] d = m[[4]]
- 678 名前:132人目の素数さん mailto:sage [2012/12/18(火) 07:38:18.90 ]
- lapply(1:4, function(k) assign(letters[k], m[[k]], envir = .GlobalEnv))
うーん、あんま短くないか。
- 679 名前:132人目の素数さん mailto:sage [2012/12/18(火) 11:05:31.28 ]
- >>677
>>678が示すように、assignを使えばよいよ。 for()を使うならこんか感じ。 ## mを適当に用意 m <- lapply(1:4,function(x){sample(month.name, 3)}) v.name <- letters[1:4] #変数名を準備 for(i in 1:length(v.name)) assign(v.name[i], m[[i]]) >>678 試さないで質問して申し訳ないけど、.GlovalEnvの指定は必須? envirの指定を省略すれば.GlovalEnvになるのかなとと思って。
- 680 名前:132人目の素数さん mailto:sage [2012/12/18(火) 14:51:39.01 ]
- >>678-679 できました。ありがとうございます!
- 681 名前:132人目の素数さん mailto:sage [2012/12/21(金) 23:08:27.59 ]
- データフレームがあって、A列にコード、B列にファクター値が入っております。
このデータフレームをファクター値によって5分割したいのですが、 ループを使わない簡単な方法ありますでしょうか? 現在はquantile関数とforループを併用しております。 よろしくお願いいたします。
- 682 名前:132人目の素数さん mailto:sage [2012/12/22(土) 05:08:48.15 ]
- >>681
>ファクター値 どういう意味? 因子型変数が内部で保持している実体の整数型の値のこと? 例を示してくれないと、その説明ではどうしたいのか分からない。
- 683 名前:132人目の素数さん mailto:sage [2012/12/22(土) 06:30:38.17 ]
- >>681
split(x, x$B) ってこと?
- 684 名前:681 mailto:sage [2012/12/22(土) 09:52:42.80 ]
- >>682,>>683
ありがとうございます。 説明が悪くて申し訳ありません。 ファクター値は因子ではありません。 只の実数値の意味です。 DF CODE DATA "A" 1 "B" 2 "C" 3 "D" 4 "E" 5 と単純なデータフレームを考えた場合、 DATAの大きさでデータフレームを分割し5個のデータフレームにしたいのです。 現状はforループとquantile(DF$B, prob = i / 5)という関数を用いて分割している次第です。 よろしくお願いいたします。
- 685 名前:132人目の素数さん mailto:sage [2012/12/22(土) 12:16:27.28 ]
- >>684
意味が全く分からないのはオレだけか? そもそもDF$Bやiはどこから出てきたんだ。 data.frameの要素にdata.frameを入れた階層構造なのか? もしかすると、こういうことか? > DF <- data.frame(CODE = sample(LETTERS, 100, replace = TRUE), DATA = sample(1:5, 100, replace = TRUE)) というDFがあったとして、 > lapply(unique(DF$DATA), function(x){DF[DF$DATA == x, ]}) とすると5つのデータフレームをもつリストが出来る。
- 686 名前:681 mailto:sage [2012/12/22(土) 12:33:52.37 ]
- >>685
申し訳ありません。DF$BではなくDF$DATAです。 ご提示していただいた例ですとDATAが整数の場合には正しく分割できるのですが、 実際には整数ではなく実数値です。 例えば、 DF <- data.frame(rand) colnames(DF) <- c("a", "b", "c") というデータフレームを作成した場合、DF$bの大きさで任意の分位に分割したいのです。。。。
- 687 名前:132人目の素数さん mailto:sage [2012/12/22(土) 13:38:29.27 ]
- >>686
まだ意味が分からないorz 回答する側に憶測に憶測を重ねさせる質問の仕方はどうなのか、 後出しがガシガシ出てくる質問の態度はいかがかと思うが、 丁寧な口調なので、もう1度だけ「想像」した範囲で答える。 > DF <- data.frame(a = runif(100), b = runif(100), c = runif(100)) というDFがあったとして、DF$bを任意の分位、たとえば、0.1と0.3と0.5と0.9で区切って5分割したいとする。 > i <- findInterval(DF$b, c(0.1, 0.3, 0.5, 0.9)) > lapply(unique(i), function(x){DF$b[x == i]}) これで5分割されたデータのリストが得られる。 データフレーム構造を保持したいという話なら、 > lapply(unique(i), function(x){DF[x == i, ]}) これでも、これが質問の意図と異なるなら、他の人にパス。
- 688 名前:687 mailto:sage [2012/12/22(土) 13:51:45.59 ]
- unique(i)だと区分の順番が気になるので、順番通りにするように修正
> lapply(0:max(i), function(x){DF$b[x == i]}) および > lapply(0:max(i), function(x){DF[x == i, ]})
- 689 名前:132人目の素数さん mailto:sage [2012/12/22(土) 20:11:43.37 ]
- 改行、空白がなくて読みにくコードを
見やすく自動で整形する方法ってありますか? 他の言語だと整形ツールがあるんだけど Rにもあるのかな
- 690 名前:132人目の素数さん mailto:sage [2012/12/22(土) 23:19:32.32 ]
- >>689
外部ツールとしてはないけど、そういう関数もある(名前は忘れた)。
- 691 名前:681 mailto:sage [2012/12/23(日) 01:16:13.76 ]
- >>687
ありがとうございます。 分位は等分位です。 quantileで分位点を求めて、教えていただいた方法で無事いけました。 質問の仕方が悪かったようで申し訳ありませんでした。 以後気を付けたいと思います。 本当にありがとうございました
- 692 名前:132人目の素数さん mailto:sage [2012/12/23(日) 20:34:14.28 ]
- >>689
https://github.com/yihui/formatR/wiki
- 693 名前:令嬢 mailto:sage [2012/12/23(日) 23:13:41.87 ]
- __ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
- 694 名前:132人目の素数さん mailto:sage [2012/12/25(火) 01:22:28.37 ]
- 各位に使用できる数字(または文字)に制限がある
n桁の整数(文字列)を生成したい。 1桁目: 1, 2 2桁目: 4, 5, 6 3桁目: 7, 8 この場合だと 2*3*2 = 12 通りの整数が作れます。 forを3重にすればできるのですが、このやり方は避けたい。 n桁になっても対応できるコードを書きたいです。 いいやり方、教えてください。
- 695 名前:132人目の素数さん mailto:sage [2012/12/25(火) 10:23:00.30 ]
- >>694
またまた説明不足で不明瞭な質問が来た。同じ人か。 例では、3桁の12種類全ての整数(文字列)を得たいのか、 それとも1つの3桁の整数(文字列)を得たいのか、 判然としない。 後者と想定して、例示すると、 a <- list() a[[1]] <- 1:2 a[[2]] <- 4:6 a[[3]] <- 7:8 というリストがあった場合、 > paste(sapply(a, sample, 1), collapse = "") [1] "247" aの要素数がn個でも(つまり、n桁でも)同じ。
- 696 名前:132人目の素数さん mailto:sage [2012/12/25(火) 21:10:27.10 ]
- 前者です。
[,1] [,2] [,3] [1,] 1 4 7 [2,] 1 4 8 [3,] 1 5 7 [4,] 1 5 8 [5,] 1 6 7 [6,] 1 6 8 [7,] 2 4 7 [8,] 2 4 8 [9,] 2 5 7 [10,] 2 5 8 [11,] 2 6 7 [12,] 2 6 8
|

|