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
20 名前:132人目の素数さん mailto:sage [2011/02/18(金) 16:26:08 ] アウトライア分類と変数選択が同時にできる 線形回帰法ないのでしょうか
21 名前:132人目の素数さん mailto:sage [2011/02/22(火) 14:38:21.11 ] チルダ記号ってどういう意味なんでしょうか 関数(変数1 〜 変数2) なんて使い方です
22 名前:132人目の素数さん [2011/02/25(金) 18:20:32.50 ] 質問します。 glmを使い,説明変数の数を変えて複数のモデルを作りました。 複数モデルの中から最もあてはまりの良いものを知りたいので AICを比較しようと考えたのですが,AICがInfとなり,表示してくれませんでした。 使っているソフトはRです。 AICが非常に小さいくて(おそらく2以下?)表示されないと考えているのですが, これでは比較できません。 対処法をご存じの方がいらっしゃいましたら,教えていただきたく存じます。
23 名前:132人目の素数さん [2011/02/26(土) 08:00:23.96 ] 最近MacにRcmdrをインストールしても文字が汚くならないというとのサイトを見つけたのですが、 ttp://ito-hi.blog.so-net.ne.jp/2011-02-06 「パッケージの依存関係を解決」にチェックしてインストールすると 虹色ぐるぐるでインストールされません 何が問題だと考えられますか? 環境は iMac Mac OS X 10.6.6 Intel Core 2 Duo 2.66 GHz R 2.12.1
24 名前:132人目の素数さん mailto:sage [2011/02/28(月) 14:43:10.70 ] よく変数名に foo.bar と . でくぎられた名前があるのですが Rにもc++みたいなclassがあるのでしょうか
25 名前:132人目の素数さん mailto:sage [2011/03/01(火) 17:49:13.03 ] >>20 lmをransacで繰り返し呼んだら?
26 名前:132人目の素数さん mailto:sage [2011/03/02(水) 03:00:19.18 ] >>23 >何が問題だと考えられますか? 自己解決力もないのにマイナーな環境で動かす冒険心。
27 名前:132人目の素数さん mailto:sage [2011/03/02(水) 03:29:20.55 ] >>26 確かにその冒険心は問題だわねw
28 名前:132人目の素数さん mailto:sage [2011/03/03(木) 17:19:55.02 ] cranに RANSAC ないのは、そのぐらい自分で作れってことなの? lm繰り返し呼べばいいだけなんだけど
29 名前:132人目の素数さん mailto:sage [2011/03/06(日) 11:25:08.31 ] Mac の Carbon Emacs (23.2) で ESS 使い始めたんだけど、 R を呼び出すとメッセージが英語になる。 Terminal.app から R を呼んだ時は日本語表記なんだけど、 ESS 内でも日本語メッセージ使わせるためには何か設定が必要?
30 名前:132人目の素数さん mailto:sage [2011/03/06(日) 17:28:12.08 ] 環境変数にLANG=Cでも設定してるんだろうか?
31 名前:29 mailto:sage [2011/03/07(月) 10:57:20.97 ] ~/.bash.rc では LANG=ja_JP.UTF-8 にしていて、 init.el では (set-language-environment 'Japanese) になってる。 ためしに、Terminal から明示的に LANG=ja_JP.UTF-8 emacs & で Emacs を 起動するとメッセージが日本語になった。 デフォルトで Emacs が LANG=C で起動されている??
32 名前:132人目の素数さん mailto:sage [2011/03/08(火) 19:58:24.45 ] Rそのものの話題ではないけど、 模試の大学合否判定って、A判定が80%以上、E判定が20%未満だな。 97.5%以上とか2.5%以下とかにしないのはなぜなんだろう。
33 名前:132人目の素数さん mailto:sage [2011/03/08(火) 20:05:19.44 ] 高校生を絶望の谷へ突き落とすような事はしてはいけないのさ。
34 名前:132人目の素数さん mailto:sage [2011/03/08(火) 20:27:35.03 ] >>32 受験者数と合格者数を考えてみれば
35 名前:32 mailto:sage [2011/03/08(火) 21:28:41.29 ] 統計解析の本を見ていて、回帰分析と判別分析の違いかなと思えてきた。 p値が5%以下じゃないとモデルとして不適切などという手法ではないのでしょうね。
36 名前:132人目の素数さん mailto:sage [2011/03/11(金) 11:14:42.55 ] emacsからR使ってる人が多いんでしょうか?
37 名前:132人目の素数さん mailto:sage [2011/03/16(水) 18:58:17.39 ] 筑波のCRANは停電というより地震による直接被害で、電気はきていますが、 漏水がひどい建物にあるので念のため落としています。 -- 岡田 2011-03-16 (水) 10:27:28
38 名前:132人目の素数さん mailto:sage [2011/03/17(木) 18:18:07.47 ] 床がだいぶ乾いたので、筑波CRANミラー復旧させてみました。 -- 岡田 2011-03-17 (木) 13:17:57
39 名前:132人目の素数さん mailto:sage [2011/03/23(水) 14:38:52.94 ] Rのリストって 連想リストのことなの?
40 名前:132人目の素数さん mailto:sage [2011/03/24(木) 18:04:13.33 ] >>21 ?formula >>22 Infになるなら、そもそもモデルが不適切 >>24 ?class >>31 R環境の中からLANGを変更できるよ >>36 誰も統計を取っていないが、昔はEmacs以外の選択肢が事実上なかった >>39 全然違う 全レスって嫌われるのかなぁ
41 名前:132人目の素数さん mailto:sage [2011/03/24(木) 18:46:14.98 ] ステキです^^
42 名前:132人目の素数さん mailto:sage [2011/04/11(月) 08:54:06.06 ] Rでsuppot vector machineの分類の問題が解きたいので、 kernlab の中の SVM 関数 ksvmを使っているのですが、 例えばkernlab の中spamを分類すると、決定関数にsign関数で 符号化されて「spam」か「nonspam」の2値で結果が出力されます。 これを2値に符号化される前の決定関数で出力する方法はあるのでしょうか。 どなたかご存知の方はいらっしゃるでしょうか。
43 名前:132人目の素数さん mailto:sage [2011/04/12(火) 16:56:34.83 ] (祝) RStudio日本語対応!! 今の所特に日本語周りの不具合は無し というわけで不要になったTinn-Rをアンインスト NppToRは窓配置フリーが便利なのでとりあえず残しておく
44 名前:132人目の素数さん mailto:sage [2011/04/12(火) 17:16:53.99 ] >>43 Windows版ではそうかもしれないが、MacOSXとUbuntuでは 完全に対応していない。
45 名前:44 mailto:sage [2011/04/13(水) 09:55:41.26 ] すまん。0.92.44から0.93.75に上げたら、 MacOSXで、問題があった日本語変数名も使えるようになった。 > Sys.getlocale() [1] "C/en_US.UTF-8/C/C/C/C" こんな感じだけど。 Ubuntu amd64の方も、エディタ部分で日本語が怪しかったけど、 これも直った感じ。
46 名前:132人目の素数さん mailto:sage [2011/04/13(水) 17:17:16.15 ] 線形回帰で変数選択とロバスト推定の同時が出来る方法ないですか
47 名前:132人目の素数さん mailto:sage [2011/04/15(金) 20:26:39.00 ] Rって中身はCなんですか? 遅延評価Cで書くのすごい大変なのに どうやってるんだろう
48 名前:132人目の素数さん mailto:sage [2011/04/19(火) 11:28:58.25 ] >>47 tar tf R-2.13.0.tar.gz | grep -oE '\.[a-z0-9]*$' | sort |uniq -c | sort -gr |head 599 .c 240 .h 194 .po 169 .mo 94 .in 87 .afm 52 .win 50 .save 45 .f 27 .gmo RjpwikiのQ&A(初心者コース)に書き込んだmichiさんはこっちに来ないのかな。
49 名前:132人目の素数さん mailto:sage [2011/04/27(水) 15:52:48.74 ] ttp://cran.r-project.org/bin/linux/ubuntu/ Nattyまだこないね。
50 名前:132人目の素数さん mailto:sage [2011/04/27(水) 21:40:58.88 ] 言語初心者ですので、教えていただきたいのですが このソフトpropensity scoreを用いて解析をするときの参考になるサイトや書籍がありましたら教えてください。
51 名前:132人目の素数さん mailto:sage [2011/04/27(水) 23:20:30.27 ] >>50 おっ、同業者か。 nonrandomパッケージのVignettesを読まれてはいかが。 また、疫学のSIGのMLもあるので、参加されてはどうか。 ttps://stat.ethz.ch/mailman/listinfo/r-sig-epi
52 名前:132人目の素数さん mailto:sage [2011/04/28(木) 13:47:23.33 ] >>51 ありがとございます。 この休みにでもRのインストールからはじめてみます。 スレ違いかもしれませんが、propensity scoreを用いたマッチングでの解析を行うのに適したソフトは何でしょうか?
53 名前:132人目の素数さん mailto:sage [2011/04/28(木) 13:50:34.33 ] >>52 nonrandomパッケージのVignettesを読んでからもう一度質問してください。 ttp://cran.r-project.org/web/packages/nonrandom/vignettes/nonrandom.pdf
54 名前:132人目の素数さん mailto:sage [2011/04/28(木) 17:38:07.68 ] >>53 ありがとうございます。
55 名前:132人目の素数さん mailto:sage [2011/04/30(土) 09:11:31.24 ] nattyきたー ttp://cran.r-project.org/bin/linux/ubuntu/
56 名前:132人目の素数さん mailto:sage [2011/04/30(土) 13:11:01.00 ] >>55 Releaseのファイルサイズが0でまだ使えないね $ w3m -dump cran.r-project.org/bin/linux/ubuntu/natty/ |grep -oE '[a-zA-Z0-9_\.-]*amd64\.deb' littler_0.1.3-1natty0_amd64.deb python-rpy_1.0.3-17natty0_amd64.deb python-rpy_1.0.3-18natty0_amd64.deb r-base-core-dbg_2.13.0-1natty0_amd64.deb r-base-core_2.13.0-1natty0_amd64.deb r-cran-class_7.3-3-1natty0_amd64.deb r-cran-cluster_1.13.3-1natty0_amd64.deb r-cran-foreign_0.8.44-1natty0_amd64.deb r-cran-kernsmooth_2.23-4-1natty0_amd64.deb r-cran-lattice_0.19-26-1natty0_amd64.deb r-cran-mass_7.3-11-1natty0_amd64.deb r-cran-matrix_0.999375-50-1natty0_amd64.deb r-cran-mgcv_1.7-6-1natty0_amd64.deb r-cran-nlme_3.1.100-1natty0_amd64.deb r-cran-nnet_7.3-1-1natty0_amd64.deb r-cran-rodbc_1.3-2-1natty0_amd64.deb r-cran-rpart_3.1.50-1natty0_amd64.deb r-cran-spatial_7.3-2-1natty0_amd64.deb r-cran-survival_2.36-8-1natty0_amd64.deb r-mathlib_2.13.0-1natty0_amd64.deb 今あるパッケージはこれだけ。
57 名前:132人目の素数さん mailto:sage [2011/05/03(火) 20:04:04.55 ] ニューラルネットのパッケージnnetについて質問させてください。 すでにデータAを学習したネットワークにさらに別のデータBを学習させるにはどうすればいいのでしょうか?先にAとBを結合して読ませるのは時間がかかるために困っています。 他のパッケージなら出来るという情報もお待ちしています。
58 名前:132人目の素数さん mailto:sage [2011/05/05(木) 21:13:39.01 ] MySQLからダウンロードしたデータをRで計算して MySQLに返しつつ、gnuplotで描画しようと思っています RubyとかからMySQL、R、gnuplotを操作すべきか、 RからMySQLとgnuplotを操作すべきかで迷ってます みなさんならどんな風にしますか?
59 名前:132人目の素数さん mailto:sage [2011/05/06(金) 13:30:23.98 ] >>58 このスレ的には、Rの中からMySQLにアクセスして、 Rで描画する方向が第一選択だよな。 Rのグラフィック能力とgnuplotってほぼ同等と思っていたけど、 Rを使っているのにgnuplotを加えて使うのは理由は? >>57 反応がないから、Rjpwikiの方に書かれてはいかが。 私はnnetパッケージを使わないので分からない。
60 名前:57 mailto:sage [2011/05/06(金) 22:06:00.16 ] >>59 そうしてみます。ありがとうございました。
61 名前:132人目の素数さん mailto:sage [2011/05/06(金) 23:00:08.59 ] gnuplotの方が慣れているというだけです。 Rで描けるようになればR+MySQLなのでシンプルでいいですね。 ちょっとやってみます。ありがとうございました。
62 名前:132人目の素数さん mailto:sage [2011/05/09(月) 23:39:55.72 ] pi<-seq(0,1,0.0001) y_n<-60 n<-100 posterior<-((pi^y_n)*(1-pi)^(n-y_n))/beta(y_n+1,n-y_n+1) の95%信頼区間を求めたいんですがその関数がよくわからないです誰かわかる人いらっしゃいますか?
63 名前:132人目の素数さん mailto:sage [2011/05/10(火) 09:08:37.12 ] >>62 Bayesian credible intervalは信頼区間じゃないよ
64 名前:132人目の素数さん mailto:sage [2011/05/10(火) 15:28:06.31 ] >>63 だね. bayequentistかな
65 名前:132人目の素数さん mailto:sage [2011/05/14(土) 21:58:27.95 ] for (i in 1:5) {sprintf("%s", ticker[i,1])} だと上手く出力されないのはどうしてでしょう? 素人の質問ですみません
66 名前:132人目の素数さん mailto:sage [2011/05/14(土) 22:42:04.29 ] >>65 > sprintf("%s", ticker[,1]) > sprintf("%s", ticker[1:5,1]) > as.character(ticker[,1]) > as.character(ticker[1:5,1]) などと1行で書くのがR流じゃないかと。 ループ使った場合でも > for (i in 1:5) {a[i]<-sprintf("%s", ticker[i,1])} > a とやれば配列aが表示される。
67 名前:132人目の素数さん mailto:sage [2011/05/15(日) 17:30:01.07 ] >>65 for文の中ではprint()が必要です。 for (i in 1:5) {print(sprintf("%s", ticker[i,1]))} 普通は>>66 の言うとおり、 as.character(ticker[1:5,1])だけどね。
68 名前:132人目の素数さん [2011/05/25(水) 00:02:27.53 ] データ配列の最初から20個ずつをまとめ、 それぞれの20個のデータの平均値と標準偏差を求めるプログラムstatsample(m,data)を作成する。 プログラムソースが分かる人は教えてください。
69 名前:132人目の素数さん mailto:sage [2011/05/25(水) 09:29:38.65 ] >>68 とりあえず、たたき台を示すので、データ数が20で割り切れないをどうするのかを 考えて、その処理を入れて、その他のエラー処理を入れたら完成だと思う。 statsample <- function(x){ n <- length(x) m <- floor(n/20) for (i in 0:(m-1)){ print(paste("平均値:",mean(x[(1+i*20):((i+1)*20)]),"標準偏差",sd(x[(1+i*20):((i+1)*20)]))) } } > statsample(runif(100)) [1] "平均値: 0.409618140733801 標準偏差 0.284202820077949" [1] "平均値: 0.449437574110925 標準偏差 0.286492195081962" [1] "平均値: 0.555866089393385 標準偏差 0.26665116632303" [1] "平均値: 0.28123870670097 標準偏差 0.226341301484355" [1] "平均値: 0.503801094950177 標準偏差 0.282596081360767"
70 名前:132人目の素数さん mailto:sage [2011/05/25(水) 19:42:32.88 ] >>69 datamatrix<-matrix(data,20,length(data)/20) apply(datamatrix,2,mean) apply(datamatrix,2,sd) とやるのが普通じゃないか。 データ数が20で割り切れない場合のwarningも表示されるし。
71 名前:132人目の素数さん [2011/05/25(水) 19:45:58.57 ] 農家の果物の良品、不良品の検査や工場での製品の良品、不良品のチェックなどをシュミレーションにより実験する場合を考える。 このシュミレーションを行うために、不良品率x%でn個のサンプルの中に不良品を発生させるプログラムsampling(x,y)を以下の手順で作成する。 (1)不良品の出現確率x/100とする。発生させた一様乱数がx/100より小さければ、不良品(1)、そうでなければ、良品(0)とする。 (2)不良品出現確率x/100とした試行をn回繰り返し、不良品が出現した場合の数を求める。 その数がsampling(x,n)の出力とする。 以下の手順をプログラムし、関数sampling(x,n)を作る。 誰か教えてください。
72 名前:132人目の素数さん mailto:sage [2011/05/25(水) 21:51:26.02 ] #include "/dev/console"
73 名前:132人目の素数さん [2011/05/26(木) 00:30:46.84 ] #
74 名前:132人目の素数さん [2011/05/26(木) 01:25:55.19 ] >>69
75 名前:132人目の素数さん mailto:sage [2011/05/26(木) 09:18:07.75 ] >>71 宿題? ヒントだけ > runif(10) < 5/100 [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE
76 名前:132人目の素数さん mailto:sage [2011/05/26(木) 22:53:09.94 ] rbinom(1,n,x/100)
77 名前:132人目の素数さん [2011/05/31(火) 02:28:47.96 ] sample関数について、中でどうやってドローしているんだろうと、 見ようとしたら、 .Internal( sample.... となってて、中身が見えません。 他の言語で作成しているのだろうと思いましたけど、 sample関数のソースって、どこにあるんでしょうか?
78 名前:77 [2011/05/31(火) 02:32:14.67 ] 自己解決しました。 CRANからソースを取得しました。
79 名前:あんでぃは非存在 ◆AdkZFxa49I [2011/06/06(月) 14:26:34.02 ] あんでぃ
80 名前:132人目の素数さん [2011/06/07(火) 04:41:09.16 ] 乱数のところ、ソースみてもわからん。
81 名前:132人目の素数さん mailto:sage [2011/06/07(火) 22:07:44.63 ] 乱数だからな
82 名前:132人目の素数さん mailto:sage [2011/06/07(火) 22:18:53.87 ] メルセンヌツイスターとかいうやつか
83 名前:132人目の素数さん mailto:sage [2011/06/17(金) 13:02:41.63 ] すいません、初心者です 株価の日次データが数年分あるんですが グラフのX軸の目盛りを年次にしたい場合はどうすればいいでしょう?
84 名前:132人目の素数さん mailto:sage [2011/06/17(金) 13:23:39.86 ] >>83 a <- ts(1:2000,start=c(2011,6),frequency=365) plot(a)
85 名前:132人目の素数さん mailto:sage [2011/06/17(金) 13:35:41.47 ] >>84 早速のレスありがとうございます 株など営業日がある場合どうすればよろしいでしょうか? 祝日や年末年始などありますし
86 名前:132人目の素数さん mailto:sage [2011/06/17(金) 13:52:29.96 ] >>85 xtsパッケージのドキュメントを眺めてから再質問してください。 ttp://cran.r-project.org/web/packages/xts/ 日本語が必要なら、Rパッケージガイドブック pp.130-137
87 名前:132人目の素数さん mailto:sage [2011/06/17(金) 13:59:31.54 ] >>86 ありがとうございます。 パッケージガイドブックを買ってこようと思います。 これとR-tipsで頑張ります
88 名前:132人目の素数さん mailto:sage [2011/06/23(木) 16:49:30.62 ] RでVoigt関数(Gauss関数とLorentz関数のconvolution)でフィッティングするには、畳み込み積分を直接書くしかないのでしょうか。
89 名前:あんでぃはストーカー ◆AdkZFxa49I [2011/06/23(木) 21:21:17.46 ] あんでぃ
90 名前:132人目の素数さん mailto:sage [2011/06/24(金) 09:20:34.16 ] format="%Y/%m" と書くと 2011/06 と出力されるけど、幅を節約して 11/06 とするにはどうすれば?
91 名前:132人目の素数さん mailto:sage [2011/06/24(金) 09:22:44.15 ] あ、ぐぐったら一瞬で判ってしまった %y だ
92 名前:132人目の素数さん mailto:sage [2011/06/24(金) 10:43:36.69 ] >>90 ,91 そのあたりは共通だから覚えておいて損はないよ。 > format(Sys.Date(),"%Y") [1] "2011" > format(Sys.Date(),"%y") [1] "11" > format(Sys.Date(),"%EY") [1] "平成23年" > format(Sys.Date(),"%Ey") [1] "23"
93 名前:132人目の素数さん mailto:sage [2011/06/24(金) 12:32:27.69 ] おおー なんでEが平成なんだろう
94 名前:132人目の素数さん mailto:sage [2011/06/24(金) 13:01:48.18 ] >>93 マニュアルには、 %E Modifier: use alternative format と書いてあるよ。つまり日本語ローケルだと、日本語化した形式にするという意味。 >>92 を書き込んだ後、MacOSXとWindowsで試してみたが、 どちらも和暦にならなかった。GNUだけかも。ヘルプには環境依存って書いてあるしね。
95 名前:あんでぃはストーカー ◆AdkZFxa49I [2011/06/24(金) 16:34:26.88 ] 分からない。 あんでぃ
96 名前:R入門 [2011/06/26(日) 00:02:26.05 ] これまで、Java、Ruby、Scala など使っているものですが、 Rについても勉強したいと思っています。 Rのサイトをみると、結構、「使い方」的なサイトが多く、 汎用言語の視点から書かれた、サイト、本が少ない(?)ような気がします。 たとえば、ほかの言語と比較しながら書かれたような 本、サイトなどあれば、教えていただきたいのですが。 ありますでしょうか。
97 名前:132人目の素数さん mailto:sage [2011/06/26(日) 00:19:39.46 ] ぐぐりにくい、というのがRの最大の弱点
98 名前:132人目の素数さん mailto:sage [2011/06/26(日) 01:03:33.08 ] >>96 Rの基礎とプログラミング技法 www.amazon.co.jp/dp/4431712186 d.hatena.ne.jp/sesejun/20090331/p2 Rと他の言語を比較した本は知りませんが、 汎用言語としてのR言語を勉強するならこの本がお勧めです。
99 名前:132人目の素数さん mailto:sage [2011/06/27(月) 09:37:34.48 ] >>96 そういえば、Rユーザ会で、韓国から来た演者が汎用言語の視点から、Rの問題点などを 発表していたな。興味がなかったので内容は覚えていない。 汎用言語の視点で書かれた書籍はないと思う。 しいてあげるなら、>>98 が薦めるリゲスさんの本しかない。
100 名前:85 mailto:sage [2011/07/04(月) 10:41:00.37 ] Rパッケージガイドブックを購入 xtsをインストールしたんですが データフレームをxtsにコンバートできません。 > x.xts<-as.xts(x) 以下にエラー as.POSIXlt.character(x, tz, ...) : character string is not in a standard unambiguous format Zooオブジェクトに経由させることもできません > x.xts<-as.xts(read.zoo(x)) 以下にエラー xts(coredata(x), order.by = order.by, frequency = frequency, : order.by requires an appropriate time-based object データフレームの中身は 日付 株価 20040101 1500 20040102 1450 といった具合に2列のデータなのですが?
101 名前:132人目の素数さん mailto:sage [2011/07/04(月) 11:05:02.37 ] >>100 ここに書くのではなくて、 それを書いた人に凸してみたら? > library(xts) 要求されたパッケージ zoo をロード中です > dat <- data.frame(日付=c(20040101,20040102),株価=c(1500,1450)) > dat 日付 株価 1 20040101 1500 2 20040102 1450 > as.xts(dat) 以下にエラー as.POSIXlt.character(x, tz, ...) : character string is not in a standard unambiguous format > rownames(dat) <- c("2004-01-01","2004-01-02") > as.xts(dat) 日付 株価 2004-01-01 20040101 1500 2004-01-02 20040102 1450 まぁ、参考になれば。
102 名前:132人目の素数さん [2011/07/14(木) 14:34:30.11 ] Rで複素誤差関数 w(x) = exp(-x^2) erfc(-ix) を使いたいのだけれども、これはどうやって定義すればよいでしょうか。 相補誤差関数 erfc を qnorm 関数から定義すると、 qnorm が実数に対してしか定義されていないためエラーになってしまいます。
103 名前:132人目の素数さん [2011/07/15(金) 02:10:37.99 ] >>96 > 汎用言語の視点から書かれた、サイト、本が少ない(?)ような気がします。 Rの本を書いているのは、大学の先生が多いからね。 そして、大学の先生ってのはコンピュータのことや、 プログラミングのことをわかってないから。 Rの使い方だけの説明になってしまうのは しかたがないと思いますよ。
104 名前:132人目の素数さん mailto:sage [2011/07/15(金) 11:23:45.87 ] × 大学の先生 ○ 情報科学が専門ではなく疫学やら統計屋が仕事の教員
105 名前:132人目の素数さん [2011/07/16(土) 00:45:00.68 ] >>104 ○ 大学の先生 X 情報科学が専門ではなく疫学やら統計屋が仕事の教員 特に情報科学の先生や院生などは、知ったかの馬鹿ばっかりです。 国立情報学研究所を見ればよくわかるでしょ? 税金を使ってPCで遊んでるだけ。 全員がコネ採用。
106 名前:132人目の素数さん [2011/07/16(土) 01:04:55.28 ] 情報研究所て何やってるんだ? 唯のお飾りか?
107 名前:132人目の素数さん [2011/07/16(土) 16:16:24.06 ] 国立情報学研究所は、仕事したくない院生や教授が 税金を無駄遣いしながら、馬鹿同士楽しく PCで遊んでいる組織ですね。 どいつもこいつも馬鹿ばっかり。 コネがないと絶対に採用されません。 公募する前から採用者は決まってます。
108 名前:132人目の素数さん mailto:sage [2011/07/16(土) 16:49:55.56 ] なんか嫌なことでもあった?
109 名前:132人目の素数さん [2011/07/16(土) 20:02:28.47 ] 国立情報学研究所 統計数理研究所 この二つは廃止で結構です。税金の無駄です。
110 名前:132人目の素数さん [2011/07/16(土) 20:09:53.71 ] 疫学や感染症のシミュレーションをやっている連中なんざw バカばっかりやなw あれで数学やっているつもりのもいるからw 頓珍漢なことばかりを言って来るw
111 名前:猫は嘘吐き ◆MuKUnGPXAY mailto:age [2011/07/16(土) 20:20:25.68 ] 猫
112 名前:132人目の素数さん [2011/07/16(土) 20:58:33.45 ] というか、研究者というものは情熱と実力が必要だと思う。 しかし、単なる就職先のひとつとなっており、 学歴とコネのみで判断されるから。 実力で研究者になれるところって、少ないと思う。
113 名前:132人目の素数さん mailto:sage [2011/07/16(土) 21:06:58.59 ] そこの研究員全員の給料の上限を年収300万ぐらいにすれば他から文句はでないと思うよ。
114 名前:132人目の素数さん mailto:sage [2011/07/16(土) 21:19:33.03 ] 職を失ったのか?
115 名前:猫は無職 ◆MuKUnGPXAY mailto:age [2011/07/17(日) 03:35:47.40 ] 職を失ったんは結構前やがな。 猫
116 名前:132人目の素数さん [2011/07/17(日) 13:55:02.20 ] >>113 最近の調査では勤労者の平均年収が 370万円ぐらいらしいんですよ。 ただし最頻値は250万円ぐらいですから、 一部の高給取りが平均を上げていると思います。 また、公務員の平均は500万円ぐらいらしいですが、 公務員だけの平均年収は公表されていません。 研究と称してPCで遊んでいるだけですから、 年収150万円でも十分だと思います。
117 名前:猫の夢と痴漢の埋葬 ◆MuKUnGPXAY mailto:age [2011/07/17(日) 14:08:35.01 ] >>116 『研究と称してPCで遊んでる人』だけをそういう待遇にしたら良いと 思います。但しソレをどうやって判定スルのかは現実には難しく、なの で『虚偽院生と優秀院生の分離』と同様の困難が伴い兼ねませんね。 では質問ですが、虚偽院生に対してはどういう扱いが宜しいのでしょう かね? やはり追放ですかね? 猫
118 名前:132人目の素数さん [2011/07/17(日) 14:12:09.83 ] 国立情報研究所も統計数理研究所も、仕事らしい仕事をしているのはほんの一部なのではないかな? 統計数理研究所では女の子の飲み物調査という論文もあったぞw
119 名前:132人目の素数さん [2011/07/17(日) 14:24:35.05 ] >>117 虚偽院生とは、論文を書かない院生のことですか? 全く論文を書く気のない院生は追放でしかたないと思います。 少なくとも論文を何本か書いていて、研究費も助成金も1円も 受け取っておらず、アルバイトをして授業料を納めている奴は、 他の人の研究の邪魔をしないかぎりは、追放でなくて放置でいいと思います。 つまり、まあおれのことですけどね。 追放すべきは高い給料、研究費や助成金をたんまりもらっているのに 結果を出さない馬鹿な奴です。 これは院生だけではなく、助手も助教、準教授、教授も含まれます。 それらは能力と業績だけで判定されるべきだと思います。 その業績というのをどう判定するのかが難しいわけですけどね。
120 名前:猫の夢と痴漢の埋葬 ◆MuKUnGPXAY mailto:age [2011/07/17(日) 14:29:59.14 ] >>119 全くその通りだと思います。私が言う虚偽院生とは: ★★★『基礎体力も無ければ動機も無く、唯大学院に入学してしまったゾンビ』★★★ を指し示す言葉です。ですから恐らくは貴方の事ではないでしょう。放置 されていても自分から何かが出来る人は決してゾンビではアリマセンから。 猫
121 名前:132人目の素数さん [2011/07/17(日) 14:41:00.64 ] >全くその通りだと思います。 つまり>>119 の発言にまったく同意しているという解釈でよいですか?
122 名前:猫の夢と痴漢の埋葬 ◆MuKUnGPXAY mailto:age [2011/07/17(日) 14:42:52.30 ] >>121 はい。『私は>>119 氏の発言に全く同意』です。 猫
123 名前:132人目の素数さん [2011/07/17(日) 14:51:47.93 ] やっぱCOLDPLAYいいよねぇ 眼醒めたらゾンビみたいだったが、観てたら生気がもどってきた この辺のクオリティの高さは邦楽にはない、流石だとおもう。
124 名前:132人目の素数さん mailto:sage [2011/07/17(日) 23:18:34.72 ] コネっていうと響きは悪いけど、要するにコミュニティーを広げる努力をしてきたってことじゃない? 周囲と意見交換が出来るということは、非常に大きな能力であり財産だと思うよ そして研究室への貢献度という点で言えば 論文は書かないけどPCで遊べる程度の実力はあって、周囲と意見交換が出来る奴 > 一人黙々と論文を書く奴 だと自分は思う
125 名前:132人目の素数さん mailto:sage [2011/07/17(日) 23:41:22.12 ] なら年収も130万でいいな 月10万でボーナス(一ヶ月)も出て国家的身分は安泰 やりがいなんかまったくないと思うかもしれないが、言うことなしの職場じゃないか
126 名前:132人目の素数さん mailto:sage [2011/07/17(日) 23:45:41.25 ] >>116 それこそ、そこのなんとか研究所に問い合わせをして詳細資料(統計データ)請求すればいいんじゃないの? ただ気になったんだけど、rlang使ってるなら「加重平均」ってなんのことかはしってるよね。
127 名前:132人目の素数さん [2011/07/18(月) 02:46:14.96 ] ↑馬鹿だ(笑
128 名前:猫は爺惨状の蚊軍 ◆MuKUnGPXAY mailto:age [2011/07/18(月) 03:33:15.34 ] >>124 その考え方は決して認められない。大学は馬鹿がママゴトして遊ぶ場所 では断じてない。当然に: ★★★『黙々と論文を書く奴>論文は書かない奴』★★★ であり、PCで遊ぶかどうかや、周囲と意見交換が出来るかどうかなんて、 そんな事はどうでもヨロシ。 論文を書くかどうかだけが問題である。勘違いも甚だしい。ケシカラン。 猫
129 名前:132人目の素数さん [2011/07/18(月) 03:34:40.12 ] >>128 まずお前が実績を出してから批判しような
130 名前:132人目の素数さん mailto:sage [2011/07/18(月) 04:44:10.88 ] >>126 「左右非対称分布の平均値は分布を的確に示せない」 のは統計の基本常識です。 集計方法と指標の定義: さまざまな平均値/中央値/最頻値 web-tan.forum.impressrd.jp/e/2008/07/11/3428
131 名前:132人目の素数さん mailto:sage [2011/07/18(月) 05:55:50.19 ] R使うくらいならmatlab使った方がいいと思う
132 名前:132人目の素数さん mailto:sage [2011/07/18(月) 06:00:29.17 ] それはない
133 名前:132人目の素数さん mailto:sage [2011/07/18(月) 07:56:35.43 ] 猫さんが正論をいっとる
134 名前:132人目の素数さん [2011/07/18(月) 07:59:15.18 ] 統計なんてやっている奴はバカw
135 名前:132人目の素数さん [2011/07/18(月) 10:43:44.13 ] 統計は低脳のやる学問もどきである どこの大学でも統計の先生の論文は下らんものばかり
136 名前:132人目の素数さん mailto:sage [2011/07/18(月) 10:54:16.08 ] 量産可能で下らなくない論文とは例えばどういうのですか?
137 名前:132人目の素数さん [2011/07/18(月) 11:20:01.81 ] 統計ですと、同じ様な調査結果を論文として何度も書く事が出来ます。
138 名前:132人目の素数さん [2011/07/18(月) 11:22:33.75 ] 女子大生の飲み物調査 女子高校生の飲み物調査 女子中学生の飲み物調査 女子小学生の飲み物調査 女子幼稚園生の飲み物調査 20代OLの飲み物調査 30代のOLの飲み物調査 以下、女と男にかえても論文が書けます 統計数理研究所の教授がこうした論文を書いています
139 名前:132人目の素数さん [2011/07/18(月) 11:24:51.54 ] かけられた電話に出るまでの時間の統計的調査1 一部上場企業の場合 同上 2 2部上場企業の場合 同上 3 ヘラクレス上場企業の場合 同上 4 町役場の場合 以下 延々と書けます。
140 名前:132人目の素数さん mailto:sage [2011/07/18(月) 11:30:15.87 ] 今渦中の経済産業省官僚のやることなんかはもっと姑息ですけどねw
141 名前:132人目の素数さん [2011/07/18(月) 15:21:16.30 ] グランドカノニカルは糞
142 名前:132人目の素数さん [2011/07/18(月) 18:25:28.32 ] 等高線の書き方について質問です。 等高線を書きたいのですが、情報量が少ないため、contour関数では書けません。現在与えられているのは、20個の点に対しての座標(x,y,z)です。2次元上の布置まではできているのですが、等高線を用いてz座標を表現することができません。 どの関数を扱えばいいかなど、わかる方がいらっしゃいましたら教えてください。
143 名前:132人目の素数さん mailto:sage [2011/07/18(月) 18:59:47.11 ] 手で書いたら? 天気図も昔はそうしたよ。
144 名前:132人目の素数さん [2011/07/18(月) 22:51:46.35 ] >>142 つか、授業聞いてなかったの? 全部説明したはずだけどね。 geoRで作成しなさいって言ったでしょ? 単位あげないよ!
145 名前:132人目の素数さん mailto:sage [2011/07/31(日) 19:04:21.64 ] データフレームの列名に日本語で文字化けして困ってます。 Rコマンダーでcsv経由。 RGUIはMSGhosicに設定。 コマンドでフォント指定以外に 対策あれば教えてください。
146 名前:132人目の素数さん mailto:sage [2011/08/01(月) 00:30:07.52 ] >>145 Rというよりそのcsvファイルがくせもの 解決策は2つ。 1. csvの文字コードを文字化けしないものに変更してからRに読み込む 2. Rの中でiconv()で文字コードを変換する 好きな方を選べ
147 名前:132人目の素数さん mailto:sage [2011/08/01(月) 05:59:12.09 ] >>146 了解です。 クリップボードを経由してみたら、ますます 酷くなりました。 特に列の変数名がボロボロです。 これはなにゆえでしょうか?
148 名前:132人目の素数さん mailto:sage [2011/08/01(月) 11:35:11.11 ] >>147 みたいな学生を指導する教員は大変だな。 全く別のアプローチを提示してみます。 > dat <- read.csv(file.choose()) > dat bake bakeda 1 32 re 2 242 ga ここで列名が文字化けしていたとします。 本当に化けている状態を示せないので仮に"bake"とか"bakeda"とかにしています。 > names(dat) <- c("日本語","大丈夫") > dat 日本語 大丈夫 1 32 re 2 242 ga というようにnames()で、列名を自由に再設定できます。 列名が、文字化けしていて、なおかつ文字コードを変更する能力がないなら、 上記のような方法もあります。
149 名前:132人目の素数さん mailto:sage [2011/08/08(月) 14:36:57.39 ] [S] 東大, 弁護士, Re,
150 名前:132人目の素数さん mailto:sage [2011/08/08(月) 14:38:15.29 ] [A] TS10,SBR,VFK10,TKK,VF1,LCCR,SINX, VF1M4,VF1L2,VF1H2,EMPC,MPE, 4231,4213,3331,3313,145,53A3,6236, EMPCB,EMJ,LP,CJ,F4,LC,DNA,RNA, SINT,JEL,23458,2348,DBT,GMO, AB,APLWJKSJ,PES,WE,CA,RR,ASL, EPH,ITU,261036,CBS6,1358,G1,AS3,M5,
151 名前:132人目の素数さん [2011/08/11(木) 22:25:16.52 ] 質問です。 20個の変数があり、各変数は0 から 0.2 まで 0.05 ずつの値をとることが可能 また、この変数の総和は 1 となる。 この時の組み合わせをすべて求めたいのですが、 どうすれば良いでしょうか? よろしくお願いいたします
152 名前:132人目の素数さん mailto:sage [2011/08/12(金) 01:53:48.61 ] >>151 > seq(from=0,to=0.2,by=0.05) [1] 0.00 0.05 0.10 0.15 0.20 > factorial(5+20-1)/factorial(20)/factorial(5-1) [1] 10626 この程度の組み合わせなら全て計算して合計が1のものを選んだ方が早いかも。
153 名前:152 mailto:sage [2011/08/12(金) 02:20:56.85 ] とりあえず、20変数じゃなくて6変数の場合を提示するのであとは自分で考えて > n <- seq(from=0,to=0.2,by=0.05) > m <- expand.grid(n,n,n,n,n,n) > m.s <- apply(m,1,sum) > a <- m[m.s==1,] > head(a) Var1 Var2 Var3 Var4 Var5 Var6 3125 0.20 0.20 0.20 0.20 0.20 0.00 5625 0.20 0.20 0.20 0.20 0.15 0.05 6125 0.20 0.20 0.20 0.15 0.20 0.05 6225 0.20 0.20 0.15 0.20 0.20 0.05 6245 0.20 0.15 0.20 0.20 0.20 0.05 6249 0.15 0.20 0.20 0.20 0.20 0.05
154 名前:132人目の素数さん mailto:sage [2011/08/12(金) 03:46:54.73 ] 変数の値を20倍すると、各変数は0〜4までの整数値を取れる、総和は20となる。 パターンは次の108通り。合計が20未満の場合は、足りない数だけ1を加える。変数が20個未満の場合は、足りない分だけ0を加える。 例:432→合計が9なので、1を11個加え、43211111111111、さらに数字の数が14個なので、0を6つ加え、「43211111111111000000」が真のパターン 44444 , 44443 , 444422 , 44442 , 4444 , 444332 , 44433 , 444322 , 44432 , 4443 , 4442222 , 444222 , 44422 , 4442 , 444 , 443333 , 443332 , 44333 , 4433222 , 443322 , 44332 , 4433 , 4432222 , 443222 , 44322 , 4432 , 443 , 44222222 , 4422222 , 442222 , 44222 , 4422 , 442 , 44 , 433333 , 4333322 , 433332 , 43333 , 4333222 , 433322 , 43332 , 4333 , 43322222 , 4332222 , 433222 , 43322 , 4332 , 433 , 43222222 , 4322222 , 432222 , 43222 , 4322 , 432 , 43 , 422222222 , 42222222 , 4222222 , 422222 , 42222 , 4222 , 422 , 42 , 4 , 3333332 , 333333 , 3333322 , 333332 , 33333 , 33332222 , 3333222 , 333322 , 33332 , 3333 , 33322222 , 3332222 , 333222 , 33322 , 3332 , 333 , 332222222 , 33222222 , 3322222 , 332222 , 33222 , 3322 , 332 , 33 , 322222222 , 32222222 , 3222222 , 322222 , 32222 , 3222 , 322 , 32 , 3 , 2222222222 , 222222222 , 22222222 , 2222222 , 222222 , 22222 , 2222 , 222 , 22 , 2 ,1 各パターン毎に、変数の名前の入れ替えを考えると、合計35,561,166,195通りあると思われる。
155 名前:132人目の素数さん [2011/08/16(火) 17:26:31.50 ] Rのように多機能でクールでフリーの幾何学ソフト無いですか?
156 名前:132人目の素数さん mailto:sage [2011/08/16(火) 20:01:09.46 ] 統計と幾何学ではだいぶソフトに求めるものが違うと思うけど、とりあえずこれなんかどう? sites.google.com/site/geogebrajp/
157 名前:132人目の素数さん [2011/08/17(水) 15:07:10.21 ] 以下のような複数の式に対して、どちらの式がより小さなzを与えるかの境界線をx-y平面上に引くためにはどうしたら良いでしょうか。 式は最大で4つほど、xとyに関しては整数を想定しています。 z=ax+by … (i) z=cx+dy … (ii) 単純に総当りで(x,y)に対して、zを最小化する式を選ぶだけなら適当に関数を作ればいけそうですが(スマートではないですね…)、その境界をどうやったらグラフに引けるかがわかりません。 どなたか教えてくだされば幸いです。 よろしくお願いします。
158 名前:132人目の素数さん mailto:sage [2011/08/17(水) 18:16:26.16 ] >>157 >z=ax+by … (i) >z=cx+dy … (ii) この式でzが等しくなるax+by=cx+dyを引けばよいです。 >式は最大で4つほど 組み合わせが6組あるから6本引いてください。 >xとyに関しては整数を想定しています。 境界線を引くときは整数という条件を無視し、 グラフを見る時に整数が線のどちら側にあるか判断してください。
159 名前:132人目の素数さん mailto:sage [2011/09/01(木) 15:41:46.21 ] R
160 名前:132人目の素数さん mailto:sage [2011/09/05(月) 16:54:51.22 ] 、
161 名前:132人目の素数さん mailto:sage [2011/09/05(月) 17:18:37.28 ] matlab使い慣れてる人向けの R入門書ってないでしょうか
162 名前:132人目の素数さん mailto:sage [2011/09/05(月) 20:58:24.38 ] Ramsay, J.O., Hooker, Giles, Graves, Spencer (2010) Functional Data Analysis with R and MATLAB (Use R) Springer-Verlag Jan Graffelman (2010) Multivariate Analysis With Matlab And R CRC Press Online
163 名前:132人目の素数さん mailto:sage [2011/10/02(日) 01:52:40.21 ] 基本的なことで申し訳ありません。 ワークスペースを保存しようとすると1kbのファイルしか保存されず、保存に失敗します。 原因がわかればよろしくお願いします。
164 名前:163 mailto:sage [2011/10/02(日) 02:08:38.40 ] すいません。圧縮されているんですね。 スレ汚しすいません。
165 名前:132人目の素数さん mailto:sage [2011/10/04(火) 02:54:00.77 ] g <- function(x) x^2 plot(g) こんな感じで半径1の円を描きたいのです。 教えてください。
166 名前:132人目の素数さん mailto:sage [2011/10/04(火) 09:53:36.95 ] >>165 symbols(0,0,circles=1,inches=FALSE) お望みはこんな感じ?
167 名前:132人目の素数さん mailto:sage [2011/10/04(火) 11:45:17.26 ] >>166 ありがとうございます。 symbols(0,0,circles=1,inches=F, xlim=c(0,2), ylim=c(0,2)) 図示されたイメージの縦横比(大きさ)を変えると 円の大きさも変化してしまうのですが… できれば、sqrt(x^2+y^2)の式を用いて描きたいです
168 名前:152 mailto:sage [2011/10/04(火) 12:39:57.11 ] >>167 >sqrt(x^2+y^2)の式を用いて描きたい じゃあそうすればいいじゃん。なぜためらう? > x <- seq(-1,1,length.out=100) > y <- sqrt(1^2-x^2) > plot(x,y,type="l") これで半円だろ。 > plot(c(x,x),c(y,-y),type="l") これで円になるだろ。
169 名前:132人目の素数さん mailto:sage [2011/10/04(火) 12:40:50.47 ] 152ってなんだ、166の間違い
170 名前:132人目の素数さん mailto:sage [2011/10/04(火) 12:49:40.40 ] >>168 ありがとうございます。勉強になりました。
171 名前:132人目の素数さん mailto:sage [2011/10/04(火) 12:54:05.14 ] >>170 念のために、ちょっと改良 > plot(c(x,rev(x)),c(y,-y),type="l") 用途によるけど、円を描画したければ、symbolsを使った方が、 アスペクト比に影響されずに正円になるのでよいと思うが。 xy座標で円を描くと、asp=1にでもしない限り、普通は楕円になってしまう。
172 名前:132人目の素数さん mailto:sage [2011/10/12(水) 10:45:20.34 ] パッケージurcaのur.dfでlags=10, selectlags=c("AIC") のようにAICやBICを使うと、 selectlagsをFixedしてラグを変えて一通り試しても AICやBICを用いた計算に一致する結果がない、 自分で計算したBICとでは選択されたラグが一致しないなど どこか間違っている気がします。 ソースを見ても critRes <-AIC(result, k = switch(selectlags, AIC = 2, BIC = log(length(z.diff)))) lags <- which.min(critRes) となっていて、当方の利用の仕方に間違いがあるのかどうかも分かりません。 どなたか、この点についてご教示いただければと思います。
173 名前:132人目の素数さん mailto:sage [2011/10/23(日) 19:16:11.40 ] 確率の推定を行いたい ロジスティック回帰のような、説明変数に対して単調増加する線形じゃなくて 多分ガウス曲線みたいな感じになると思うのだけれども なんか適当なパッケージないですかね?
174 名前:132人目の素数さん mailto:sage [2011/10/24(月) 21:24:37.50 ] 質問です。 都道府県 学年 テスト点数 京都 1 85 大阪 2 90 京都 3 70 奈良 2 60 東京 _3 90 ・・・ というようなデータフレームDFが存在します。 これを各都道府県別に学年毎のテストの平均点を算出したいのですが、 どうすれば良いのでしょうか? 最初に都道府県別にデータフレームを分割すれば tapply関数などで集約できるのですが、いかんせんfor loopで回すので 時間がかかります。ループを利用しないような簡単な計算方法はないでしょうか? 府県名 <- sort(unique(DF[,1])) for ( i in 府県名 ){ }
175 名前:174 [2011/10/24(月) 21:27:18.06 ] すいません。 途中で送信してしまいました。 現在は 府県名 <- sort(unique(DF[,1])) for ( i in 府県名 ){ temp <- sub(DF, DF$府県名==i) result <- tapply(temp, temp$テスト点数, mean) } のようにしてますがいかんせんループで時間がかかります。 よろしくお願いいたします。
176 名前:132人目の素数さん mailto:sage [2011/10/24(月) 22:11:15.94 ] R言語は知らないのですが、考え方だけ。 整数型配列を二つ用意します。大きさは両方とも6*47=282です。 名前はsum、counter。最初は全て0を入れておきます。 配列の1番目は、北海道の1年に対応させ、2番目は青森の1年...47番は沖縄の一年。 48番は北海道の2年...282番目は沖縄の6年。 あるいは、1番は北海道の1年、2番は北海道の2年、...、6番は北海道の6年、... 277番が沖縄の1年、...282番は沖縄の6年。 どちらでもかまいません。 一人目のデータを読み込み、京都1年に対応するデータのsumを点数の分だけ増やし、counterは1増やす。 これを全データで行います。一度スキャンするだけです。 この目的には、ソートは必要ありません。
177 名前:174 mailto:sage [2011/10/24(月) 22:25:22.55 ] >>176 ありがとうございます。 Cならそれで十分なのですが、Rの場合ベクトルで扱うのでループ処理は遅くなるらしいのです。 もう一点質問です。 CODE CD VAL 0001 101 3 0001 201 4 0001 333 5 0002 201 2 0002 333 7 ・・・ というデータフレームがある場合に CODE VAL[101] VAL[102] ........ VAL[201] ............. 0001 3 0 ........ 4 ............... というようなデータフレームに変換するにはどうすればよいでしょうか。 これも現在はループを利用して処理をしております よろしくお願いいたします。
178 名前:132人目の素数さん mailto:sage [2011/10/24(月) 22:51:31.71 ] データフレーム名をDFとして、中身が pref grade score kyoto 1 kyoto 1 85 oosaka 2 90 kyoto 3 70 nara 2 60 tokyo _3 90 ・・・ として、 tapply(DF$score, list(grade=DF$grade, pref=DF$pref), mean, na.rm=TRUE) みたいのではいかんのですか? いや、私もよくわからんので、Rコマンダーにお伺いをたててみたんですがね。
179 名前:132人目の素数さん mailto:sage [2011/10/25(火) 02:06:48.72 ] >>178 ヘルプを見るとインデックスはlist of factorS とあるから、複数のベクトルをいれれるんだね。勉強になりました。 tapply(X, INDEX, FUN = NULL, ..., simplify = TRUE) Arguments X an atomic object, typically a vector. INDEX list of factors, each of same length as X. The elements are coerced to factors by as.factor.
180 名前:132人目の素数さん mailto:sage [2011/10/25(火) 02:12:24.16 ] >>177 cran.r-project.org/web/packages/HSAUR2/vignettes/Ch_analysing_longitudinal_dataI.pdf の三ページのreshape()かな
181 名前:132人目の素数さん mailto:sage [2011/10/25(火) 02:20:33.81 ] >>177 >CODE CD VAL >0001 101 3 >0001 201 4 >0001 333 5 >0002 201 2 >0002 333 7 >・・・ > >というデータフレームがある場合に >CODE VAL[101] VAL[102] ........ VAL[201] ............. >0001 3 0 ........ 4 ............... reshape(data, idvar="CODE", v.name="VAL", time="CD") でどうでしょう。
182 名前:132人目の素数さん mailto:sage [2011/10/25(火) 02:28:43.43 ] >>181 reshape(data, idvar="CODE", v.name="VAL", timevar="CD", direction="wide") でした。
183 名前:132人目の素数さん mailto:sage [2011/10/25(火) 09:18:31.89 ] サポートベクターマシンにて入力変数が多く、 精度を上げるための特徴選択を行おうと思い、 そのためのパッケージとして、"penalizedSVM"が あると知りました(元々BioInformatics用みたいですが)。 r.789695.n4.nabble.com/Stepwise-SVM-Variable-selection-td3178718.html cran.r-project.org/web/packages/penalizedSVM/index.html しかし日本語の解説やリファレンスが皆無で、 英語でも分かりやすい解説がなく、 パッケージの公式リファレンスでは自分にはイミフでした。 cran.r-project.org/web/packages/penalizedSVM/penalizedSVM.pdf どなたか実際にお使いの方がいれば、具体的に どのように使用するか教えていただけないでしょうか。
184 名前:17 mailto:sage [2011/10/25(火) 22:44:03.74 ] 皆様ありがとうございました。 2つとも無事うまく解決できました。 やっぱりよくヘルプを読む必要がありますね。 精進します。
185 名前:132人目の素数さん mailto:sage [2011/10/26(水) 00:50:54.90 ] >>174 の例で、各都道府県別+学年毎に分けたグループそれぞれについて 1対1の全組み合わせのt.testを一気に行う方法があるでしょうか? (loopで回す関数を自作したりしない出来合の方法で)
186 名前:132人目の素数さん mailto:sage [2011/10/26(水) 07:28:10.01 ] >>185 それは、R以前の問題として、不適切だと思うのですが。 あるいは駄目な例としてやるってことかな? 二元配置の分散分析か、何らかの多重比較ではだめなんでしょうか?
187 名前:132人目の素数さん [2011/10/31(月) 21:41:20.58 ] CODE_1 CODE_2 VAL1 VAL2 VAL3 VAL4 ______________________ AAAAA 122 NA 2.5 3.8 NA AAAAA 154 2.4 1 4 5 AAAAA 166 3.4 4.0 4 5 AAAAA 178 NA 33 NA NA ・ ・ BBBBB 122 4 3.4 4.3 1 BBBBB 123 NA 2 4 4 BBBBB 154 2 5 5 6 ・ ・ というようなデータをもつデータフレーム これをCODE_2毎に相関を算出したいと考えております。 現在は allcode <- sort(unique(DF$CODE_2)) for ( c_code in 1:length(allcode)) { TEMPDF <- subset(DF, DF$CODE_2==allcode[c_code]) cor(TEMPDF[, -1][, -1], use = "pairwise.complete.obs") ・・・ } でおこなっているのですが、いかんせんCODE_2の数が多く、 ループ数が非常におおくなります。 解決策などありますでしょうか? よろしくお願いします
188 名前:132人目の素数さん mailto:sage [2011/11/01(火) 08:20:00.30 ] >>187 code_2を因子化、tapply cor
189 名前:132人目の素数さん mailto:sage [2011/11/01(火) 10:39:24.41 ] by(DF[3:5], DF$CODE_2, cor) でいいんじゃないの?
190 名前:132人目の素数さん mailto:sage [2011/11/01(火) 11:23:41.66 ] >>189 >>187 じゃないけど、by()ってこんなに便利だったのか。 > V=c(NA,round(runif(10)*10,1)) > dat <- data.frame(C1=sample(LETTERS,50,replace=TRUE), + C2=sample(100:105,50,replace=TRUE), + V1=sample(V,50,replace=TRUE), + V2=sample(V,50,replace=TRUE), + V3=sample(V,50,replace=TRUE), + V4=sample(V,50,replace=TRUE)) > by(dat[,3:6],dat$C2,cor) dat$C2: 100 V1 V2 V3 V4 V1 1 NA NA NA V2 NA 1 NA NA V3 NA NA 1 NA V4 NA NA NA 1 ------------------------------------------------------------ dat$C2: 101 V1 V2 V3 V4 V1 1 NA NA NA V2 NA 1 NA NA V3 NA NA 1.0000000 -0.4458286 V4 NA NA -0.4458286 1.0000000 ------------------------------------------------------------ dat$C2: 102 V1 V2 V3 V4 V1 1.0000000 NA 0.1731169 NA V2 NA 1 NA NA V3 0.1731169 NA 1.0000000 NA V4 NA NA NA 1 [以下略]
191 名前:132人目の素数さん mailto:sage [2011/11/01(火) 11:47:20.47 ] beebee2see.appspot.com/i/azuYwLSFBQw.jpg すまんこれ教えてくれ
192 名前:132人目の素数さん mailto:sage [2011/11/01(火) 12:23:35.93 ] >>191 見れねーよ
193 名前:132人目の素数さん mailto:sage [2011/11/01(火) 12:26:19.61 ] diagを使わずにforで対角行列作れって言われた 九行九列で
194 名前:132人目の素数さん mailto:sage [2011/11/01(火) 13:07:16.47 ] >>193 宿題は自分でやれ。 無意味な課題であることには同情するが。
195 名前:132人目の素数さん mailto:sage [2011/11/01(火) 13:36:14.59 ] ヒントだけ > x <- array(0, c(9, 9)) > x[1 + 0:(9 - 1) * (9 + 1)] <- c("九","行","九","列","の","対","角","行","列") > x [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [1,] "九" "0" "0" "0" "0" "0" "0" "0" "0" [2,] "0" "行" "0" "0" "0" "0" "0" "0" "0" [3,] "0" "0" "九" "0" "0" "0" "0" "0" "0" [4,] "0" "0" "0" "列" "0" "0" "0" "0" "0" [5,] "0" "0" "0" "0" "の" "0" "0" "0" "0" [6,] "0" "0" "0" "0" "0" "対" "0" "0" "0" [7,] "0" "0" "0" "0" "0" "0" "角" "0" "0" [8,] "0" "0" "0" "0" "0" "0" "0" "行" "0" [9,] "0" "0" "0" "0" "0" "0" "0" "0" "列" 2行目をfor文に書き換えればOK
196 名前:132人目の素数さん mailto:sage [2011/11/01(火) 21:38:31.87 ] パズルとしてdiag、for以外の方法でやってみた n=9;matrix(rep(rep(c(1,0),c(1,n)),n),n,n)
197 名前:132人目の素数さん mailto:sage [2011/11/01(火) 22:18:26.30 ] >>196 それは多分、定石に近いやり方だと思う。 APLでは同じロジックで以下のように書く。 n nρ1,(n←9)ρ0
198 名前:132人目の素数さん mailto:sage [2011/11/02(水) 01:29:13.55 ] 一直線に並べた時のパターンを作っているのか かしこいな
199 名前:132人目の素数さん mailto:sage [2011/11/02(水) 10:30:18.51 ] >>196 rep()の回数にベクトルを指定できるとは知らなかった。 昔からだったっけ?repのexample()を見たら、listのrepとかがある。 もはや何でも有りだなw
200 名前:132人目の素数さん mailto:sage [2011/11/02(水) 15:09:25.23 ] Rでも>197のAPL版みたいにできるんだなあ。warningはでるけど。 > n=3;matrix(c(1,rep(0,n)),n,n) [,1] [,2] [,3] [1,] 1 0 0 [2,] 0 1 0 [3,] 0 0 1 Warning message: In matrix(c(1, rep(0, n)), n, n) : データ長 [4] が行数 [3] を整数で割った、もしくは掛けた値ではありません
201 名前:132人目の素数さん mailto:sage [2011/11/02(水) 18:35:46.71 ] rep(0,n)じゃなくて rep(0,n-1)ではなくて?
202 名前:132人目の素数さん mailto:sage [2011/11/02(水) 20:41:59.14 ] >>200 そこでWarning出るところにRの設計思想があるのかも。 Rの源流に触れるつもりでAPLの教科書を読んだんだけど、 初っぱなのサンプルでこんな事やっているから (( ̄1+ρc),27)ρc←'APL IS HAPPY ' APL IS HAPPY APL IS HAPPY A PL IS HAPPY APL IS HAPPY AP L IS HAPPY APL IS HAPPY APL IS HAPPY APL IS HAPPY APL IS HAPPY APL IS HAPPY APL I S HAPPY APL IS HAPPY APL IS HAPPY APL IS HAPPY APL IS HAPPY APL IS HAPPY APL IS H APPY APL IS HAPPY APL IS HA PPY APL IS HAPPY APL IS HAP PY APL IS HAPPY APL IS HAPP Y APL IS HAPPY APL IS HAPPY
203 名前:132人目の素数さん mailto:sage [2011/11/02(水) 20:45:02.50 ] >>202 > (( ̄1+ρc),27)ρc←'APL IS HAPPY ' こっちが本来だった。 (12,1+2×ρc)ρc←'APL IS HAPPY '
204 名前:132人目の素数さん [2011/11/03(木) 02:20:32.86 ] Rでガンマ分布の最尤推定量求めたいんだけどどうすればいいんでしょうか
205 名前:187 mailto:sage [2011/11/03(木) 09:38:31.29 ] >>188 ,189 遅くなって申し訳ありませんがありがとうございました。 byを使ってかなり高速化することができました。 ところでbyを使って取得すると $AAAAA VAL1 VAL2 VAL3 VAL4 VAL1 1.000 xxxx yyyy zzzzz VAL2 .... となりますがすべてのCODE2についてVAL1とVAL2~VAL4の相関のみを取り出すには どうすればよいでしょうか? byの返り値をresultとすると for (i in 1:length(names(result)) result[[i]][ , 2:4] } とループを回すしかありませんか? よろしくお願いします
206 名前:132人目の素数さん mailto:sage [2011/11/03(木) 10:38:07.92 ] >>205 どんだけforが好きなんだよw forの方がむしろ思いつかんわ
207 名前:132人目の素数さん [2011/11/03(木) 16:14:38.08 ] ああいえば for you forever are you
208 名前:132人目の素数さん mailto:sage [2011/11/04(金) 00:56:32.12 ] >>205 result[[1:n]][ , 2:4] ってやったらどうなりますか?
209 名前:187 mailto:sage [2011/11/04(金) 23:43:30.93 ] >>208 次元が違うと怒られます。。。。
210 名前:132人目の素数さん [2011/11/06(日) 16:00:11.33 ] 基礎的な質問で申し訳ないのですが 膨大なデータから、-1と1を判別して予測する集団学習で ランダムフォレスト、バギング、ブースティング、SVMの他に有用そうなものってありますか? ググっても上の4つくらいしか出ないのですが十分ですかね。
211 名前:132人目の素数さん mailto:sage [2011/11/06(日) 22:20:02.20 ] エクセルやNumbersに比べてRって見た目しょぼすぎだなwww味気なさ過ぎ もうちょっとグラフィックとかマシなのある?Mac使いとしはやっぱ見た目は重要。
212 名前:132人目の素数さん mailto:sage [2011/11/07(月) 00:01:59.45 ] >>211 Rはオブジェクト指向言語、BASIC、C、C++と比べて遥かに使いやすいし現実的な数値計算で使える。 #Excelと比較してC言語は地味でしょぼい と嘆かれても困ったもんだ。RはExcelやNumbersとは用途が違う。 但し、重複する所もある。 具体的にはExcelのオプションの分析機能はRの機能と重なる。 使い分けが必要なんだな。
213 名前:132人目の素数さん mailto:sage [2011/11/07(月) 00:06:22.28 ] >>211 え?マジで言ってるとしたら勉強不足としか思えないのだが・・・ フォントを代えるなり、latticeやggplot2等のパッケージを試してみるといいよ 参照:ttp://rgm2.lab.nig.ac.jp/RGM2/ これは蛇足だが、学術ソフトの画像出力として「味気ない」というのは明らかに利点 大事なのは見易さと正確性であって、派手なグラフが良いとか考えていると周りから痛い子扱いされるよ
214 名前:213 mailto:sage [2011/11/07(月) 00:08:09.72 ] あぁ、アプリ画面等がしょぼいって事でしたら、>>212 さんの意見を参考にして下さい
215 名前:132人目の素数さん mailto:sage [2011/11/07(月) 00:25:08.30 ] 俺のお薦めはR Commanderかな。これはRをGUIで使えるようにしたものなの cwoweb2.bai.ne.jp/~jgb11101/files/R-commander.pdf 優れている点はR Commanderのメニューが データ、統計量、グラフ、モデル、分布 に分かれているのだけれど、これって数学的な"分析"の手順に沿ったメニュー構成になっている事に気が付く。 ディープな分析をしたい時はRを使うし、事務的な作業をしたい場合はExcelを使う。 世の中の大半はExcelで十分だと思う。Rを使いこなせる人たちは高級な。
216 名前:132人目の素数さん mailto:sage [2011/11/07(月) 02:59:23.82 ] >>213 実にしょぼい
217 名前:132人目の素数さん mailto:sage [2011/11/07(月) 03:00:31.75 ] やっぱ派手さも大切だわ
218 名前:132人目の素数さん mailto:sage [2011/11/07(月) 07:58:28.74 ] 分析する前が膨大な量のデータで、分析後も派手なグラフの結果では本質が掴めているとは言えないし読む人間も判断できない。 それでは分析する価値は無い。 例えば、ロジスティック回帰分析の場合、入力は膨大でもアウトプットはyesかno程度だよ。 まあ、派手なグラフィックパッケージを探したら?あるんじゃないの?
219 名前:132人目の素数さん mailto:sage [2011/11/07(月) 10:47:44.35 ] >>218 趣旨には賛同する。 > ロジスティック回帰分析の場合、入力は膨大でもアウトプットはyesかno程度 おーい。凡ミスか本気でそう思っているのかどっちだ?
220 名前:132人目の素数さん mailto:sage [2011/11/07(月) 12:18:25.23 ] >>218 なぜ結果がグラフィカルというだけで本質が掴めてるとは言えないの? 結果は変わらないだろうにww あなた自身が本質を掴めてないのではww
221 名前:132人目の素数さん mailto:sage [2011/11/07(月) 14:01:31.17 ] >>220 横から参戦させてもらうが、そもそもデータ分析の目的は、 データに含まれる枝葉末節を取り除き、データの中に隠れている本質を洗い出すことにある。 苦労して洗い出した本質にまた余計なものを加えて汚すのはこれ如何に?
222 名前:132人目の素数さん [2011/11/07(月) 16:20:49.99 ] どなたかパッケージのtuneRに詳しい人いないですか?
223 名前:132人目の素数さん mailto:sage [2011/11/07(月) 18:42:59.29 ] >>222 リゲス先生が詳しいと思うよw
224 名前:218 mailto:sage [2011/11/07(月) 23:07:11.83 ] >>219 "yesかno程度"の"程度"にいろんな意味がこめられているから大目に見てよ(^_^)。
225 名前:187 mailto:sage [2011/11/07(月) 23:10:40.47 ] とりあえずunlistでベクトルに分解してから、 必要な要素だけを取り出すようにしました。 ループをまわさないのでだいぶ高速化されました。 ありがとうございまいた。
226 名前:218 mailto:sage [2011/11/07(月) 23:13:34.77 ] >>220 >なぜ結果がグラフィカルというだけで本質が掴めてるとは言えないの? 誤解があったようですまない。 別に可視化(グラフィカル)の研究分野を否定しているわけではないよ。 人間の目で見て確認するのは結構有効なんだよね。 一例を探してみました。 次のURLの画像を見てもらいたいのだけれど www-kairo.csce.kyushu-u.ac.jp/~norikazu/svm.png 左側の2次元平面上の青と赤の点を"シンプルな人工知能"で判別する事はできないんだ。 ところがSVM(サポートベクターマシン)と呼ばれる人工知能を用いるとこれを右側の3次元の問題に置き換える事で判別できるようにするんだ。 こういう判別ができているのか?出来ていないのか?は人間の目で判断して使い分けた方が良い場合がある。 だから可視化は一つの研究分野として重視されているんだ。
227 名前:218 mailto:sage [2011/11/07(月) 23:20:49.19 ] 但しグラフィカルには限度がある。 >>221 さんの主張にあるようにR使いの人たちは大体、数百次元のデータから4次元や5次元位に絞り込む。 でもグラフィカルの世界では基本的に3次元(z軸,y軸,z軸)が限界なんだよね。 4次元以上は色や形に置き換えて可視化する事になる。そうなると実は分かりにくいんだよ。 先のURLの人工知能の例でも所詮2次元から3次元へ問題を置き換えているに過ぎない。 分析の世界をまじめに可視化するとかなりハードルが高くなるんだよね。 勿論、高次元を可視化する手法としてSOMという方法も存在するよ。
228 名前:132人目の素数さん mailto:sage [2011/11/08(火) 09:30:33.83 ] 面白い話が聞けた
229 名前:132人目の素数さん mailto:sage [2011/11/08(火) 09:45:20.37 ] >>218 の豹変ぶりに笑った データの可視化の話と、派手なグラフィックで装飾する話は別の話だと思うが。
230 名前:218 mailto:sage [2011/11/08(火) 22:42:06.35 ] >>229 ああ、そうなのか。まじめに答えちまったい(^_^)。 でもn次元を2次元に強引にマッピングして可視化するSOMって人間が感覚的にデータの善し悪しを判断する時に結構使えると思うんだよね。 まあ、いいや。
231 名前:132人目の素数さん mailto:sage [2011/11/09(水) 09:17:28.99 ] 結局さ、本質を取り出すことに意義を感じる研究者と、 データで相手を説得することに意義を感じるビジネスマンは、 相容れないと思うんだ。円グラフを立体化して一部を切り出したり、 棒グラフを無意味に立体化したり、グラデーションで彩色したりというのは、 ビジネスマンに必要かも知れないけど、研究者には必要がない。
232 名前:132人目の素数さん mailto:sage [2011/11/09(水) 22:27:50.28 ] 質問があります。 MySQLからデータを取得し、データフレームに読み込ませたいのですが、 日付時刻のカラムがあり、どう読み込ませるのか分からず困っています。 ----- Updated [TAB] Rate 2011-11-08 15:03:00 [TAB] 77.645 2011-11-10 02:04:00 [TAB] 77.6255 2011-11-09 08:03:00 [TAB] 77.585 ----- 単にread.tableでは読み込めませんでした。 Rは初めて使うので基礎的な事しかわかりませんが、どうかご教授ください。
233 名前:132人目の素数さん mailto:sage [2011/11/10(木) 15:56:58.04 ] >>232 直にMySQLならデータベースに直にSQLアクセスするパッケージを使う必要があるのでは?RODBCだっけ? テキストに書き出して読み込むなら、read.tableがつかえると思けど時間が混じると読み込んでから変換が必要だと思う。 いずれも、Rデータ自由自在に書いてあると思う
234 名前:132人目の素数さん mailto:sage [2011/11/15(火) 11:15:58.60 ] 1.i行j列成分がi^2+j^3で与えられる10行10列の行列をfor文を用いて作りなさい。 2.a=1000:1を作成してこれを昇順に並び替えなさい。 3.A=matrix(400:1,20,20)を作成し、この行列を第1列の値が昇順に並ぶように行を並び替えなさい
235 名前:132人目の素数さん mailto:sage [2011/11/15(火) 11:16:21.60 ] ↑の回答わかる方お願いします。
236 名前:132人目の素数さん mailto:sage [2011/11/15(火) 14:26:46.90 ] >>234 また宿題か。 まさか試験中に書き込んでる?
237 名前:132人目の素数さん mailto:sage [2011/11/15(火) 22:14:50.47 ] >>234 > 1.i行j列成分がi^2+j^3で与えられる10行10列の行列をfor文を用いて作りなさい。 しかし、Rでfor文ってその教授はバカじゃないの? 常識的に outer((1:10)^2,(1:10)^3,'+') ってやるものじゃないのか?
238 名前:132人目の素数さん mailto:sage [2011/11/16(水) 00:17:57.03 ] >>234 1. a <- matrix(0, 10, 10); for (i in 1:10) {for (j in 1:10) {a[i, j]=i^2+j^3}} 2. rev(a) 3. A[20:1,]
239 名前:132人目の素数さん mailto:sage [2011/11/17(木) 09:59:23.86 ] R初心者として質問です。 Rを外部プロセスから呼び出したり、 シェルからRプログラムを渡して標準出力で受け取ったりはできるのでしょうか。 なにとぞよろしくお願いします。
240 名前:132人目の素数さん mailto:sage [2011/11/17(木) 12:17:43.67 ] >>239 $ echo 'print(pi)' |r [1] 3.141593 とか $ Rscript -e 'print(pi)' [1] 3.141593
241 名前:240 mailto:sage [2011/11/17(木) 12:20:00.76 ] >>239 > 標準出力で受け取ったり 無意味な例だけど、 $ echo 'print(pi)' |r | sed 's/3/A/g' [1] A.14159A
242 名前:132人目の素数さん mailto:sage [2011/11/17(木) 18:28:14.48 ] >>240-241 ありがとうございました。 活用します。
243 名前:132人目の素数さん mailto:sage [2011/11/18(金) 10:01:50.10 ] >>239 シェルスクリプトから、短いRスクリプトを呼ぶなら、 ヒアドキュメントを使う方法が個人的に好き。 R --vanilla --slave <<_END_OF_R_ > output_of_R.txt print(pi) _END_OF_R_ 別に、Rに限らず、PerlでもPythonでもこの方法は使えますが、、、
244 名前:132人目の素数さん mailto:sage [2011/11/18(金) 10:12:24.08 ] >>243 おぉ、Rって標準入力からそのまま普通に使えたのか
245 名前:132人目の素数さん [2011/11/18(金) 18:03:12.10 ] 電波テロ装置の戦争(始) エンジニアと参加願います公安はサリンオウム信者の子供を40歳まで社会から隔離している オウム信者が地方で現在も潜伏している それは新興宗教を配下としている公安の仕事だ 発案で盗聴器を開発したら霊魂が寄って呼ぶ来た <電波憑依> スピリチャル全否定なら江原三輪氏、高橋佳子大川隆法氏は、幻聴で強制入院矛盾する日本宗教と精神科 <コードレス盗聴> 2004既に国民20%被害250〜700台数中国工作員3〜7000万円2005ソウルコピー2010ソウルイン医者アカギ絡む<盗聴証拠> 今年5月に日本の警視庁防課は被害者SDカード15分を保持した有る国民に出せ!!<創価幹部> キタオカ1962年東北生は二十代で2人の女性をレイプ殺害して入信した創価本尊はこれだけで潰せる<<<韓国工作員鸛<<<創価公明党 <テロ装置>>東芝部品)>>ヤクザ<宗教<同和<<公安<<魂複<<官憲>日本終Googl検索
246 名前:132人目の素数さん [2011/11/18(金) 18:03:58.46 ] 魂は幾何学 誰か(アメリカ)気づいた ソウルコピー機器
247 名前:132人目の素数さん mailto:sage [2011/11/19(土) 03:14:20.46 ] persp関数により3次元グラフを描画しているのですが、borderの幅が小さいためか、グラフが真っ黒になってしまいます。 この幅を変更する方法はありますか?また、他の解決方法がありましたら、教えてください。
248 名前:132人目の素数さん mailto:sage [2011/11/19(土) 11:32:20.50 ] >>247 グラフを大きくした方がよさげだけど、 pdf(file="247.pdf",width=14,height=14) persp(...) dev.off() ぐらいから、サイズを試行錯誤してみれば? borderの幅が線幅のことなら、lwdなどで指定する。
249 名前:132人目の素数さん mailto:sage [2011/11/19(土) 19:55:55.59 ] >>248 コメントありがとうございます。 サイズや、線幅を変えて試行錯誤してみましたが、どうもborderの線と線の間隔が狭いのが原因のようです。 この線と線の間隔の設定はできないのでしょうか?よろしくお願いします。
250 名前:132人目の素数さん mailto:sage [2011/11/21(月) 08:56:04.33 ] >>249 むしろ、border=NAとか
251 名前:132人目の素数さん [2011/11/25(金) 21:55:00.40 ] >>215 統計数理研究所で、昨日からRの無料講習会が開かれているようですね。 日程:2011年11月24日(木)− 11月26日(土) 場所:統計数理研究所(東京都立川市)3階セミナー室 2 (D304) データ解析環境Rの整備と利用 mid.ism.ac.jp/stats/msg01502.html
252 名前:132人目の素数さん mailto:sage [2011/11/26(土) 00:49:00.80 ] いや、講習会じゃないんだけど…
253 名前:132人目の素数さん mailto:sage [2011/12/05(月) 12:21:38.19 ] >>238 ありがとうございました
254 名前:132人目の素数さん mailto:sage [2011/12/05(月) 12:21:47.65 ] 解答分かる方お願いします <演習問題1> i番目の要素がi^2+1で与えられ各要素に名前が付いている次のベクトルを作りなさい。 (注:a[2]=5等のように直接値を決めるのはやめること。) A B C D E F G H I J K L M N O P Q R S T U V 2 5 10 17 26 37 50 65 82 101 122 145 170 197 226 257 290 325 362 401 442 485 <演習問題2> matrix(1:100,10,10)を作り、行の順番を入れ替え、そして行と列に名前を付けることで 次の行列を作りなさい。 a b c d e f g h i j A 10 20 30 40 50 60 70 80 90 100 B 9 19 29 39 49 59 69 79 89 99 C 8 18 28 38 48 58 68 78 88 98 D 7 17 27 37 47 57 67 77 87 97 E 6 16 26 36 46 56 66 76 86 96 F 5 15 25 35 45 55 65 75 85 95 G 4 14 24 34 44 54 64 74 84 94 H 3 13 23 33 43 53 63 73 83 93 I 2 12 22 32 42 52 62 72 82 92 J 1 11 21 31 41 51 61 71 81 91 <演習問題3> 第i,j要素がi^5+jで与えられる10行10列の行列をfor文を使って作りなさい。 <演習問題4> A=matrix(1:100,10,10)を作り 第3列目の平均を計算しなさい。
255 名前:132人目の素数さん mailto:sage [2011/12/05(月) 13:03:09.46 ] 教員がココを見ていたら、>>254 には単位をやらないことを勧める。 >>254 解答は1つではなく、人によって全く異なる解答例になる。 「100字以内で答えよ」という問題の解答が1人1人異なるのと同じ。 誰かがここに解答を示すかも知れないが、 ここの解答を写したことは、自分で独自に改変しない限り、バレるよ。
256 名前:132人目の素数さん mailto:sage [2011/12/05(月) 13:51:41.75 ] 興味ない授業だが、取らなきゃいけない科目とかなのかな?
257 名前:132人目の素数さん mailto:sage [2011/12/05(月) 23:50:31.46 ] >>254 ヒント names関数、xxxnames関数 LETTERS[1:10]、letters[1:10] (LETTERS、letters は、組み込みの定数ベクター)
258 名前:132人目の素数さん mailto:sage [2011/12/06(火) 06:25:24.35 ] >>254 統計学の講義⁇
259 名前:132人目の素数さん mailto:sage [2011/12/06(火) 21:50:20.66 ] 質問させてください データフレームDFがあって DF[, 1] にはコードが、 2列目以降は価格が入っています 2列目から501列目まで各時点の値です 行数は2000個程度です このデータフレームから2つ選んで価格を足し合わせたいのですが 簡潔な方法はありますでしょうか? 現状は a <- combn(DF[, 1], 2) temp_a <- merge(t(a[,1]), DF) temp_b <- merge(t(a[,2]), DF) res <- temp_a[, -1] + temp_b[, -1] でやろうかと思っていますが データ数がデータ数なのでもっと高速な方法がありましたらご教授ください お願いいたします
260 名前:132人目の素数さん mailto:sage [2011/12/07(水) 16:15:54.22 ] >>259 rownames(DF) <- DF[,1] colSums(DF[t(combn(DF[,1],2)),]) ということ?
261 名前:132人目の素数さん [2011/12/07(水) 21:14:27.18 ] すみません、こんな質問していいのか分からないのですが、 検索しても分からなかったので質問させてください 自分は参考書を本屋でめくった程度のものなのですが、 PHPとR言語は連携できるのでしょうか? また、CやPythonなどプログラミング言語にて簡単なもので言えばユークリッドとかベイズとかアルゴリズム化で処理できますが、 R言語の場合処理速度などはどの程度のものなのでしょうか? Cなどで統計ものを書くよりも、R言語の方がシンプルなような印象を受けたのですが、あまり連携しているのを見かけません 何かR言語にデメリットがあって連携しないのかなと思ったのですが
262 名前:132人目の素数さん mailto:sage [2011/12/07(水) 22:30:28.03 ] >>260 それだと、 colSums(DF[,2:501])*(2000-1) と同じじゃね? >>259 「2つ選んで価格を足し合わせ」る、っていうのが、イマイチ具体的に理解できない。もっと正確に書いてくれないだろうか それに、なぜ全行について2つの全組み合わせが必要なの?
263 名前:259 mailto:sage [2011/12/07(水) 23:20:26.01 ] >260,262 ありがとうございます 例がわかりにくかったようで申し訳ないです ランダム変数randuを用いた例だと DF <- data.frame(randu) 一列目がコードと仮定します colnames(DF) <- c("CODE", "VAL1", "VAL2") rownames(DF) <- DF[, 1] combi <- combn(rownames(DF), 2) DF1 <- DF[t(combi)[, 1], -1] DF2 <- DF[t(combi)[, 2], -1] DFZ <- data.frame(t(combi), DF1 + DF2) colnames(DFZ)[1:2] <- c("CODE1", "CODE2") 欲しいのはDFZで今回はranduを用いたので列はコードを除けば2つで 行数は400C2の約8万ですが 実際のデータは元データは行数2000 列数500ほどなので 結構時間がかかります これより高速化はむずかしいでしょうか? よろしくお願いいたします。
264 名前:きど [2011/12/07(水) 23:22:43.57 ] Rのテンドログラムの保存の方法を知りたいのですが。USBなど。。。
265 名前:132人目の素数さん mailto:sage [2011/12/08(木) 01:04:05.71 ] >>263 詳細、ありがとうございました 確実に言えるのは、デカいデータなので、後に使う予定がないのならDF1/DF2は作るなっ てことかな (object保持の負荷が大きい)。他にも不要なobjectはrm()しておく tcombi <- t(combi) # これは 2000C2 でも瞬時 DFZ <- cbind(tcombi, DF[tcombi[, 1], -1] + DF[tcombi[, 2], -1]) とするだけでも、「少しは」速くなるはず DFZも丸ごと全部作らないで、tcombiを適当に分割したのを使って部分的に作っては その都度ファイルに追記書き出しして、最終的にファイルから読み込んで df 化する方が 速いかも(テストしてないけど) もう既に試されたかもしれない、ありふれた考えなので申し訳ないが...
266 名前:132人目の素数さん mailto:sage [2011/12/08(木) 09:17:07.19 ] >>264 画像ファイルへの出力方法を調べてください。 検索キーワードは「R グラフィックディバイス」です。 postscript(), png()などさまざまなものがあります。 X11()などスクリーン上のディバイスをコピーするなら、 dev.copy2eps(file="hoge.eps") で、作業ディレクトリにeps画像ファイルが保存されます。 USBメモリへ保存したいなら、パス付きでファイル名を書けばよいです。 USBのマウント先が/Volume/FUGAなら、 dev.copy2eps(file="/Volume/FUGA/hoge.eps") とします。 あなたが自分の環境を秘密しているので、助言できるのはこのくらいです。 詳細は、グーグル先生にお尋ねください。
267 名前:259 mailto:sage [2011/12/08(木) 23:19:36.17 ] >>265 全部でやると32bitなものでメモリの使用量が4GBを超えてしまいましたので 提示いただいた分割する方法でファイルに書き出して対応できました ありがとうございました
268 名前:132人目の素数さん mailto:sage [2011/12/08(木) 23:34:00.09 ] >>267 32bitの壁が問題になるなら64bitつかった方がよいと思うのだけど。 自分はRのために3GB→6GBにメモリ増設した。
269 名前:132人目の素数さん mailto:sage [2011/12/09(金) 22:44:47.03 ] >> 267 よかったですね 参考のため、もし差し支えなければ、どれくらいの時間がかかったのか、 動作環境も含めて教えていただけないでしょうか?
270 名前:132人目の素数さん [2011/12/10(土) 23:33:27.19 ] 自然言語処理など、テキストを処理し、統計計算をしたいのですが、PythonとRとはどのように違うのでしょうか? やっぱ専門であるのでR言語の方がいいのでしょうか? PHP、データベースからデータを得て、処理結果を送り返すためのシステム部分にPythonかRを使いたいと考えています RとPythonを比較すること自体おかしいのかもしれませんが、上記のような処理の為の本を見ると、この2つが良く出てきます Pythonはプログラミング言語であるので、PHPとかとは処理の連携が簡単でしょうけど、R言語についてはプログラミングをしていても(そういう環境下では)殆ど情報が出てこない、名前を聞かないもので
271 名前:132人目の素数さん mailto:sage [2011/12/10(土) 23:48:50.77 ] >>270 統計計算のレベルによるだろうけど、本格的に統計処理を入れるなら、 Rを利用した方が楽だろう。PHP-Python-Rという風に使ってもよいのでは。 rpy2とか検索してみて
272 名前:132人目の素数さん [2011/12/11(日) 00:12:09.89 ] >>271 返答ありがとうございます 確かに、記述方法がRは非常にシンプルだと本屋で調べてみて思いました Pythonはまだ学習し始めたところですが、PHP、Cなどで書くととんでもないというのがもの凄く簡単に書かれていて驚きました ところで、今R言語について調べていたら、対話式がメインとか書かれているようでした R言語は、他の言語のようにテキストエディタで記述し、自動処理出来るのではないのでしょうか? PHPなどと違い、ブラウザに表示とか、Linux上でファイルやディレクトリを操作したりとかは無理かもしれませんが、 PHPからRで書かれたファイルを呼び出し処理をし、結果を受け取り・・・といったことをやりたいと思っていたのですが rpy2を今から検索してみます
273 名前:259 mailto:sage [2011/12/12(月) 22:04:22.39 ] >>268 個人の環境ではないので簡単には64bitには変えられないのです >>269 この処理だけではないので一概には言えませんが、一断面10分程度です 環境はcentOS6で xeonE3110です ありがとうございました
274 名前:132人目の素数さん [2011/12/13(火) 06:18:01.69 ] え?Python???と思ってググったら、 いまどきは、こんな言語がPythonと呼ばれているのか。
275 名前:132人目の素数さん mailto:sage [2011/12/14(水) 22:48:13.92 ] 2変数の非線形連立方程式の解き方教えていただけませんでしょうか?
276 名前:132人目の素数さん mailto:sage [2011/12/15(木) 23:27:48.29 ] ちょっと教えてください # 疑似観測値 (行方向はパターン、列方向は時系列) DF <- data.frame(t(t(colnames(randu))),t(randu)) colnames(DF) <- c("PATTERN", gsub("X", "", colnames(DF)[-1])) # 移動平均の計算 (40サンプル分) ma_filter <- rep(1, 40) / 40 MADF <- data.frame(DF[,1], t(filter(t(DF[, -1]), filter = ma_filter, method = "convolution", sides = 1))) colnames(MADF) <- colnames(DF) # 移動平均の標準偏差(2sigma)の計算 for( i in 41:ncol(MADF)){ if(i == 41){ std <- apply(MADF[, (i-39):i], 1, sd) } else{ temp <- apply(MADF[, (i-39):i], 1, sd) std <- rbind(std, temp) } } MASIGMADF <- data.frame(DF[,1], t(rep(NA,39)), t(std*2)) colnames(MASIGMADF) <- colnames(MADF) # データのある部分だけを抽出 DF <- DF[, c(1,80:ncol(DF))] MADF <- MADF[, c(1,80:ncol(MADF))] MASIGMADF <- MASIGMADF[, c(1,80:ncol(MASIGMADF))] 上記のような時系列データとその移動平均および標準偏差があると仮定します このとき、時系列の観測データが初めて移動平均+標準偏差の値を超えた時点から 再び移動平均に収束するまでをTRUE、それ以外をFALSEとするようなフラグのデータフレーム(形式はDFと同じ)を作成したいのですが、 良い方法はありますでしょうか
277 名前:132人目の素数さん mailto:sage [2011/12/19(月) 15:08:40.40 ] 来年から文系大学生です。 R言語って文系学部でも使いますか? あと、使えると就職や進学に有利でしょうかね?
278 名前:132人目の素数さん mailto:sage [2011/12/19(月) 15:33:46.79 ] >>277 文系とは具体的に、どの分野? 経済学や社会学など社会科学分野なら統計解析は必須だろうし、 その他の文系でも、心理学、計算言語学、数理地理学とかデータ処理を扱うなら、 統計解析は必須だろう。統計解析を行うなら、R言語を使うこともあるだろう。 Rを自由自在に使えると就職や進学に有利かと問われれば、多くの場合、否でしょう。
279 名前:132人目の素数さん mailto:sage [2011/12/19(月) 19:22:08.37 ] >>278 経済学。 十分条件じゃなくて、必要条件であるみたいですね。 れすトンクス。
280 名前:132人目の素数さん [2011/12/21(水) 02:29:25.07 ] すんません、Rまだまだ初心者なのですが、元データをフーリエ変換したデータにおける正準相関分析をしたくて、デフォで入っているcancorとかでなく、データのこともあり自分で作らなきゃならなくて function(a,b,c,d,m,n){ e<-matrix(Re(fft(a[1:n]-mean(a[1:n]))),1,n,byrow=T) #4つのデータのfftをそれぞれ行列に入れる f<-matrix(Re(fft(b[1:n]-mean(b[1:n]))),1,n,byrow=T) g<-matrix(Re(fft(c[1:n]-mean(c[1:n]))),1,n,byrow=T) h<-matrix(Re(fft(d[1:n]-mean(d[1:n]))),1,n,byrow=T) j<-matrix(0,4,n) #上記で作ったデータを1つの行列に入れる j[1,]<-e j[2,]<-f j[3,]<-g j[4,]<-h k<-j[,m] #m列目の成分を取り出す o<-(1/n)^2*k%*%t(k) #粗いですがスペクトル密度関数の推定量をもとめる p<-o[c(1,2),c(1,2)] q<-o[c(1,2),c(3,4)] r<-o[c(3,4),c(3,4)];u<-solve(p);v<-solve(r);w<-t(q); s<-eigen(u%*%q%*%v%*%w) #固有値問題を解く return(list(j[1,],j[,m],o,p,q,r,s))} という関数を定義して実行すると 以下にエラー solve.default(p) : システムは数値的に特異です:条件数の逆数 = 3.72483e-17 とでるんですが、どうなおせばよいでしょうか。
281 名前:132人目の素数さん mailto:sage [2011/12/22(木) 22:26:52.11 ] >>273 273みたいな使い方はそのコンピュータではアブノーマルなの? なんでCentOS6なのにまだ32bitなの? 管理者バカなんじゃないの。 今、パソコンが安いから実験機として買ってメモリてんこ盛りにして64bitOSを作ろうって提案したら? あとせっかくだからマルチブートの仕方を覚えて、32bitと64bitを共存させて、他にもOSを入れられる ように設定しておけばいい。 ttp://nttxstore.jp/_II_P813280396
282 名前:132人目の素数さん [2011/12/23(金) 09:51:58.81 ] www.r-project.org/ R version 2.14.1 (December Snowflakes) has been released on 2011-12-22. ってDownloadのところには2.14.0しかないんだけど、 Download R-2.14.1 RC build for Windows (46 megabytes, 32/64 bit) じゃなくて、正式なリリース版の2.14.1って、どこで落とせますか?
283 名前:132人目の素数さん mailto:sage [2011/12/23(金) 10:18:18.71 ] >>282 ttp://cran.r-project.org/src/base/R-2/R-2.14.1.tar.gz
284 名前:132人目の素数さん mailto:sage [2011/12/23(金) 10:26:11.01 ] >>283 あー、ソースレベルって事すか。 バイナリリリースはちょっと待てっていうことですかね。 ありがとうございました。
285 名前:132人目の素数さん mailto:sage [2011/12/23(金) 23:31:39.85 ] >>280 ginv では?
286 名前:132人目の素数さん mailto:sage [2011/12/25(日) 10:11:34.88 ] >>282 essrc.hyogo-u.ac.jp/cran/ とかに Download R 2.14.1 for Windows (45 megabytes, 32/64 bit) が入りましたよ
287 名前:132人目の素数さん mailto:sage [2011/12/25(日) 16:26:21.07 ] >>286 さんくす。めりくり。らいよろ。
288 名前:132人目の素数さん [2011/12/27(火) 02:47:24.36 ] わからなかったので教えてください。 階層型クラスタ分析には、サンプル(ケース)に対してクラスタリングするのか、 変数に対してクラスタリングするのかでわかれるかと思いますが、 Rではサンプルに対してしかクラスタ分析できないのでしょうか?
289 名前:132人目の素数さん [2011/12/30(金) 12:46:23.67 ] UNIXにインストールされているRのシェルからの起動の仕方を教えて下さい。
290 名前:132人目の素数さん mailto:sage [2011/12/30(金) 14:45:51.73 ] >>289 r
291 名前:132人目の素数さん [2011/12/30(金) 18:00:57.18 ] 横軸を date オブジェクト、縦軸を数値とする折線グラフを描いたのですが、 垂直線を追加しようとしても上手く入りません。 偉い人、解説をよろしくお願いします。 x <- strptime(c("2009年12月14日","2009年12月21日","2009年12月28日","2010年1月4日"),"%Y年%m月%d日") y <- c(10,20,5,15) plot(x,y,type="b") abline(v=strptime("2009年12月21日","%Y年%m月%d日"))
292 名前:291 [2011/12/30(金) 18:01:59.90 ] 自己解決しました。 abline(v=as.numeric(strptime("2009年12月21日","%Y年%m月%d日"))) でOKでした。
293 名前:132人目の素数さん mailto:sage [2012/01/01(日) 13:50:09.79 ] >>290 rとRの区別もつかんのか
294 名前:132人目の素数さん mailto:sage [2012/01/01(日) 14:22:08.14 ] >>293 rもリンクされてなかったっけ?
295 名前:132人目の素数さん mailto:sage [2012/01/01(日) 16:37:59.98 ] >>294 rはRとは別のソフト $ r --version |head -1 r ('littler') version 0.1.5 $ R --version |head -1 R version 2.14.1 (2011-12-22)
296 名前:132人目の素数さん mailto:sage [2012/01/01(日) 23:50:07.45 ] ややこしいなあ。
297 名前:132人目の素数さん mailto:sage [2012/01/02(月) 01:26:00.73 ] >>296 これをややこしいと思う人は、 incase-sensitiveな文化に脳を冒されている人
298 名前:132人目の素数さん mailto:sage [2012/01/04(水) 14:54:08.36 ] >>295 Mac OS X版だと同一ファイルにリンクされてた。 /usr/bin/R -> /Library/Frameworks/R.framework/Resources/bin/R /usr/bin/r -> /Library/Frameworks/R.framework/Resources/bin/R でも大文字Rのほうが標準っぽいな。 >>297 case-insensitiveだな。
299 名前:132人目の素数さん mailto:sage [2012/01/04(水) 16:16:24.48 ] >>298 MacPorts版のMacOSX版(ややこしいな)だとどうだろう。
300 名前:132人目の素数さん mailto:sage [2012/01/10(火) 23:18:34.13 ] 簡単そうでなかなかできないので相談させてください。 > a <- matrix(1:9,3) > (b <- list(a,a)) [[1]] [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 [[2]] [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 こんなリストがあったとして、これを3次元array ,,1 [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 ,,2 [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 こんな感じに変換するにはどうすればよいですか? やりたいことは、b[1,1,]とかb[1,2,]とか、 リストの要素である行列を貫いて、行列の各セルの値(ベクトル)を取り出したいのです。 arrayであれば、例えばb[3,3,]でc(9,9)が取り出せるはず。
301 名前:132人目の素数さん mailto:sage [2012/01/11(水) 01:10:41.37 ] ## ベクトルまで分解するunlistを使うとできたっぽいけど期待されている答えではないかも、、 a <- matrix(data = 1:9, nrow = 3) (b <- list(a,a)) unlist(b) test.array <- array(data = unlist(b), dim = c(3,3,2)) test.array test.array[3,3,] ## ちなみに、リストのまま処理してはだめ? sapply(X = b, FUN = function(y) {y[3,3]})
302 名前:132人目の素数さん mailto:sage [2012/01/11(水) 01:53:23.83 ] >>301 多謝! listのままだとその先の操作に進みにくかったので、arrayを検討していました。 unlist()は盲点でした。ありがとうございます。 > res <- matrix(rep(list(NA),9),3) > class(res[1,1]) [1] "list" > for(i in 1:3){for(j in 1:3){res[i,j] <- list(test.array[i,j,])}} > res [,1] [,2] [,3] [1,] Integer,2 Integer,2 Integer,2 [2,] Integer,2 Integer,2 Integer,2 [3,] Integer,2 Integer,2 Integer,2 > unlist(res[2,2]) [1] 5 5 ばっちりです。各セルに元データのセルの値を集めることが出来ました。 本番のデータでやってみます。 > for(i in 1:3){for(j in 1:3){res[i,j] <- list(sapply(b,function(y){y[i,j]}))}} リストのままでも出来てしまいました。すみません。
303 名前:132人目の素数さん [2012/01/15(日) 00:10:57.15 ] CだとかRだとかのような1文字の名前ではサーチするのが難しい。
304 名前:132人目の素数さん [2012/01/15(日) 12:02:12.63 ] その程度しか検索単語が思い浮かばないようでは()難しい
305 名前:132人目の素数さん mailto:sage [2012/01/15(日) 19:09:49.95 ] >>303 まぁ r-project r-script r 統計 このあたりですね
306 名前:132人目の素数さん mailto:sage [2012/01/16(月) 12:50:23.28 ] >>303 まぁまずはRSiteSearch()だろ。 そんで、ttp://www.rseek.org/ とか。 最後に>>305 の検索語でgoogleを使えばいいんじゃない? ○○を実装したパッケージを探すなら、「cran ○○」で検索する。
307 名前:132人目の素数さん [2012/01/17(火) 00:15:09.67 ] すんません、正方行列AのA^{-1/2}ってどう計算すれば良いですかね?
308 名前:132人目の素数さん [2012/01/17(火) 12:46:55.11 ] >>307 言いたいことは、こういうこと? 正方行列Aが逆行列を持ち、A^{-1} の固有値が m,n なら、 A^{-1/2} = (A^{-1}+ mnI)/(m+n) 違ってたら、ごめん。
309 名前:308 [2012/01/17(火) 12:48:44.46 ] あ、違ってた。 A^{-1/2} の固有値が m,n なら、 A^{-1/2} = (A^{-1}+ mnI)/(m+n) かな。
310 名前:308 [2012/01/17(火) 20:39:11.48 ] >>307 >>308 ,309 が、しっちゃかめっちゃかだったので捲土重来を目指して… A^t 転置、A^* 複素共役 として、 A が、A^t* A = A A^t* を満たし、A のすべての固有値が正だったら、 (U^t*)U = I を満たす行列 U と対角行列 D を使って、 A = UDU^{-1} と書けるから、 A^{-1/2} = UD^{-1/2}U^{-1} (ただし、D^{-1/2} は、D の各対角成分d_{i,i}に対し、 D^{-1/2} の各対角成分 x_ {i,i} = 1/√d_{i,i} としたもの。) という理解であってるのかな。
311 名前:308 [2012/01/17(火) 22:19:59.38 ] >>307 R-Sources ttp://cse.naro.affrc.go.jp/takezawa/r-tips/r/20.html 見たけど、これで行けるんじゃね? > A <- matrix(c(1,2,0,3), 2, 2) > B <- eigen(A)$vectors %*% diag(1/sqrt(eigen(A)$values)) %*% solve(eigen(A)$vectors) > solve(A) [,1] [,2] [1,] 1.0000000 0.0000000 [2,] -0.6666667 0.3333333 > B %*% B [,1] [,2] [1,] 1.0000000 0.0000000 [2,] -0.6666667 0.3333333 > A %*% B %*% B [,1] [,2] [1,] 1.000000e+00 0 [2,] 2.217736e-16 1 最後のがキッチリ単位行列にならないのは、 丸め誤差の所為だから仕方ないと思われ。
312 名前:308 [2012/01/17(火) 22:26:17.13 ] > A <- matrix(c(3,2,0,3,4,1,0,2,3), 3, 3) > B <- eigen(A)$vectors %*% diag(1/sqrt(eigen(A)$values)) %*% solve(eigen(A)$vectors) > eigen(A)$values [1] 6.3722813 3.0000000 0.6277187 > solve(A) [,1] [,2] [,3] [1,] 0.8333333 -0.75 0.5 [2,] -0.5000000 0.75 -0.5 [3,] 0.1666667 -0.25 0.5 > B %*% B [,1] [,2] [,3] [1,] 0.8333333 -0.75 0.5 [2,] -0.5000000 0.75 -0.5 [3,] 0.1666667 -0.25 0.5
313 名前:132人目の素数さん mailto:sage [2012/01/18(水) 10:57:06.79 ] >>312 > A %*% B %*% B [,1] [,2] [1,] 1.000000e+00 0 [2,] 3.330669e-16 1 > zapsmall(A %*% B %*% B) [,1] [,2] [1,] 1 0 [2,] 0 1
314 名前:308 [2012/01/18(水) 12:32:51.26 ] >>312 おお、そんな関数があったとは。
315 名前:308 [2012/01/18(水) 12:33:01.61 ] >>313 おお、そんな関数があったとは。
316 名前:308 [2012/01/18(水) 22:59:15.60 ] >>314 おお、そんな関数があったとは。
317 名前:308 [2012/01/18(水) 22:59:44.42 ] >>315 おお、そんな関数があったとは。
318 名前:308 [2012/01/18(水) 23:01:26.21 ] >>316 おお、そんな関数があったとは。
319 名前:308 [2012/01/18(水) 23:08:57.17 ] >>317 おお、そんな関数があったとは。
320 名前:308 [2012/01/18(水) 23:35:40.76 ] >>318 おお、そんな関数があったとは。
321 名前:308 [2012/01/19(木) 08:20:42.49 ] >>319 おお、そんな関数があったとは。
322 名前:308 [2012/01/19(木) 08:22:06.35 ] >>320 おお、そんな関数があったとは。
323 名前:308 [2012/01/19(木) 08:23:29.36 ] >>321 おお、そんな関数があったとは。
324 名前:132人目の素数さん mailto:sage [2012/01/19(木) 08:24:58.31 ] >>312 おお、そんな関数があったとは。
325 名前:132人目の素数さん mailto:sage [2012/01/19(木) 08:25:39.88 ] >>313 おお、そんな関数があったとは。
326 名前:308 [2012/01/19(木) 08:26:49.60 ] >>322 おお、そんな関数があったとは。
327 名前:132人目の素数さん mailto:sage [2012/01/19(木) 16:46:26.30 ] >>323 おお、そんな関数があったとは。
328 名前:132人目の素数さん mailto:sage [2012/01/19(木) 18:16:15.47 ] >>313 おお、そんな関数があったとは。
329 名前:308 [2012/01/19(木) 19:21:49.25 ] >>312 おお、そんな関数があったとは。
330 名前:132人目の素数さん mailto:sage [2012/01/19(木) 21:24:53.73 ] >>305 あと、R sourceとかね。
331 名前:132人目の素数さん mailto:sage [2012/01/19(木) 21:40:30.51 ] >>330 おお、そんな関数があったとは。
332 名前:132人目の素数さん mailto:sage [2012/01/19(木) 22:15:43.34 ] >>330 おお、そんなsourceがあったとは。
333 名前:132人目の素数さん [2012/01/19(木) 22:16:42.63 ] >>330 おお、そんなsourceがあったとは。
334 名前:132人目の素数さん [2012/01/19(木) 22:17:29.69 ] >>330 おお、そんなsourceがあったとは。
335 名前:132人目の素数さん [2012/01/19(木) 22:18:01.01 ] >>330 おお、そんなsourceがあったとは。
336 名前:132人目の素数さん [2012/01/19(木) 22:18:19.65 ] >>330 おお、そんなsourceがあったとは。
337 名前:308 mailto:sage [2012/01/19(木) 22:19:02.38 ] >>330 おお、そんなsourceがあったとは。
338 名前:308 mailto:sage [2012/01/19(木) 22:19:42.03 ] >>330 おお、そんなsourceがあったとは。
339 名前:308 mailto:sage [2012/01/19(木) 22:20:11.53 ] >>330 おお、そんなsourceがあったとは。
340 名前:132人目の素数さん mailto:sage [2012/01/19(木) 23:14:29.36 ] おおそんウェールズだったとは。
341 名前:308 mailto:sage [2012/01/20(金) 04:32:17.58 ] おまえら、いい加減にしなさい。
342 名前:132人目の素数さん mailto:sage [2012/01/20(金) 05:22:51.54 ] おまえら、いい加減にしなさい。
343 名前:313 mailto:sage [2012/01/20(金) 20:36:44.68 ] スレが伸びていると思ったら、お前ら。。。 でも、実際の話、zapsmall()を知らないで、 条件分岐における数値型の同値の比較を どうやって今まで書いていたのだろうと不思議に思う。
344 名前:132人目の素数さん [2012/01/20(金) 20:42:23.02 ] >>307 こいつ自分で質問の意味わかってのかいな?
345 名前:132人目の素数さん [2012/01/20(金) 23:50:31.94 ] >>343 他の言語と同じように書いてたよ。
346 名前:132人目の素数さん [2012/01/20(金) 23:57:15.16 ] >>343 abs(x-y) < 10^-14 とか
347 名前:132人目の素数さん [2012/01/23(月) 09:35:12.79 ] 簡単なことですが質問させてください。 10*3の配列があり,1列目と2列目,1列目と3列目の計算し, 元の配列に戻したいばあい,どのように配列指定をしてやれば良いのでしょうか? たとえば x <- matrix(1:30, ncol=3) で, 4列目に x[,1]+x[,2] 5列目に x[,1]*x[,2] おそらく x <- matrix(x[,1]+x[,2], x[,1]*x[,3], ???????) で,「???????」を指定すればいいと思うのですが,,,, よろしくお願いします
348 名前:132人目の素数さん mailto:sage [2012/01/23(月) 09:52:39.90 ] >>347 > cbind(x,x[,1]+x[,2],x[,1]*x[,2]) [,1] [,2] [,3] [,4] [,5] [1,] 1 11 21 12 11 [2,] 2 12 22 14 24 [3,] 3 13 23 16 39 [4,] 4 14 24 18 56 [5,] 5 15 25 20 75 [6,] 6 16 26 22 96 [7,] 7 17 27 24 119 [8,] 8 18 28 26 144 [9,] 9 19 29 28 171 [10,] 10 20 30 30 200 こういうこと?
349 名前:347 [2012/01/23(月) 10:02:32.95 ] 早速ありがとうございます >348 matrix()を使わなければいけないと悩んでいた私が馬鹿でした。 matrizだと横展開にしかならず苦悩しておりました。
350 名前:348 mailto:sage [2012/01/23(月) 12:02:36.25 ] >>349 いや、cbind()かmatrix()かは好みの問題だと思うぞ。 > matrix(c(x,x[,1]+x[,2],x[,1]*x[,2]),ncol=5) [,1] [,2] [,3] [,4] [,5] [1,] 1 11 21 12 11 [2,] 2 12 22 14 24 [3,] 3 13 23 16 39 [4,] 4 14 24 18 56 [5,] 5 15 25 20 75 [6,] 6 16 26 22 96 [7,] 7 17 27 24 119 [8,] 8 18 28 26 144 [9,] 9 19 29 28 171 [10,] 10 20 30 30 200
351 名前:132人目の素数さん mailto:sage [2012/01/23(月) 13:13:39.14 ] RStudio最新版(0.94.110)はR-2.14以降も動作していますか? RStudioご利用の方いましたら、ご一報お願いします
352 名前:132人目の素数さん mailto:sage [2012/01/23(月) 13:28:06.82 ] >>351 $ dpkg -l rstudio r-base |tail -2 ii r-base 2.14.1-1oneiric0 GNU R statistical computation and graphics system ii rstudio 0.94.110 RStudio 問題なし。
353 名前:132人目の素数さん mailto:sage [2012/01/23(月) 18:42:28.25 ] Rjpwikiのヲチで申し訳ないが、 河童さんが、par(mfrow=c(2,1))を使わずに、layout(matrix(1:2, 2))を使う理由って何だろう。 layout()だとなんかいいことがあるのかな?
354 名前:308 mailto:sage [2012/01/23(月) 21:15:31.43 ] うん
355 名前:132人目の素数さん [2012/01/25(水) 18:23:35.62 ] スペースで区切られた文字列(数値のみ)で,空白をカウントして改行するってことRでできますか? 例えば 1 2 3 4 5 6 7 8 9 10 11 12.... を 3 2 4 .... という空白ごとに区切って 1 2 3 4 5 6 7 8 9 10 11 12.... としたいのです。 もし可能ならこのような場合,最初の文字列を配列に組み込むべきなのか,文字列として正規表現として処理するべきなのかどちらが好ましいのでしょうか? よろしくお願いします
356 名前:132人目の素数さん mailto:sage [2012/01/25(水) 19:06:09.47 ] >>355 > f355 <- function(x,y){ + s <- unlist(strsplit(x," ")) + res <- vector() + j <- cumsum(y) + res[1] <- paste(s[1:j[1]],collapse='') + res[2] <- paste(s[(j[1]+1):j[2]],collapse='') + res[3] <- paste(s[(j[2]+1):length(s)],collapse='') + return(res) + } > > f355("1 2 3 4 5 6 7 8 9 10 11 12",c(3,2,4)) [1] "123" "45" "6789101112" こんな感じか。 あとは、res[1]からres[3]のところをfor文と条件分岐で処理して、 汎用化すればよいと思う。
357 名前:356 mailto:sage [2012/01/25(水) 19:08:12.54 ] 6789と101112を区切ってなかった。 > f355 <- function(x,y){ + s <- unlist(strsplit(x," ")) + res <- vector() + j <- cumsum(y) + res[1] <- paste(s[1:j[1]],collapse='') + res[2] <- paste(s[(j[1]+1):j[2]],collapse='') + res[3] <- paste(s[(j[2]+1):j[3]],collapse='') + res[4] <- paste(s[(j[3]+1):length(s)],collapse='') + return(res) + } > > f355("1 2 3 4 5 6 7 8 9 10 11 12",c(3,2,4)) [1] "123" "45" "6789" "101112"
358 名前:356 mailto:sage [2012/01/25(水) 19:36:19.47 ] 連投すまんがcut()を使った別解。 > f355.2 <- function(x,y){ + s <- unlist(strsplit(x," ")) + n <- as.integer(cut(as.integer(s),c(0,cumsum(y),Inf))) + sapply(1:length(unique(n)),function(x){s[n==x]}) + } > > f355.2("1 2 3 4 5 6 7 8 9 10 11 12",c(3,2,4)) [[1]] [1] "1" "2" "3" [[2]] [1] "4" "5" [[3]] [1] "6" "7" "8" "9" [[4]] [1] "10" "11" "12" 多分、識者ならsapply()部分をもっと効率よくできる気がする。
359 名前:132人目の素数さん mailto:sage [2012/01/26(木) 01:27:31.67 ] f355.3 <- function(x, y) { STR.SPLIT <- strsplit(x," ")[[1]] ## y = c(3, 5, 1) で c(1,1,1,2,2,2,2,2,3)を返す GROUP <- inverse.rle(list(lengths = y, values = seq_along(y))) ## 上記のGROUPにあわせてsplit() split(x = STR.SPLIT[seq_along(GROUP)], f = GROUP) } ## これなら数字の順番がめちゃくちゃでも、文字列でも行けるかも。spaceが続くとおかしくなるけど f355.3(x = "2 ch R 2012 01 26 2 0 1 2 0 1 2 6 R", y = c(3, 5, 1, 2, 2))
360 名前:355 [2012/01/26(木) 07:03:57.07 ] >356-359 ご教授ありがとうございます。 配列に組み込んだものをループで処理することしか考えてませんでしたので, 以外な回答です。 プログラムに関しては勉強中なのですがなかなか上手くいかず悩んでおります。 ありがとうございます
361 名前:355 [2012/01/26(木) 08:28:33.03 ] 連投申し訳ありません。 これまで統計処理に関してRを利用してきましたが,この度プログラミングもしっかり勉強したいと思うようになりました。 先にも記したようにプログラミングは初学者です。 CやPerlなど多様な言語がありますが,Rの場合どの系統のプログラミング教本で勉強を始めれば良いのでしょうか? オススメ教科書があればよろしくお願い致します。
362 名前:132人目の素数さん mailto:sage [2012/01/26(木) 10:23:38.00 ] >>361 >>356 だけど、正統なプログラミングの勉強をしたことがない。 プログラミングの勉強って、語学の勉強と似ていると思う。 一通り、文法を勉強したら、あとはひたすら経験を積むだけ。 人の表現を聞いて、あぁこういう場面ではこういう風に言えばいいのか、 と人まねを積み重ねる。 一通りの文法レベルの話なら、私はまだ未読だけど、 間瀬先生のRプログラミングマニュアルはどうかな。 間瀬先生の本なら、間違いはないと思う。 >>359 おぉ素晴らしい。rle()の存在を失念していました。
363 名前:359 mailto:sage [2012/01/26(木) 11:44:04.18 ] 統計解析に持っていくためのデータの準備ということであれば Rデータ自由自在(Data Manipulation with R)がおすすめ。 Rプログラミングマニュアル(間瀬)は辞書的な感じ。 Rの基礎とプログラミング技法(石田訳)、プログラミングR(高階)は読み物的な感じ。 レイアウト的に後者の方が読みやすいか。 海外では最近出たThe Art of R Programmingがよいとされている様子。
364 名前:132人目の素数さん [2012/01/27(金) 14:53:34.00 ] あるベクトルの,p番目からq番目までの和を求める関数ってある?
365 名前:364 mailto:sage [2012/01/27(金) 15:34:02.11 ] 基本的な物を見落としておりますた。 すみません
366 名前:132人目の素数さん mailto:sage [2012/01/28(土) 12:45:02.86 ] >>364 sum(vector.name[p:q]) が一番普通か
367 名前:132人目の素数さん mailto:sage [2012/01/30(月) 00:42:00.17 ] コンタープロットで、データがマトリクスになっている場合はいいのですが (x,y,z)= (0,0,0) (1,1,2) (3,2,4) (0,9,2) (2,0,4) みたいに不規則な点列で構成された場合のコンタープロットを作成することは 出来ませんでしょうか? Zの値を0〜1に正規化して、(x,y)の位置にgray(z)で塗りつぶした円を二次元プロットする っていう手法でそれらしいものを作ってはみたものの、やっぱりイマイチなのでw
368 名前:132人目の素数さん mailto:sage [2012/01/30(月) 11:00:34.81 ] >>367 ぱっと思いつくのは、グリッドを作成して、(x,y,z)の値から、スプラインやkrigingなど 空間平滑法で各グリッド点における値を推定し、それで等値線を描く。
369 名前:名無しさん mailto:sage [2012/01/30(月) 21:51:46.12 ID:???] >>368 krigingでググると web.sfc.keio.ac.jp/~maunz/wiki/index.php?%C2%E807%B2%F3%B1%E9%BD%AC%A5%DE%A5%CB%A5%E5%A5%A2%A5%EB っていうのが見つかりました。 ちょっとやってみます。どもでした。
370 名前:名無しさん mailto:sage [2012/01/30(月) 23:07:03.68 ID:???] フジテレビ式円グラフはどうやって作ればよいのでしょうか? blog.livedoor.jp/dqnplus/archives/1692812.html 自分にはこんなのが精一杯でした... library(ggplot2) DF <- data.frame(age=c("10〜20代", "30代","40代","50代"), value=c(97,78,78,94)) ggplot(DF, aes(x=age, y=value, fill = age)) + geom_bar(width = 1) + scale_y_continuous(breaks = 0:100) + coord_polar() + labs(x = "", y = "") + opts(legend.position = "none", axis.text.y = theme_blank(),axis.ticks = theme_blank())
371 名前:名無しさん mailto:sage [2012/01/30(月) 23:16:40.05 ID:???] >>370 また奥村先生がアップをはじめそうなグラフが出てきたな。
372 名前:名無しさん mailto:sage [2012/01/31(火) 00:39:21.68 ID:???] 中心をずらすって言うのはグラフ的にあり得ないからグラフのパッケージでは無理だと思う。 できるとしたら地図関係のパッケージだろうね。
373 名前:名無しさん mailto:sage [2012/01/31(火) 10:47:16.46 ID:???] >>369 こんな感じじゃないの i <- (1:360)/360*2*pi cntr <- c(0.1,0.3) v <- c(94,78,78,97) arc <- cut(1:360,c(0,round(cumsum(v)*360/sum(v)),Inf)) plot(cos(i),sin(i),type="n",asp=1,axes=FALSE,xlab="",ylab="") l <- levels(arc) cols <- c("deepskyblue","dodgerblue1","dodgerblue3","brown1") lbs <- c("50代\n94人","40代\n78人","30代\n78人","10〜20代\n97人") cexs <- c(1.5,1.5,1.5,3) for (j in 1:4){ k <- c(i[arc==l[j]],max(i[arc==l[j]])+1/360*2*pi) polygon(c(cntr[1],cos(k)),c(cntr[2],sin(k)), col=cols[j]) text(mean(cos(k))/1.5,mean(sin(k))/1.5,lbs[j],cex=cexs[j]) }
374 名前:名無しさん mailto:sage [2012/01/31(火) 12:12:08.71 ID:???] >>370 ウジのグラフは、センターがずれてるだけじゃなくて「弧の長さの割合」も意図的に変えてるから、完全再現は無理みたいよw 参考 blog.kzfmix.com/entry/1327735061 そもそも、あんなおぞましいグラフを好んで描く必要ないと思うけど、こんなんでどう? library(grid) quartz(height=4, width=4) #png(filename = "fuji-pie.png", width = 360, height = 360, units = "px") num <- c(94, 97, 78, 78) distortion <- c(1, 1.2, 1, 1) # <- !! dist_num <- num * distortion cum <- c(0, cumsum(dist_num)) rad <- cum / sum(dist_num) * 360 / 180 * pi colors <- c("#0000FFAA", "#FF0000AA", "#000055AA", "#0000AAAA") labels <- paste(c("50ies¥n", "10~20ies¥n", "30ies¥n", "40ies¥n"), num, " ps", sep="") lab_cex <- c(1, 1.5, 1, 1) lab_col <- c("white", "yellow", "white", "white") div <- 200 # 円弧部分の分割数 dx <- 0 # 半径=0.5 として、x 方向への中心のズレ (-0.1 とかにすると、より強烈w) dy <- 0.1 # 半径=0.5 として、y 方向への中心のズレ for (i in 1:length(num)) { x <- c(0.5 + dx, 0.5 + 0.5 * sin(rad[i]), 0.5 + 0.5 * sin(seq(rad[i], rad[i+1], length.out=div)), 0.5 + 0.5 * sin(rad[i+1])) y <- c(0.5 + dy, 0.5 + 0.5 * cos(rad[i]), 0.5 + 0.5 * cos(seq(rad[i], rad[i+1], length.out=div)), 0.5 + 0.5 * cos(rad[i+1])) grid.polygon(x=x, y=y, gp=gpar(fill=colors[i])) grid.text(x=0.5 + 0.4 * sin((rad[i]+rad[i+1])/2), y=0.5 + 0.4 * cos((rad[i]+rad[i+1])/2), label=labels[i], gp=gpar(col=lab_col[i], cex=lab_cex[i])) } #dev.off() RjpWikiにも置いときました。 www.okada.jp.org/RWiki/?R%20%A4%C7%A5%A8%A5%F3%A5%BF%A5%E1#nf026bb6
375 名前:名無しさん mailto:sage [2012/01/31(火) 12:41:24.02 ID:???] >>373-374 すげー これフジテレビに売り込みにいけよwww
376 名前:373 mailto:sage [2012/01/31(火) 14:45:06.35 ID:???] 私の方もRjpwikiに追加しておきました。 >>374 さんは河童さんかと一瞬思ったけど、 そういえば河童さんはgridが嫌いだったから、別な人ですね。
377 名前:375 mailto:sage [2012/01/31(火) 23:04:16.60 ID:???] もちろん、河童さんの足下にも及ばない半素人です 裏Wikiの方でも、がっつりとダメ出しされましたw でも「裏」氏のファンなので、ちょっと嬉しかったりもしますw
378 名前:374 mailto:sage [2012/01/31(火) 23:16:34.60 ID:???] ↑で、名前間違えてた...orz
379 名前:名無しさん mailto:sage [2012/01/31(火) 23:52:13.20 ID:???] まさに誰得関数!
380 名前:132人目の素数さん mailto:sage [2012/02/02(木) 15:19:45.32 ] 知恵を貸してください。 0〜6ぐらいまでの整数を要素にもつサイズが50のベクトルを作りたい。 できればポアソン分布に従って。 ここまでなら、 > rpois(50,2.5) [1] 1 1 1 4 4 3 0 3 3 3 0 1 1 0 4 5 2 2 2 2 4 0 4 4 2 1 3 1 1 3 3 2 1 1 3 4 3 3 [39] 3 3 4 1 1 1 5 5 1 0 3 6 こんな感じでできるんだけど、このベクトルの合計をきっちり150にしたい。 固定したいのは、ベクトルサイズ50とベクトル合計値150だけで、lambdaとかは適当でいい。 当たり前だけど、合計値は変動する。 > sum(rpois(50,2.5)) [1] 132 > sum(rpois(50,2.5)) [1] 131 > sum(rpois(50,2.5)) [1] 118 こういうときはどうすればいいんだろうか。 よろしくお願いします。
381 名前:132人目の素数さん [2012/02/02(木) 16:52:09.32 ] >>380 無理やりの処理だが、こんなんじゃ駄目? mypois <- function(n=50,sum=150,adjtimes=10){ myvec <- rep(0,times=n) mysum <- 0 for(i in 1:adjtimes){ mysum <- sum(myvec) myvec <- myvec + sign(sum-mysum)*rpois(n,abs(sum-mysum)/n) myvec[myvec < 0] <- 0 if( abs(sum-mysum) == 0 ){ break } } return(myvec) } > x <- mypois(50,150) > x [1] 3 2 3 2 5 3 4 5 4 0 1 1 5 4 6 3 5 5 0 4 4 3 4 5 4 7 1 4 1 2 1 2 3 2 1 3 7 2 [39] 0 2 2 3 0 1 3 6 3 4 2 3 > sum(x) [1] 150
382 名前:381 mailto:sage [2012/02/02(木) 17:00:53.33 ] 0から6になってなかったのと、計算の順番がおかしかったので修正した。 mypois <- function(n=50,sum=150,max=6,adjtimes=10){ myvec <- rep(0,times=n) mysum <- 0 for(i in 1:adjtimes){ myvec <- myvec + sign(sum-mysum)*rpois(n,abs(sum-mysum)/n) myvec[myvec < 0] <- 0 myvec[myvec > max] <- max mysum <- sum(myvec) if( abs(sum-mysum) == 0 ){ break } } return(myvec) } > x <- mypois(50,150,6) > x [1] 1 6 1 0 5 3 5 1 2 6 3 3 6 3 3 3 3 3 1 4 2 3 3 0 5 4 3 6 3 5 2 4 4 0 2 1 3 3 [39] 2 4 0 2 1 3 6 4 4 2 1 6 > sum(x) [1] 150
383 名前:381 [2012/02/02(木) 17:33:39.03 ] 青木先生のところの poissondist に嵌めたら、今一つなのは、 0〜6からはみ出たデータを丸めたからかな。上手い方法がないものかねぇ。 > x <- mypois(50,150,6) > x [1] 5 2 1 3 4 4 3 4 3 0 5 5 3 3 1 2 4 4 4 2 5 0 3 4 2 2 3 4 4 1 6 1 1 5 4 4 2 4 [39] 2 5 1 3 2 0 5 2 5 4 1 3 > poissondist(hist(x,plot=F)$counts) ポアソン分布への適合度の検定 data: hist(x, plot = F)$counts X-squared = 9.7821, df = 4, p-value = 0.04426 sample estimates: n lambda 50.00 2.06
384 名前:132人目の素数さん mailto:sage [2012/02/02(木) 18:40:11.25 ] >>381-383 おぉ、十分です。最大は「6ぐらい」なので7とかでもOKですから、 丸めはマイナスになるときだけ必要です。 for文のところはとても勉強になりました。 ありがとうございました。
385 名前:132人目の素数さん mailto:sage [2012/02/06(月) 23:36:20.10 ] こんばんはR初心者です。 一通り調べたのですが、分からない事があるので質問させてください。 ○行ごとのplotを行いたい場合、どのようなコマンドを打てば良いのでしょうか? 例えば、 y1 y2...y10 x1 x2 . . . x100 このような100行×10列のデータフレーム名Xの2列目と4列目をplotしたい場合、 plot(X$y2,X$y4)で1行ごとのplotは出来るのですが、 これをx1,x5,...x100と5行おきにplotしたいのです。 どうかご教授ください。
386 名前:132人目の素数さん mailto:sage [2012/02/07(火) 00:25:49.86 ] >>385 X1 <- X[(0:20)*5+2, ]
387 名前:132人目の素数さん mailto:sage [2012/02/07(火) 08:46:05.39 ] >>385 >このような100行×10列のデータフレーム名Xの2列目と4列目をplotしたい場合、 >plot(X$y2,X$y4)で1行ごとのplotは出来るのですが、 >これをx1,x5,...x100と5行おきにplotしたいのです。 plot(X[seq(1, 100, 5), c(2, 4)]) でどう? [行番号, 列番号] で要素を指定 seq(from, to, by)で1,6,11.16...,100をつくる
388 名前:132人目の素数さん mailto:sage [2012/02/07(火) 22:43:27.83 ] >>385 1,5,...,100 は、最初だけ4行の間隔ですね。 5,10,15,...,100 、あるいは、1,6,11,...,96 ですか? でしたら、私のお薦めも >>387 と同じ方法。
389 名前:132人目の素数さん mailto:sage [2012/02/08(水) 13:38:50.77 ] Emacs ESS でアンダースコアが" <- "になってしまうのが凄く迷惑なんだけど なんであれがデフォルトなんだろう
390 名前:132人目の素数さん mailto:sage [2012/02/08(水) 17:34:58.86 ] タイプ量減るしいいじゃん。
391 名前:132人目の素数さん mailto:sage [2012/02/08(水) 20:31:18.89 ] >>389 アンダースコア2度打ちで、アンダースコアを入力できるというのを 知った上で迷惑と行っているのだろうね。 そもそもRではアンダースコアは使用禁止だったので、 空いているアンダースコアにその機能が割り当てられたという歴史的経緯がある。 デフォルトの理由は、>>390 の言うとおり便利で楽だかから。 いやな人は設定を変更すればいいし。 逆にターミナルでRを使っていて、<-のつもりでアンダースコアを入力して イラッと来ることがある。
392 名前:132人目の素数さん mailto:sage [2012/02/08(水) 22:46:01.26 ] >>391 設定変えるためにググってたらrjpに飛んで、そこで初めて二度打ちやC-q _ でアンダースコアを入力できることを知った アンダースコアを打つためにわざわざテキストモードに変更してた よく調べもしないで愚痴言ってすいません
393 名前:132人目の素数さん mailto:sage [2012/02/13(月) 12:25:46.70 ] emacs essでRコマンダー使うとRコマンダーで外部データを読み込ませた瞬間固まるorz うまくいってるかたいますか?
394 名前:393 mailto:sage [2012/02/13(月) 14:44:06.36 ] すいません自己解決?しました。 emacsのR側で一行でも改行がコマンドを実行すればコマンダー側のフリーズが直りました。 フリーズ自体は何台かのPCで試したところ起こる場合と起こらない場合がありました。 環境に依存するようです。
395 名前:132人目の素数さん [2012/02/13(月) 22:00:37.21 ] >>393 ,394 emacs ess で Rコマンダーを使うメリットって、何? 利点がまったく分からないのだけど。
396 名前:393 mailto:sage [2012/02/14(火) 00:04:31.33 ] >>395 ご指摘のとおりで。 研究仲間がコマンダー使ってて、両方同時に使えると便利だから試しました。 まぁそうじゃなくても使えないよりは使えたほうが少しくらい便利かなと、、、
397 名前:132人目の素数さん mailto:sage [2012/02/15(水) 23:54:50.83 ] Rにはschemeなんかのfoldにあたるような高階関数はないんですか? せっかくベクトル演算言語なので数え上げも高階関数で出来ればと思ったんですが。
398 名前:132人目の素数さん mailto:sage [2012/02/16(木) 09:49:58.30 ] >>397 stat.ethz.ch/R-manual/R-patched/library/base/html/funprog.html プログラミング言語はよくわからないけど、これは参考になるだろうか?
399 名前:132人目の素数さん mailto:sage [2012/02/16(木) 09:57:29.11 ] >>398 たぶん Reduce()がfoldに相当するんじゃね
400 名前:397 mailto:sage [2012/02/16(木) 16:23:10.40 ] >>398 >>399 それです ありがとうございます
401 名前:398 mailto:sage [2012/02/16(木) 16:52:41.50 ] >>400 いまいちイメージがわかないんだけど、面白い使い方があったら、教えてくだされ
402 名前:132人目の素数さん [2012/02/17(金) 05:50:16.64 ] lmによる回帰分析で、切片をあらかじめ固定することはできますか? 切片を取り除くには「-1」を指定するということはわかりますが、ここを好きな値に固定したいのですが・・・
403 名前:132人目の素数さん mailto:sage [2012/02/17(金) 13:00:44.62 ] >>402 ttp://r.789695.n4.nabble.com/R-Forcing-the-intercept-td812422.html
404 名前:397 mailto:sage [2012/02/17(金) 19:52:56.72 ] >>401 おもしろいかどうかわかりませんが、 data <- as.integer(runif(10,1,21)) のようなデータがある時に、 predicate <- function(x) { x < 5 } が真になるような項目を数え上げたいとします。 for文を使うと ret <- 0 for(i in 1:length(data)){ if (predicate(data[i])) { ret <- ret + 1 } } のような形になりますが、高階関数を使うと、 length(Filter(predicate, data)) と書けるようになります。 これは関数プログラミングの技法で、もう少し詳しく学びたいようでしたら programming in haskellなんかが薄くていい本なんじゃないかと思います。
405 名前:132人目の素数さん mailto:sage [2012/02/17(金) 20:15:30.11 ] >>404 >>401 じゃなくて申し訳ないが、 > length(Filter(predicate, data)) [1] 4 > sum(data<5) [1] 4 この場合だと下の方が簡単。しかも、 > system.time(sapply(1:1000, function(x){length(Filter(predicate, data))})) ユーザ システム 経過 0.072 0.000 0.074 > system.time(sapply(1:1000, function(x){sum(data<5)})) ユーザ システム 経過 0.000 0.000 0.002 圧倒的に速い。
406 名前:405 mailto:sage [2012/02/17(金) 20:17:05.57 ] s/下の方が/後者の方が/
407 名前:132人目の素数さん mailto:sage [2012/02/17(金) 22:46:29.44 ] >>404 「おぉ高階関数はこれほどまでに便利なものかと実感できる事例」を期待している。
408 名前:132人目の素数さん mailto:sage [2012/02/18(土) 05:48:26.33 ] rubyで高階関数組み合わせてやってたけど Rに移ってtapplyとかmapplyが便利すぎて禿げた
409 名前:132人目の素数さん mailto:sage [2012/02/18(土) 06:05:41.05 ] >>404 Filter()の例は length(data[data < 5]) みたいなもんか
410 名前:397 mailto:sage [2012/02/18(土) 11:40:22.15 ] >>405 なるほど、そんな書き方が出来るんですか だとしたらそちらの方がよさそうです 速度はおそらく最適化の問題でしょう 下の方がRネイティブっぽいので十分な最適化が行われているんだとおもいます
411 名前:397 mailto:sage [2012/02/18(土) 12:01:56.66 ] >>407 事例はちょっと思いつかないんですが 高階関数はプログラムの中の構造を関数として再利用するためのものです その点では>>404 はあまりいい例ではなくて、 ret<-0 for(i in 1:length(data)){if(predicate(data[i])){ret<-ret+1}else{ret}} について高階関数を利用する例だとすると、 Reduce(function(ret, x){if(predicate(x)){ret+1}else{ret}},data,0) になります。これは外側のループの部分の構造をReduceという関数で再利用していると言う形になります でもどうやらこの手の単純な高階関数はベクトル計算という形でRに組み込まれているようなので あまり出番はなさそうですね
412 名前:132人目の素数さん [2012/02/19(日) 03:55:37.05 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
413 名前:132人目の素数さん mailto:sage [2012/02/19(日) 08:58:51.23 ] 教えてください。 Epiパッケージを使用して、ROC曲線下面積を求めたら0.5未満になりました。 独立変数は二分変数に関係しないと判断しその値(0.425)を記載することは正しいのでしょうか?
414 名前:132人目の素数さん mailto:sage [2012/02/19(日) 17:00:59.94 ] アウトカムの変数は予測因子の数字が大きくなると大きくなると陽性になりますか?もし数が大きい方がアウトカムが陰性ならば、アウトカムの1,0をひっくり返す必要があるかも?
415 名前:132人目の素数さん mailto:sage [2012/02/19(日) 23:14:01.45 ] >>414 ありがとうございます。 明日にでも、いれかえて検討してみます。
416 名前:132人目の素数さん [2012/02/29(水) 23:39:27.42 ] 応答曲面法で最適値を求めるっていうのは出来ないのか? パッケージrsmがそれっぽいんだが
417 名前:132人目の素数さん mailto:sage [2012/03/01(木) 23:08:27.13 ] >>416 なんていうか、もろに、rsm() がそうなんだが? 使い方は www.jstatsoft.org/v32/i07/paper をみてくれ
418 名前:132人目の素数さん [2012/03/03(土) 12:45:30.73 ] Rを2.14.2にしたいんですが、インストールして再起動すると確かに2.14.2にはなるんですが、保存していたオブジェクトが全て消えてしまいます オブジェクトを引き継ぐ方法はないんでしょうか? 今は2.13.1を使ってます
419 名前:132人目の素数さん mailto:sage [2012/03/03(土) 16:40:03.10 ] save(list = ls(all=TRUE), file = "old.RData") で明示的に保存ファイルを作って、 それを新バージョンで load(file = "old.RData") したらどうなる?
420 名前:132人目の素数さん mailto:sage [2012/03/04(日) 18:26:31.31 ] マルチコア対応しましたか〜??
421 名前:132人目の素数さん mailto:sage [2012/03/04(日) 19:53:40.43 ] parallelというパッケージができたね
422 名前:132人目の素数さん mailto:sage [2012/03/04(日) 20:21:12.91 ] >>420 ググると、gotoBLASをマルチコア向けにコンパイルしてRで利用する話が、 詳しく解説されている。 調子に乗ってcuBLASに差し替えられないかと考え、 プログラム板のcudaスレに行ったことがあるが、 あそこの住人はnvccを使わない人間をバカだと考えているみたいだ。
423 名前:420 mailto:sage [2012/03/04(日) 22:56:21.28 ] >>421 >>422 良い情報をありがとうございます。 調べてみます。 シングルスレッド性能でのCPU探しも終わりにしたいですw
424 名前:132人目の素数さん mailto:sage [2012/03/04(日) 23:06:08.66 ] 今なら分散処理じゃ無いかな。IT系のWebサイトじゃあ hadoop とか流行ってるし、 解きたい課題を Map-Reduce に落とし込めればRでの分散処理も可能かと。
425 名前:132人目の素数さん mailto:sage [2012/03/08(木) 19:59:09.03 ] ttp://cran.r-project.org/bin/linux/ubuntu/ preciseはまだまだ来ないね。
426 名前:132人目の素数さん [2012/03/11(日) 23:35:42.80 ] R初心者でpolr関数を使って解析しているのですが、 P値の出し方がわかりません。 お分かりになる方いらっしゃいましたら教えて頂けないでしょうか。 詳細な情報が必要であれば補足します。
427 名前:132人目の素数さん mailto:sage [2012/03/12(月) 16:16:16.41 ] stats.stackexchange.com/questions/7720/how-to-understand-output-from-rs-polr-function-ordered-logistic-regression の二番目の最後のところをみると、正確にはもとまらないから、計算されないようになっている、ということのように思いました。
428 名前:132人目の素数さん mailto:sage [2012/03/13(火) 00:08:39.50 ] www.r-project.org/ R 2.15.0 prerelease versions are currently available. Final release is scheduled for March 30.
429 名前:132人目の素数さん mailto:sage [2012/03/15(木) 07:30:22.52 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
430 名前:132人目の素数さん mailto:sage [2012/03/20(火) 20:20:19.86 ] Rを使ってる最中(emacs+ess) 作ったオブジェクトの数が多くなって、ls()で変数名を見ても、 思い出せない。 こういう状況に対処するにはどうしたら良い? 新しい環境を用意して、そちらに移す?(assignを使って、.GlobalEnvのものを消す?) それとも、特定のファイルに保存する?(複数個のオブジェクトを1ファイルに保存できる?) よい方法などがあれば、教えて。 あと、 emacs+essを使ってるけど、lispとかは分からんので、 emacsの機能での解決方法を示されても反応できないかも。 その時は、ごめんなさい。
431 名前:430 mailto:sage [2012/03/20(火) 20:22:30.66 ] 言葉不足だったので、訂正します。 >>assignを使って、.GlobalEnvのものを消す? assignを使って別の環境にデータを入れて、.GlobalEnvの方は消す?
432 名前:430 mailto:sage [2012/03/20(火) 20:28:40.90 ] >>419 でファイルに保存する方法があったね。見てなかった。 save(list=c("オブジェクト名1","オブジェクト名2"),file="a_path") とかでもいいのか。でも、なんか面倒だな。
433 名前:132人目の素数さん mailto:sage [2012/03/20(火) 21:37:25.25 ] >>430 変数名を見ても思い出せない命名法に問題がありそうだけど あと俺は使っていないけどcomment()を上手に使うとか。
434 名前:430 mailto:sage [2012/03/21(水) 00:50:48.76 ] >>433 こんな感じ? tmp <- sapply(ls(), function(x)comment(eval(parse(text=x)))) tmp[sapply(tmp,is.null)] <- NULL tmp これを関数にしておいて、呼び出せば良いかな? あとは、commentに自動的に参照or作成時間を入れておくとかかな。 どうやったらできるか分からないけど。
435 名前:132人目の素数さん mailto:sage [2012/03/22(木) 22:37:07.40 ] スクリプトをファイルに書き出して基本的にはバッチモードでRを動作させております。 その場合のエラーハンドリングってどうしてますか? stop関数で停止はするのですが、 どの関数のどの行数で停止したかなどがいまいちわかりづらいときがあります。 引数で与えるコメントを変えればいいのでしょうが、いちいち面倒なので。。。 例えばCだと printf("%s %s\n", __FILE__, __LINE__); なんかで対応できるんですが。。 いい方法ありますか?
436 名前:132人目の素数さん mailto:sage [2012/03/26(月) 13:16:29.99 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
437 名前:132人目の素数さん mailto:sage [2012/03/26(月) 17:52:13.93 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
438 名前:132人目の素数さん mailto:sage [2012/03/27(火) 00:36:36.55 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
439 名前:132人目の素数さん mailto:sage [2012/03/27(火) 12:48:45.92 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
440 名前:132人目の素数さん mailto:sage [2012/03/27(火) 20:00:22.88 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
441 名前:132人目の素数さん mailto:sage [2012/03/27(火) 23:36:28.28 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
442 名前:132人目の素数さん mailto:sage [2012/03/29(木) 01:36:02.65 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
443 名前:132人目の素数さん mailto:sage [2012/03/30(金) 22:40:29.56 ] R 2.15.0 is released www.r-bloggers.com/r-2-15-0-is-released/
444 名前:132人目の素数さん [2012/04/03(火) 21:15:56.45 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
445 名前:132人目の素数さん mailto:sage [2012/04/06(金) 18:58:58.10 ] チラ裏 Meadow 2.10(Emacs 21.4.1) + R 2.15.0 で、 ESS 5.14 → ESS 12.04 にしてみたら、 symbol's function definition is void と言われてしまい、 元に戻した今日の夕暮れ。
446 名前:132人目の素数さん mailto:sage [2012/04/10(火) 15:45:27.97 ] ttp://cran.r-project.org/bin/linux/ubuntu/ Preciseはまだ来ないね。4月26日以降になるのかな
447 名前:132人目の素数さん mailto:sage [2012/04/14(土) 11:43:41.70 ] R2.15.0 って、なんか目玉機能あります?
448 名前:132人目の素数さん [2012/04/20(金) 23:36:06.27 ] ソースコードが1つのファイルで2万行ぐらいになってしまったので 複数のファイルに分割したいのですがやり方がわかりません。 助けてください
449 名前:132人目の素数さん mailto:sage [2012/04/20(金) 23:38:20.91 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
450 名前:132人目の素数さん mailto:sage [2012/04/21(土) 07:52:14.18 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
451 名前:132人目の素数さん mailto:sage [2012/04/21(土) 09:49:45.56 ] >>448 2万行って何それ、すごい。 そんなにRの専門家なのに、そんなことを悩むとはw source()を使って階層的にしたら駄目なの?
452 名前:132人目の素数さん [2012/04/21(土) 16:42:07.10 ] >>448 むしろ、何の処理をさせたら、2万行になるのか知りたい。
453 名前:132人目の素数さん [2012/04/21(土) 17:49:35.34 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
454 名前:132人目の素数さん mailto:sage [2012/04/21(土) 18:59:03.29 ] >>448 縦書きか
455 名前:132人目の素数さん [2012/04/24(火) 07:20:26.82 ] SUBSTR<- function(X,S,E){ if(length(unique(nchar(X)))>1)stop("warning") if(unique(nchar(X))<max(S,E)|min(S,E)<=0)stop("warning") temp<-t(sapply(X,function(X){mapply(substr,X,start=S,stop=E)})) dimnames(temp)<-NULL temp }
456 名前:132人目の素数さん [2012/04/24(火) 07:25:35.41 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
457 名前:132人目の素数さん mailto:sage [2012/04/24(火) 10:40:39.43 ] >>455 突然どうしたの? オレならecho X | cut -cS-Eをsystem()でやっちゃうな。
458 名前:132人目の素数さん [2012/04/24(火) 12:16:39.44 ] barplotの質問です cran.md.tsukuba.ac.jp/bin/windows/base/ を使っています。 100個の文字列(labels)と数値(num)を棒グラフに書き出したいのですが barplot(num, names.arg=labels) いざ書き出すと文字列名がすべて表示されません 理想的にはcommons.wikimedia.org/wiki/File:English_letter_frequency_ (alphabetic).svg このように数値と文字列をすべて表示させたいのですが、どうすればよいでしょうか。 また、numでソートした棒グラフとlabelsでソートした棒グラフをそれぞれ作成するには どうすればいいでしょうか。 他のプログラミングでいうとろこの、 ハッシュ構造に文字列と数値を格納してキーと値でそれぞれソートするという手順がよく分かりません。
459 名前:132人目の素数さん mailto:sage [2012/04/24(火) 12:32:11.32 ] >>458 グラフのサイズを多きすくすれば細かい文字も入るよ。 > pdf(file="test.pdf",width=50,height=10) > barplot(round(runif(100),1),names.arg=sapply(1:100,function(x){sample(LETTERS,1)})) > dev.off() ソートは次の例を参考にしてくれ。 > (a <- data.frame(v=round(rnorm(5),1),n=sample(LETTERS,5))) v n 1 -0.1 F 2 -0.4 W 3 1.6 M 4 -0.2 R 5 -0.5 V > a[order(a$v),] v n 5 -0.5 V 2 -0.4 W 4 -0.2 R 1 -0.1 F 3 1.6 M > a[order(a$n),] v n 1 -0.1 F 3 1.6 M 4 -0.2 R 5 -0.5 V 2 -0.4 W
460 名前:459 mailto:sage [2012/04/24(火) 12:37:45.20 ] >>459 の barplot()は > barplot(round(runif(100),1),names.arg=sample(LETTERS,100,replace=TRUE)) に差し替え。最初はアルファベット2文字で書こうとしたのでsapply()が入った。
461 名前:132人目の素数さん mailto:sage [2012/04/24(火) 22:47:48.17 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
462 名前:132人目の素数さん mailto:sage [2012/04/24(火) 23:01:21.57 ] >>459-460 ありがとうございます。ばっちりできました。
463 名前:132人目の素数さん mailto:sage [2012/04/24(火) 23:52:37.90 ] www.is.titech.ac.jp/~mase/R.html R の公式マニュアル5種類の和訳 このサイトが見れないです
464 名前:459 mailto:sage [2012/04/25(水) 00:40:38.22 ] >>463 10年以上前の情報だぞ。 書店で最新の本を買えよ
465 名前:132人目の素数さん mailto:sage [2012/04/25(水) 00:59:05.13 ] >>464 他にマニュアルの和訳したサイトってないんですか?
466 名前:132人目の素数さん mailto:sage [2012/04/25(水) 14:04:32.25 ] >>465 私の知る限りない。 現状では、マニュアルを読む気概がある人=英語でも大丈夫、という空気になっていて、 初心者や英語が苦手な人は、マニュアルを咀嚼した和書を購入すると思う。
467 名前:132人目の素数さん mailto:sage [2012/04/25(水) 21:29:19.12 ] >>466 ありがとうございます
468 名前:132人目の素数さん mailto:sage [2012/04/27(金) 03:23:30.97 ] sample(c("T", "F"), 1000, replace = TRUE) こうして作成したベルトルからTの個数を数えあげるには どうすればよいでしょうか for(i in 1:1000){}として一つ一つ値を見るしかないのでしょうか。
469 名前:132人目の素数さん mailto:sage [2012/04/27(金) 06:14:45.59 ] >>468 sum(sample(c("T", "F"), 1000, replace = TRUE))
470 名前:132人目の素数さん mailto:sage [2012/04/27(金) 06:17:19.41 ] c("T","F")だから、 sample(c("T", "F"), 1000, replace = TRUE)-> x sum(x=="T") でした。
471 名前:132人目の素数さん mailto:sage [2012/04/27(金) 11:05:43.29 ] >>468 長年のR利用経験から、おっさんが助言する。 "T"や"F"の文字列の使用は、トラブルの原因になる場合があるので、やめておけ。 なかなか気が付きにくいバクの原因になるから、 徹夜でトラブルシューティングするはめになるぞ。 "t"や"f"も使うな。 今回はsample(c("T", "F"), 1000, replace = TRUE)とする代わりに、 sample(c(T, F), 1000, replace = TRUE)とした方がよい。 "T"の代わりにTを、"F"の代わりにFを使うんだ。
472 名前:132人目の素数さん mailto:sage [2012/04/27(金) 14:26:57.77 ] x<-c(2, 3, 5, 4, 7, 9, 10, 2, 3, 4, 5) z<-c(3, 5, 9, 7, 13, 17, 19, 3, 5, 7, 9) y<-c(4, 6, 10, 8, 14, 18, 20, 4, 6, 8, 10) このx,y,zをもとに "要素1" xのベクトル "要素2" yのベクトル "要素3" zのベクトル このような表形式で結果をまとめるにはどうすればいいですか? ベクトルの操作だけでは全体の整形ができないようなのでわかりませんでした
473 名前:132人目の素数さん mailto:sage [2012/04/27(金) 14:31:54.94 ] >>472 「表形式で結果をまとめる」の意味が不明瞭。 ftable()案件なのか、rbind(x,y,z)やcbind(x,y,z)でよいのか、 それとも論文にするの表(TeX)にしたいのか、 分かるように伝えてくれ。
474 名前:473 mailto:sage [2012/04/27(金) 14:36:29.43 ] >>472 >"要素1" xのベクトル >"要素2" yのベクトル >"要素3" zのベクトル これって、例えば、次のような形なんだろうか。 > X <- rbind(x,y,z) > colnames(X) <- month.name[1:ncol(X)] > X January February March April May June July August September October November x 2 3 5 4 7 9 10 2 3 4 5 y 4 6 10 8 14 18 20 4 6 8 10 z 3 5 9 7 13 17 19 3 5 7 9
475 名前:132人目の素数さん mailto:sage [2012/04/27(金) 15:01:57.09 ] x<-c(2, 3, 5, 4, 7, 9, 10, 2, 3, 4, 5) z<-c(3, 5, 9, 7, 13, 17, 19, 3, 5, 7, 9) y<-c(4, 6, 10, 8, 14, 18, 20, 4, 6, 8, 10) f = c("要素1","要素2","要素3") cbind(f,data.frame(rbind(x,y,z))) こういうこと??
476 名前:132人目の素数さん mailto:sage [2012/04/27(金) 16:25:40.38 ] 説明不足ですみません tex形式ではなくプレーンテキストで結果を見ることができれば十分です >>473-475 のrbindやcbindで大丈夫そうです。ありがとうございます。 ただ欲を言えば[,1]のような見出し部分を取り除ければいいのですが、可能でしょうか。
477 名前:132人目の素数さん mailto:sage [2012/04/27(金) 20:26:45.89 ] ?write.table
478 名前:132人目の素数さん mailto:sage [2012/04/27(金) 21:07:02.32 ] >>476 真に必要がないのに、[, 1]などを削るのはいかがかと思うが、 次のようにすればどうだろう。 > x<-c(2, 3, 5, 4, 7, 9, 10, 2, 3, 4, 5) > z<-c(3, 5, 9, 7, 13, 17, 19, 3, 5, 7, 9) > y<-c(4, 6, 10, 8, 14, 18, 20, 4, 6, 8, 10) > hoge <- function(x){ + n <- nrow(x) + l <- rownames(x) + for(i in 1:n){ + cat(paste(l[i], "\t"), fill = FALSE) + cat(x[i, ], fill = TRUE) + } + } > hoge(rbind(x,y,z)) x 2 3 5 4 7 9 10 2 3 4 5 y 4 6 10 8 14 18 20 4 6 8 10 z 3 5 9 7 13 17 19 3 5 7 9
479 名前:132人目の素数さん mailto:sage [2012/04/27(金) 23:02:47.19 ] >>477-478 ありがとうございます。ここまで対応して下さり感謝します。
480 名前:132人目の素数さん mailto:sage [2012/04/28(土) 02:07:58.56 ] rを外部から操作する環境設定について質問します gnupack gnupack.sourceforge.jp/docs/latest/UsersGuide.html のemacsを使って居ます ESS (www.okada.jp.org/RWiki/?ESS )経由でRを利用しているのですが、 割合<-1/3 と書くと 「構文解析中に不正なマルチバイト文字列がありました」 とエラーになります RGuiのR Consoleからはそういうエラーはでません。 割合の"合"が原因のようで、ESSのやりとりではsjisとして文字コードが解釈されてしまうため、R側が適切に認識できないような気がします。 emacsからRをutf-8で操作できれば問題は解消すると思うのですが、どのように設定することになりますか。
481 名前:132人目の素数さん mailto:sage [2012/04/28(土) 05:34:39.27 ] presiceきたー ttp://cran.r-project.org/bin/linux/ubuntu/
482 名前:132人目の素数さん mailto:sage [2012/04/28(土) 08:45:12.17 ] >>480 お客さん、Emacsは初めて? ttp://tanuzou.com/nuzou/wiki/index.php?emacs%A4%C7%A4%CE%CA%B8%BB%FA%A5%B3%A1%BC%A5%C9%CA%D1%B9%B9
483 名前:480 mailto:sage [2012/04/28(土) 09:53:19.07 ] >>482 いえ、はじめてではないです set-buffer-process-coding-systemで outputをutf-8にすれば入力は問題無くなるのですが、 今度は出力がおかしくなります 例えば、「 作業スペースを保存しますか? [y/n/c]: 」というメッセージは ?X y [ X ? ? ? [y/n/c]: こうなってしまいます set-buffer-process-coding-systemのinputをutf-8にしてもそうなったままです
484 名前:132人目の素数さん mailto:sage [2012/04/28(土) 10:46:30.19 ] c <- 3:13 f <- c(1, 12, 19, 6, 15, 10, 2, 18, 15, 9) cを階級値、fを度数としてヒストグラムを書きたいのですが、 barplot(f,names.arg=c,space=0) こうしてヒストグラムを書いたときに0,5,10,15の横線を左から右端まで引く方法はありますか。 またc("101-120", "121-140", "141-160"...)というように、 階級値ではなく階級境界値が与えられたとき、 同じようにヒストグラムを書く方法があれば知りたいです。 その場合にstrsplit()を使って文字列を分割するということは考えたのですが、 その先がわかりませんでした。
485 名前:132人目の素数さん mailto:sage [2012/04/28(土) 11:02:42.35 ] >>484 前半の方は無理じゃないかな
486 名前:132人目の素数さん mailto:sage [2012/04/28(土) 12:49:02.44 ] c <- 3:13 f <- c(1, 12, 19, 6, 15, 10, 2, 18, 15, 9, 1) x <- c() for(i in 1:length(f)){ x<-append(x,rep(c[i],f[i])) } dx <- data.frame(x=x) library(ggplot2) ggplot(dx, aes(x))+ geom_bar(binwidth=1) + geom_hline(yintercept=seq(0,15, by=5))
487 名前:132人目の素数さん mailto:sage [2012/04/28(土) 13:02:37.47 ] >>483 これで直るんじゃないかな。 rmecab.jp/wiki/index.php?R%A4%CE%C8%F7%CB%BA%CF%BF#v2acbd2d Rの側では何も設定しなくて大丈夫だから、設定はNTEmacsスレで聞いた方がいいかと。
488 名前:132人目の素数さん mailto:sage [2012/04/28(土) 13:13:33.53 ] >>484 abline(h = seq(0, 15 , 5)) ってこと。ちなみにcは関数名なので、代入するとおかしくならない?
489 名前:132人目の素数さん mailto:sage [2012/04/28(土) 13:21:10.49 ] c でも t でも変数名、ベクトル名に使えるけど、紛らわしいからやらないほうが吉
490 名前:374 mailto:sage [2012/04/28(土) 19:16:35.57 ] >>484 下の方 どうせ、「なんちゃって」ヒストグラムなんだから、そのままでもいいじゃん。ダメなの? barplot(f, names.arg=c("101-120", "121-140", "141-160"...), space=0) それだとあんまりなので、こんな感じ? f <- c(1, 12, 19, 6, 15, 10, 2, 18, 15, 9) a <- paste(seq(from = 101, by = 20, along.with = f), sep="-", seq(from = 120, by = 20, along.with = f)) # => [1] "101-120" "121-140" "141-160" "161-180" "181-200" "201-220" "221-240" "241-260" "261-280" "281-300" c <- sapply(a, function(x) as.numeric(unlist(strsplit(x, "-")))[2]) dist <- c() for (i in 1:length(c)) {dist <- c(dist, rep(c[i]-1, f[i]))} hist(dist)
491 名前:132人目の素数さん mailto:sage [2012/04/28(土) 20:38:01.56 ] 放大でRで統計やってたね
492 名前:132人目の素数さん mailto:sage [2012/04/28(土) 23:15:54.50 ] 放送大学 授業科目案内 データからの知識発見('12) www.ouj.ac.jp/hp/kamoku/H24/kyouyou/A/sangyo/s_1554522.html これかな これぐらいの内容をざっと教えているのはいいね
493 名前:132人目の素数さん mailto:sage [2012/04/29(日) 11:21:12.19 ] binary <- c(T,F) binaries <- data.frame("1st"=binary) cbind(binaries,"2nd"=binary,"3rd"=binary) X1st 2nd 3rd 1 TRUE TRUE TRUE 2 FALSE FALSE FALSE このデータの順列すべてつまり2^3個分を表示したいのですが、 どうすればいいですか。 TRUE,TRUE,TRUE TRUE,TRUE,FALSE TRUE,FALSE,TRUE TRUE,FALSE,FALSE こんな風にです
494 名前:132人目の素数さん mailto:sage [2012/04/29(日) 15:04:56.43 ] >>493 library(gtools) permutations(2, 3, c(T, F), repeats.allowed=TRUE)[8:1,]
495 名前:132人目の素数さん mailto:sage [2012/04/30(月) 00:13:16.11 ] >>494 ありがとうございます!まさにそれです。 permutation、ずばり順列そのもののコマンドがあるのですか。 勉強になりました。
496 名前:132人目の素数さん mailto:sage [2012/05/03(木) 20:30:15.24 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
497 名前:132人目の素数さん mailto:sage [2012/05/05(土) 22:45:04.63 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
498 名前:132人目の素数さん mailto:sage [2012/05/06(日) 13:20:53.64 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
499 名前:132人目の素数さん [2012/05/06(日) 16:50:58.01 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
500 名前:132人目の素数さん [2012/05/08(火) 14:04:54.27 ] RMeCabこんな感じに文字化けしちゃう ======================== 險伜捷 "私は彼女のこ\x82" ======================== SetLocaleしてみた ============================ > Sys.getlocale LC_COLLATE=Japanese_Japan.932;LC_CTYPE=Japanese_Japan.932;LC_MONETARY=Japanese_Japan.932;LC_NUMERIC=C;LC_TIME=Japanese_Japan.932" > Sys.setlocale("LC_CTYPE","ja_JP.UTF-8") 警告メッセージ: In Sys.setlocale("LC_CTYPE", "ja_JP.UTF-8") : ロケールを "ja_JP.UTF-8" に設定せよとのOS のレポート要求は受け入れられません ================================== なんかUTF-8に変えられないんだよね 環境はWin7/64bitです だれか解決策教えて下さいな
501 名前:132人目の素数さん [2012/05/08(火) 14:06:53.60 ] , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
502 名前:132人目の素数さん [2012/05/08(火) 14:07:16.16 ] , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
503 名前:132人目の素数さん [2012/05/08(火) 14:32:23.18 ] , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
504 名前:132人目の素数さん mailto:sage [2012/05/08(火) 19:17:29.11 ] >>500 Rとは関係なしにMeCabが使える状態なのかどうかは確認した? RMeCabはRの中からMeCabをただ単にcallしているだけなので、 そもそもMeCabが使えなかったら、RMeCabも使えない。
505 名前:132人目の素数さん [2012/05/08(火) 19:44:31.59 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
506 名前:132人目の素数さん [2012/05/09(水) 12:16:57.42 ] >>504 コマンドプロンプト上からMeCab自体はつかえてるっぽいけど文字化けしてる =============================== > 私は只の数ヲタなんかとは付き合わないわ。 私は只の数ヲ 險伜捷,荳闊ャ,*,*,*,*,* ^ 蜷崎ゥ・繧オ螟画磁邯・*,*,*,*,* 險伜捷,荳闊ャ,*,*,*,*,* ネ 蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・*,*,*,* か 險伜捷,荳闊ャ,*,*,*,*,* ニ 蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・*,*,*,* ヘ 險伜捷,荳闊ャ,*,*,*,*,* t 蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・*,*,*,* き合わないわ。 險伜捷,荳闊ャ,*,*,*,*,* ============================ CMDの文字コードがShift-JISで、MeCabがutf-8版だから こうなるのはわかるんだけど ============================ 932 (ANSI/OEM - 日本語 Shift-JIS) ============================
507 名前:132人目の素数さん mailto:sage [2012/05/09(水) 13:04:31.70 ] >>506 Windowsのことはよくわからないけど、 コマンドプロンプトをuft-8になんとかして変更するとか(utf-8な代替ソフトを使うとか)、 MeCabに喰わせる前後で、nkfをかましてUTF-8/CP932の変換を行うとか、 MeCabを使うときだけ、文字化けしない環境(MacOSXやLinux)を使うとか、 真に解決しなければならないものなら、試す価値のある方法はたくさんありそうだ。 あと、SDOUTで文字化けするなら、ファイルにリダイレクトして、 UTF-8を扱えるテキストエディタで開くと文字化けしないのかどうかチェックすることも必要では?
508 名前:132人目の素数さん [2012/05/09(水) 14:15:31.27 ] >>507 標準出力して、utf8形式でエディタ(TeraPad)にファイルを読み込んでみたら なんと一部の文字列が文字化けしてました。MeCabの出力がutf-8ではないのか? ========================== > echo "頭が良くて数学が出来てかっこいい人。それが必要条件よ。 " | mecab > out.txt ========================== Terapadでout.txtをutf-8形式で読み込んでみた =========================== " 名詞,サ変接続,*,*,*,*,* ?a?a? 記号,一般,*,*,*,*,* ? 名詞,固有名詞,組織,*,*,*,* -? 記号,一般,*,*,*,*,* ? 名詞,固有名詞,組織,*,*,*,* ?? 記号,一般,*,*,*,*,* w 名詞,固有名詞,組織,*,*,*,* ?a? 記号,一般,*,*,*,*,* - 略 - EOS ========================= Terapadで対応している他のコード(Shift-JIS,JIS,EUC,Unicode)でも 読み込んでみましたが、Utf-8以外だと文字化けしまくってました。 Win7のコマンドプロンプトをutf-8に変更するのは、たしかレジストリを弄る必要あったな sgry.jp/blog/2011/06/26/475/ あとでやってみます nkfをかませる方法だとRMeCabのソースに書き加えて再ビルドするかんじですか? それともR側にそういうオプションがあったりします?
509 名前:132人目の素数さん [2012/05/09(水) 14:37:47.21 ] (続き) >>507 さっきの文字化けの原因、わかりました。 "頭が良くて数学が〜"の文字列がCP932なのにMeCabに読み込ませていたからでした。 CMDをutf-8にしてもう一度出力してエディタで開いてみたところ ======================== " 名詞,サ変接続,*,*,*,*,* 頭 名詞,一般,*,*,*,*,頭,アタマ,アタマ が 助詞,格助詞,一般,*,*,*,が,ガ,ガ 良く 形容詞,自立,*,*,形容詞・アウオ段,連用テ接続,良い,ヨク,ヨク て 助詞,接続助詞,*,*,*,*,て,テ,テ 数学 名詞,一般,*,*,*,*,数学,スウガク,スーガク が 助詞,格助詞,一般,*,*,*,が,ガ,ガ 出来 動詞,自立,*,*,一段,連用形,出来る,デキ,デキ - 略 - EOS ========================= 正常に表示されました。やったね。 つぎはRとMeCabのオプション調べてみます。 作業はなるべくWin7で完結させたいです。
510 名前:132人目の素数さん [2012/05/09(水) 15:36:01.63 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
511 名前:132人目の素数さん [2012/05/09(水) 20:12:11.20 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
512 名前:132人目の素数さん mailto:sage [2012/05/09(水) 21:04:27.28 ] >>500 基底
513 名前:132人目の素数さん mailto:sage [2012/05/18(金) 01:25:32.37 ] b <- rbind(1:2) c <- cbind(1:2) b+c このような感じで 2 3 3 4 こういう結果を出すような方法はありますか? このまま実行したら >以下にエラー b + c : 適切な配列ではありません と出ました
514 名前:132人目の素数さん mailto:sage [2012/05/18(金) 05:42:13.21 ] cbind(c,c) + rbind(b,b)
515 名前:132人目の素数さん mailto:sage [2012/05/18(金) 13:45:22.19 ] >>514 ちょっ、b, cは最高に単純化した例だろw > outer(b,c,"+") , , 1, 1 [,1] [,2] [1,] 2 3 , , 2, 1 [,1] [,2] [1,] 3 4 となるけど、 > d1 <- 1:2 > d2 <- 1:2 > outer(d1,d2,"+") [,1] [,2] [1,] 2 3 [2,] 3 4 となることからヒントを得ると、次のようにすればよい。 > outer(as.vector(b),as.vector(c),"+") [,1] [,2] [1,] 2 3 [2,] 3 4
516 名前:132人目の素数さん mailto:sage [2012/05/18(金) 18:05:46.17 ] Rjpwikiに回答したくないので(スルー検定失格の烙印を押されたくないので)、こちらに書く。 > line <- '127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "htp://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)" ' > m <- gregexpr("(\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1]?\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5]) ", line, perl=TRUE) > regmatches(line, m) [[1]] [1] "127.0.0.1 " 正規表現が書けるという前提だけど、上に示すとおり格段に難しいわけではない。 従って「非常に面倒かどうか」に対する答えは「全く面倒ではありません。ほぼコピペの世界です。」だ。
517 名前:132人目の素数さん mailto:sage [2012/05/19(土) 00:29:19.34 ] >>514-515 ありがとうございます。>>515 がまさに望んでいたものでした。 outer関数についてよく勉強します。
518 名前:132人目の素数さん mailto:sage [2012/05/19(土) 08:44:41.03 ] a1 <- c("a", "b", "d", "f") a2 <- c("b", "a", "f", "c") a3 <- c("z", "m", "f", "a") cbind(a1,a2,a3) それぞれの行で"a"がある回数を求め、 処理結果をベクター、この場合にはc(1,1,0,1)としてまとめるにはどうすればよいでしょうか
519 名前:132人目の素数さん mailto:sage [2012/05/19(土) 09:22:50.09 ] >>518 ヒントを差し上げるので自力で考えてください。 > length(grep("a",c("b", "c", "d", "f"))) [1] 0 > length(grep("a",c("a", "b", "d", "f"))) [1] 1 > length(grep("a",c("a", "a", "d", "f"))) [1] 2 行単位で処理を繰り返す関数はapply()
520 名前:132人目の素数さん mailto:sage [2012/05/19(土) 15:06:19.07 ] # apply()を使わない手を考えようとしたが無理だった。 a1 <- c("a","b","d","f") a2 <- c("b","a","f","c") a3 <- c("z","m","f","a") dat <- cbind(a1,a2,a3) dat dat == "a" margin.table(dat == "a", margin = 1) apply(dat == "a", MARGIN = 1, FUN = sum)
521 名前:132人目の素数さん mailto:sage [2012/05/19(土) 15:15:20.42 ] >>520 おぉ、それなら、 > rowSums(dat == "a") [1] 1 1 0 1 もうこれでよさそう。 もう少し大きなテーブルでやってみると、 > d <- cbind(sample(letters[1:5],100,replace=TRUE),sample(letters[1:5],100,replace=TRUE),sample(letters[1:5],100,replace=TRUE)) > rowSums(d == "a") [1] 1 1 0 0 1 0 0 1 0 0 2 0 1 0 2 0 0 1 2 0 0 0 1 0 1 1 1 1 1 1 3 1 1 2 0 1 1 [38] 0 2 0 2 1 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 2 0 2 0 0 1 0 0 [75] 0 0 1 0 1 1 0 0 1 1 1 1 1 0 0 1 1 0 0 0 0 0 2 0 1 0 大丈夫そうだ。 # ヒントだけのつもりだったのに。。。
522 名前:132人目の素数さん mailto:sage [2012/05/19(土) 16:52:03.11 ] >>521 その手があったか。 速度的には rowSum() が有利と思われる。
523 名前:132人目の素数さん mailto:sage [2012/05/19(土) 20:49:13.27 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
524 名前:132人目の素数さん mailto:sage [2012/05/19(土) 23:04:29.94 ] >>519-522 みなさんありがとうございます。 applyとrowsum()の両方を使えるようにします。
525 名前:132人目の素数さん mailto:sage [2012/05/20(日) 00:05:52.54 ] >>524 rowSums() だった。大文字小文字を区別するので注意。 entertainment-lab.blogspot.jp/2011/12/rapplyrowsums.html?m=1
526 名前:132人目の素数さん [2012/05/23(水) 06:06:44.69 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
527 名前:132人目の素数さん [2012/05/23(水) 08:15:18.64 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
528 名前:132人目の素数さん mailto:sage [2012/05/24(木) 21:30:30.29 ] すいません、ほんっとに初歩的な質問なんですが… Wikiをざっと見ても行列Tipsを検索しても見当たらないので質問させてください データフレームを数値行列に変換させるにはどうすればよいのでしょうか? 列成分をデータフレームから指定しても、as.matrixなどの変換をしても、 %*%の操作をすると数値行列にしてくださいと言われます とりあえずデータフレームの数値を使って行列計算をしたいので、誰かサクッと教えていただけると助かりますm(_ _) m
529 名前:132人目の素数さん mailto:sage [2012/05/25(金) 01:12:42.02 ] as.matrixの前後でstr()してみて。 多分factorになっていて数字ではないのではないかと思う。
530 名前:132人目の素数さん mailto:sage [2012/05/25(金) 03:03:02.18 ] そうでした そしてこれを数字にするには…
531 名前:132人目の素数さん mailto:sage [2012/05/25(金) 03:04:41.50 ] as.characterしてas.numericで数値化されるかどうか
532 名前:132人目の素数さん mailto:sage [2012/05/25(金) 09:13:25.21 ] >>531 ヘルプには To transform a factor ‘f’ to approximately its original numeric values, as.numeric(levels(f))[f]’ is recommended and slightly more efficient than ‘as.numeric(as.character(f))’. て書いてあるけどね。
533 名前:132人目の素数さん mailto:sage [2012/05/25(金) 15:01:44.54 ] >>532 そんなやり方があるのか、覚えられないなでも
534 名前:132人目の素数さん mailto:sage [2012/05/25(金) 16:48:14.73 ] >>533 今、確認してみたら、as.numeric()だけでも元に数字に戻るね。 > (a <- factor(sample(1:5, 10, replace = TRUE))) [1] 2 3 1 1 1 1 1 5 2 2 Levels: 1 2 3 5 > as.numeric(a) [1] 2 3 1 1 1 1 1 4 2 2 > as.numeric(levels(a))[a] [1] 2 3 1 1 1 1 1 5 2 2 > as.numeric(as.character(a)) [1] 2 3 1 1 1 1 1 5 2 2 前からこうだったっけ? いつの間にか仕様が変わった?
535 名前:532, 534 mailto:sage [2012/05/25(金) 16:50:52.24 ] あっ、ごめん。たまたまsample()の出力がわかりにくかっただけみたいだ。 as.numeric()だと「5」のところが「4」になっているから、 as.numeric(factorクラス)はやっぱり駄目だ。
536 名前:132人目の素数さん mailto:sage [2012/05/25(金) 16:54:11.34 ] もっと顕著に分かるようにしてみた。スレ汚しすまん。 > (a <- factor(sample(1:100, 10))) [1] 24 42 40 33 66 51 20 100 91 26 Levels: 20 24 26 33 40 42 51 66 91 100 > as.numeric(a) [1] 2 6 5 4 8 7 1 10 9 3 > as.numeric(as.character(a)) [1] 24 42 40 33 66 51 20 100 91 26 > as.numeric(levels(a))[a] [1] 24 42 40 33 66 51 20 100 91 26
537 名前:132人目の素数さん [2012/05/27(日) 07:33:26.16 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
538 名前:132人目の素数さん mailto:sage [2012/05/27(日) 08:50:40.45 ] >>536 ご丁寧にどうもです! as.numericだと変な数字になるから悩んでたのですが、そういう方法もあったのですね as.matrixだけでも計算できない場合でもこれでよさそうです ありがとうございました
539 名前:132人目の素数さん [2012/05/29(火) 04:32:41.65 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
540 名前:132人目の素数さん [2012/06/03(日) 20:40:13.33 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
541 名前:132人目の素数さん [2012/06/03(日) 23:20:55.48 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
542 名前:132人目の素数さん [2012/06/04(月) 00:09:13.82 ] pattern <- c("ab","ef") target <- c("abaa","abef","aefe","cafe") のように、2個のベクトルがあるとき、 pattern の各要素が target の各要素に含まれるかどうかを検索したい。 for 文を使わずに済ます、何かいい方法ある? 例えば上の例では、 [1] "abaa" "abef" "aefe" のように出力されたら OK です。 つまり、コマンドライン的なら grep -f pattern target のようなことを R を使ってやりたいわけです。
543 名前:132人目の素数さん mailto:sage [2012/06/04(月) 01:07:52.08 ] >>542 ?grepで意味が分からないなら もうsystem()でいいじゃん
544 名前:132人目の素数さん [2012/06/04(月) 07:28:20.53 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
545 名前:132人目の素数さん [2012/06/04(月) 09:11:46.10 ] >>543 grep() は、pattern の vector 長が 2 以上の場合、最初の要素しか 使われないのです。その上、target 内の要素の位置をベクトルで返す仕様。 せめて、論理値をベクトルで返してくれたらね。 残念なことに R を動かす環境には grep コマンドがなく、 現在は unix 環境で前処理してるけど、面倒臭いなあと思って 良い方法がないか尋ねた次第です。
546 名前:132人目の素数さん mailto:sage [2012/06/04(月) 09:16:32.70 ] あ、grepl は、論理値ベクトルを返してくれるんだね。知らなかったわ。
547 名前:543 mailto:sage [2012/06/04(月) 09:31:57.61 ] grep関数群のヘルプを読んだ上で質問していたのか。 なら、下記はどうだろう? > target[unique(as.numeric(sapply(1:length(pattern), function(i){grep(pattern[i], target)})))] [1] "abaa" "abef" "aefe" で、関数化すれば > f542 <- function(x, y) {target[unique(as.numeric(sapply(1:length(x), function(i){grep(x[i], y)})))]} > f542(pattern, target) [1] "abaa" "abef" "aefe" となる。 apply関数群もなしにすましたいという後出しは禁止。
548 名前:543 mailto:sage [2012/06/04(月) 09:38:53.74 ] おぉ、凡ミス 誤 f542 <- function(x, y) {target[unique(as.numeric(sapply(1:length(x), function(i){grep(x[i], y)})))]} 正 f542 <- function(x, y) {y[unique(as.numeric(sapply(1:length(x), function(i){grep(x[i], y)})))]}
549 名前:542 [2012/06/04(月) 10:34:25.66 ] >>548 なるほど。確かに目的の処理ができます。 どうもありがとう。 私の頭がforで、applyできていませんでした。
550 名前:132人目の素数さん [2012/06/04(月) 12:34:01.89 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
551 名前:132人目の素数さん mailto:sage [2012/06/04(月) 19:03:37.28 ] 頭の体操 > target[unique(c(sapply(pattern, function(x) grep(x, target))))] [1] "abaa" "abef" "aefe"
552 名前:551 mailto:sage [2012/06/04(月) 19:07:14.04 ] こっちのほうがいいかも > unique(c(sapply(pattern, function(x) grep(x, target, value=TRUE)))) [1] "abaa" "abef" "aefe"
553 名前:542 mailto:sage [2012/06/04(月) 19:39:49.43 ] >>552 は、target内の要素が相異なることが前提になりますね。 あとは、target内の要素の順序を保つようにならないものかな。
554 名前:542 mailto:sage [2012/06/04(月) 19:47:57.32 ] まあ、ソートすればOKと。 pattern <- c("ab","ef"); target <- c("abaa","abef","aefe","cafe","abef") target[sort(unique(c(sapply(pattern, function(x) grep(x, target)))))]
555 名前:132人目の素数さん mailto:sage [2012/06/04(月) 19:49:05.43 ] >>551 , 552 あぁ、そうだね。 わざわざ1:lenght(pattern)でやるより、簡潔にsapply(pattern, function(x) ...)でよかった。 ご指摘ありがとう。 > target <- apply(matrix(sample(letters[1:6], 4 * 10000, replace = TRUE), ncol = 4), 1, paste, collapse = '') > pattern <- c("ab","ef") > system.time(target[unique(unlist(sapply(1:length(pattern), function(i){grep(pattern[i], target)})))]) ユーザ システム 経過 0.004 0.000 0.005 > system.time(unique(c(sapply(pattern, function(x) grep(x, target, value=TRUE))))) ユーザ システム 経過 0.004 0.000 0.007 速度的にはあまり変わらないみたいだが。
556 名前:542 mailto:sage [2012/06/04(月) 21:20:11.29 ] ミスがありました。>>553 は unlist しないと駄目でした。 target[sort(unique(unlist(sapply(pattern, function(x) grep(x, target)))))] あと、greplを使えないかなと思い、>>555 氏の方法でランダム生成した サイズ 10000 の target に対し、 target[apply(sapply(pattern,function(x)grepl(x,target)),1,any)] を適用してみましたが、apply系の関数を2重に使うと、当たり前ですが 遅くなりますね。 > pattern <- c("ab","ef") > target <- apply(matrix(sample(letters[1:6], 4 * 10000, replace = TRUE), ncol = 4), 1, paste, collapse = '') > system.time(target[unique(unlist(sapply(1:length(pattern), function(i){grep(pattern[i], target)})))]) user system elapsed 0.01 0.00 0.02 > system.time(target[sort(unique(unlist(sapply(pattern, function(x) grep(x, target)))))]) user system elapsed 0.02 0.00 0.02 > system.time(target[apply(sapply(pattern,function(x)grepl(x,target)),1,any)]) user system elapsed 0.05 0.00 0.05
557 名前:542 mailto:sage [2012/06/04(月) 21:46:39.76 ] rowSums は apply(x,1,sum) のエイリアスだと思ってたら、 rowSums のほうが、だいぶ速いんだね。知らなかったよ。 > system.time(target[apply(sapply(pattern,function(x)grepl(x,target)),1,any)]) user system elapsed 0.05 0.00 0.05 > system.time(target[as.logical(rowSums(sapply(pattern,function(x)grepl(x,target))))]) user system elapsed 0.01 0.00 0.02
558 名前:132人目の素数さん mailto:sage [2012/06/04(月) 21:52:36.36 ] >>557 投稿しようとしたら書かれてた rowSumsはCで書かれてるはず lapplyも同様 sapplyはlapplyを呼んでいる applyはRで書かれていて遅い
559 名前:542 mailto:sage [2012/06/04(月) 22:04:53.47 ] >>558 へえ。applyは、なるべく避けた方が良さげですね。勉強になりました。
560 名前:132人目の素数さん [2012/06/04(月) 23:15:00.88 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
561 名前:132人目の素数さん [2012/06/05(火) 07:03:58.00 ] R.exeのインストールされていないwindowsPCで、R言語で書かれた プログラムを実行する手段はありますでしょうか。 (Fortranの実行ファイルみたいなイメージです)
562 名前:132人目の素数さん [2012/06/05(火) 07:09:23.62 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
563 名前:132人目の素数さん [2012/06/05(火) 15:37:11.75 ] SAS使用歴20年、R半年の者です。 RにはSASで言うところのマクロみたいな物はないでしょうか?
564 名前:132人目の素数さん [2012/06/05(火) 20:30:53.61 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
565 名前:132人目の素数さん [2012/06/05(火) 22:40:37.65 ] R2.15.0でRODBCとXLConnectを同時に使用しようとすると名前空間エラーがでませんか?
566 名前:132人目の素数さん [2012/06/06(水) 00:22:27.48 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
567 名前:132人目の素数さん mailto:sage [2012/06/07(木) 09:54:47.13 ] 放置されて可哀想なので、私には答える能力がないけど、答えてみる。 >>561 ?compiler::compile このあたりを入り口に文献を読んでみて。 ところで、R.exeが入ってなくても、R.dllは入れてもいいの? やりたいことを達成するには、Cなどで書いて、 R.dllが一緒にインストールされるソフトを作成する必要がある気がする。 >>563 SASはほとんど使った経験がないから、回答する資格がないけど、 R言語そのものがRのマクロとも言えます。 お手元のR入門書の「関数化」の項を読んでみてください。 >>565 異なる作者による同じ目的のパッケージだと、そのようなことは起こるかも知れません。 何千もある投稿パッケージの全てにおいて整合性がとれているわけではありません。 再現性が確認できたら、RODBCとXLConnectのメンテナに報告するとよいでしょう。
568 名前:132人目の素数さん [2012/06/09(土) 23:34:52.27 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
569 名前:132人目の素数さん [2012/06/10(日) 06:29:56.30 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
570 名前:132人目の素数さん [2012/06/13(水) 20:54:59.86 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
571 名前:132人目の素数さん mailto:sage [2012/06/18(月) 14:21:06.94 ] Rjpwikiの「Rだけでデータクリーニング」。 真摯な回答をする人が何人もいて、偉いな。
572 名前:132人目の素数さん mailto:sage [2012/06/22(金) 16:40:13.73 ] 荒らされていてここじゃ書きずらくないですか? Rってプログラミング言語なのでプログラムスレッドに移住するそうですよ。 無理にとは言わないので出来たらお願いしますね。 統計解析R たぶんpart3くらい toro.2ch.net/test/read.cgi/tech/1340339592/
573 名前:132人目の素数さん [2012/06/24(日) 14:58:20.27 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
574 名前:542 mailto:sage [2012/06/27(水) 21:28:07.95 ] sqldf package が便利なことに気付いた。
575 名前:132人目の素数さん mailto:sage [2012/06/27(水) 22:14:18.48 ] OpenOffice Calcのファイル.odsから直接Rのデーターフレームに 読み込む方法はないかなあ。 cvsに変換して読み込んでいるけど、ちょっとだけメンドイ。
576 名前:132人目の素数さん mailto:sage [2012/06/28(木) 13:28:01.62 ] >>575 read.ods() from ROpenOffice ttp://www.omegahat.org/ROpenOffice/
577 名前:132人目の素数さん mailto:sage [2012/06/28(木) 16:25:13.46 ] >>576 サンクス! CRAN関連ばかり探していたから引っかからなかった訳だ。 ダウンロードして見たが、CRANじゃないのでインストール方法が判らん。 初心者なんでもうちょっと勉強してみる。
578 名前:132人目の素数さん mailto:sage [2012/06/28(木) 16:40:01.10 ] >>577 $ sudo R CMD INSTALL Rcompression_0.93-2.tar.gz ROpenOffice_0.4-0.tar.gz でOK。 Rcompressionがない状態でROpenOfficeをインストールしようとすると、 $ sudo R CMD INSTALL ROpenOffice_0.4-0.tar.gz * installing to library ‘/usr/local/lib/R/site-library’ ERROR: dependency ‘Rcompression’ is not available for package ‘ROpenOffice’ * removing ‘/usr/local/lib/R/site-library/ROpenOffice’ とおこられちゃう。 Windowsで R CMD INSTALLを使う場合は、 別途Windows toolsetが必要らしい。 ttp://cran.r-project.org/doc/manuals/R-admin.html#The-Windows-toolset
579 名前:132人目の素数さん mailto:sage [2012/06/28(木) 17:39:04.25 ] >>578 重ね重ね丁寧に答えていただき、有難うございます!
580 名前:132人目の素数さん [2012/07/02(月) 23:44:45.34 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
581 名前:575 mailto:sage [2012/07/04(水) 19:45:39.22 ] Window toolsetがイマイチ判らず、ROpenOffice試せずにいたのですが、 Googleドキュメントのspreadsheetで read.csv("URL") から直接データーを 取り込めることを知り、色々試しているところです。 現時点では、spreadsheetのセル内に日本語使用すると、read.csv 失敗します。 英文字のみであれば、問題なく取り込めています。 バージョンの新しRだど2byte文字処理で不具合出るという話もあったので、 現状では出来るだけ日本語使用しないほうが良いみたいですね。 それから、Google spreadsheet をcsv形式でダウンロードしたファイルは、 Shift-JISにデコードし直さないと read.csv で取り込めませんでした。 UTF-8形式だったから読み込めなかったのかなあ。 まあそれでも Google spreadsheet が使えることが判ったので、 データー入力ツールはこれでいくことにします。
582 名前:132人目の素数さん mailto:sage [2012/07/05(木) 09:17:17.75 ] >>581 ヘルプぐらい読んでもよいと思うよ。 fileEncoding: character string: if non-empty declares the encoding used on a file (not a connection) so the character data can be re-encoded. See the ‘Encoding’ section of the help for ‘file’, the ‘R Data Import/Export Manual’ and ‘Note’. encoding: encoding to be assumed for input strings. It is used to mark character strings as known to be in Latin-1 or UTF-8 (see ‘Encoding’): it is not used to re-encode the input, but allows R to handle encoded strings in their native encoding (if one of those two). See ‘Value’.
583 名前:575 mailto:sage [2012/07/05(木) 19:39:30.67 ] >>582 サンクスです! help読んでなかった・・・・ read.casv("file name", encording="UTF-8")で無事読み込めました。 これでだいぶ助かります。
584 名前:132人目の素数さん mailto:sage [2012/07/11(水) 12:33:21.72 ] ttp://www.facebook.com/tadashi.nagao てっきり高校生か未熟な大学生と思っていたら、 案外おっさんだったw 老けて見えるだけかな。 何にせよ、某所には、公共性の高いものだけに絞って書き込んで、 それ以外は、ここ(2ch)に書き込んで欲しいぞ。 c(letters[1:26])とか、初心者や入門者を混乱させることを目的とした 嫌がらせとしか思えないぞ。
585 名前:132人目の素数さん [2012/07/20(金) 12:52:33.55 ] Mac OSX, Cocoa 環境でアプリ内から/Library/Frameworks/R.framework/Resources/にある実行ファイルを叩いてRを使っています。 [ NSTask launch... ] といった感じです。 しかし、スクリプトの末尾にq()を付けてもRの実行ファイルが動いたままになります(アクティビティモニタで確認)。 NSTask のterminateを呼び出しても消えてくれません。 どうもこれが悪さをして意図した動作をしてくれ内容です。 対処方法ご存知のかたがいましたらご回答をお願いします。
586 名前:132人目の素数さん mailto:sage [2012/07/20(金) 13:15:11.45 ] >>585 q()の引数saveを省略すると"ask"になるのでは? ヘルプには | The default is to ask in interactive use but may be overridden by | command-line arguments (which must be supplied in non-interactive | use). って書いてある。 つまり、実験せずに書くが、q()と書いても、入力待ちプロンプトで無限ループになってる気がするぞ。
587 名前:132人目の素数さん [2012/07/20(金) 13:52:36.69 ] >>585 q("no") とすれば、入力待ちにならないのでは?
588 名前:132人目の素数さん mailto:sage [2012/07/20(金) 14:00:19.17 ] レスありがとうございます。 q()の引数にnoを追加しましたが、依然挙動不審です。 どうもコマンド引数に < script.r と指定したスクリプトを読み込めない場合があるようです。 なんこれ? な状況ですが。 最小単位の構成から実験してみます。
589 名前:132人目の素数さん mailto:sage [2012/07/20(金) 14:05:39.29 ] >>585 いずれにせよ、q("no")やq("yes")は関係ない。 それらがなくても処理は終了する。 $ echo 'a <- 1' > /tmp/tmp.R $ echo 'print(a)' >> /tmp/tmp.R $ /Library/Frameworks/R.framework/Resources/R CMD BATCH /tmp/tmp.R out.txt $ tail -7 out.txt > a <- 1 > print(a) [1] 1 > > proc.time() ユーザ システム 経過 0.825 0.051 1.074 ちゃんと終了する。
590 名前:589 mailto:sage [2012/07/20(金) 14:09:30.38 ] あと、 $ ls -l $(which R) lrwxr-xr-x 1 root wheel 47 4 27 16:45 /usr/bin/R -> /Library/Frameworks/R.framework/Resources/bin/R だから、普通に $ R CMD BATCH スクリプト 結果ファイル でいいよ。
591 名前:馬鹿を焼く描写 ◆ghclfYsc82 mailto:age [2012/07/22(日) 16:58:54.77 ] ★★★学歴格差:無意味 ★★★学力格差:尊重しろ ★★★能力格差:最大限利用せよ。 東大や京大にだって馬鹿は沢山居てるんだヨ。 学力格差と能力格差を認める理想社会を実現しろや。要するに: ★★★『馬鹿は無意味なので不必要だから、従って無能は静かにせよ。』★★★ っちゅうこっちゃ。低脳が騒ぐのはワシが許さんのや。 ちゃんと読め。 描
592 名前:132人目の素数さん mailto:sage [2012/07/26(木) 09:47:52.47 ] 行列の作り方について質問です xという1×n個の配列があって、 yという行列の要素を y[i][j] = x[i]+x[j]としたいとき、 y行列を作る文はどのようにしたら良いのでしょうか
593 名前:132人目の素数さん mailto:sage [2012/07/26(木) 10:44:18.59 ] >>592 > n <- 10 > x <- 1:n + 10 > x [1] 11 12 13 14 15 16 17 18 19 20 > outer(x, x, "+") [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 22 23 24 25 26 27 28 29 30 31 [2,] 23 24 25 26 27 28 29 30 31 32 [3,] 24 25 26 27 28 29 30 31 32 33 [4,] 25 26 27 28 29 30 31 32 33 34 [5,] 26 27 28 29 30 31 32 33 34 35 [6,] 27 28 29 30 31 32 33 34 35 36 [7,] 28 29 30 31 32 33 34 35 36 37 [8,] 29 30 31 32 33 34 35 36 37 38 [9,] 30 31 32 33 34 35 36 37 38 39 [10,] 31 32 33 34 35 36 37 38 39 40 こういうことか?
594 名前:132人目の素数さん mailto:sage [2012/07/26(木) 11:55:59.91 ] >>593 さま そうです! ありがとうございます! 助かりました
595 名前:132人目の素数さん mailto:sage [2012/07/26(木) 12:08:58.20 ] >>594 助かったのなら何よりなんだけど、 宿題の類だったのなら、確認もせずに教育の邪魔をして教員に申し訳ない。
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
697 名前:695 mailto:sage [2012/12/25(火) 21:25:57.68 ] >>696 それなら、expand.grid()を再帰的に使えば良い。 入れ子にするのは面倒なので二項演算子を定義すると、 > "%+%" <- function(x, y) apply(expand.grid(x, y), 1, paste, collapse = "") > a[[1]] %+% a[[2]] %+% a[[3]] [1] "147" "247" "157" "257" "167" "267" "148" "248" "158" "258" "168" "268" あとはRecall()を使って、これを一般化すれば良い。 > f696 <- function(x) { f <- function(i){ if(i > 0) return(Recall(i - 1) %+% x[[i]]) + else return("")} + return(f(length(x))) + } > f696(a) [1] "147" "247" "157" "257" "167" "267" "148" "248" "158" "258" "168" "268" 次に質問するときは、最初から>>696 のように書いた方が良いよ。 または、 > forを3重にすればできるのですが、 この具体的なコードを書くとか。抽象的に説明すると、解釈の余地に幅が生まれる。
698 名前:132人目の素数さん mailto:sage [2012/12/25(火) 21:29:26.76 ] >>697 親切にありがとうございます。精進します!
699 名前:695 mailto:sage [2012/12/25(火) 21:31:46.70 ] あぁ、すまない。 n桁の整数は連結させるのではなく、 桁をばらばらにして行列にしたかったのか。 それなら話はもっと簡単だ。 pasteの処理をやめれば良い
700 名前:132人目の素数さん mailto:sage [2012/12/25(火) 22:31:04.88 ] expand.grid(a) (function() as.matrix((expand.grid(a)->x)[do.call(order, x),]))()
701 名前:132人目の素数さん mailto:sage [2012/12/26(水) 09:37:32.22 ] >>700 あぁ、しまった。expand.grid()は3次元次元でも使えたのか。 >>700 さんの別解。rev()を2重に使う。 as.matrix(rev(expand.grid(rev(a))))
702 名前:令嬢 mailto:age [2012/12/26(水) 21:17:40.81 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ . | \ ∠イ ,イイ| ,`-' | | l^,人| ` `-' ゝ | このスレには馬と鹿と豚さんしかいないのね。 | ` -'\ ー' 人 | /(l __/ ヽ、 | (:::::`‐-、__ |::::`、 ヒニニヽ、 | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
703 名前:132人目の素数さん mailto:700 [2012/12/26(水) 23:44:03.23 ] >>701 revの二重使いは柔軟な思考ですね。参考になりました。
704 名前:狢 ◆yEy4lYsULH68 mailto:age [2012/12/27(木) 09:03:34.27 ] 狢 >増田哲也こそ笑い者。 >俺が逮捕されて懲戒免職させる日本こそ沈めって、一発逆転をねらっている愚民そのもの。 >
705 名前:132人目の素数さん mailto:sage [2012/12/29(土) 23:41:13.98 ] データフレームにあるQ01, Q02, Q03, Q04...というような連番の変数って、分析の際にまとめて指定することはできないのでしょうか。 SASでQ01-Q50などとやるようなことをしたいのですが、方法がわかりません。ご存知の方、お教えください。 50項目で主成分分析をしようなどという場合を考えると、気が遠くなります。
706 名前:132人目の素数さん [2012/12/30(日) 07:20:47.80 ] knowledge-bank.org/social/politics/?main=./003//001
707 名前:132人目の素数さん mailto:sage [2012/12/30(日) 08:39:23.19 ] >>705 outcome ~ . って指定するとすべての変数が入る
708 名前:132人目の素数さん mailto:sage [2012/12/30(日) 11:33:43.75 ] >>705 できるけど、"Q01-Q50"のような記法ではできない。 >>707 が助言するようにまるごと入れることもできるし、 paste()とas.formula()をつかって長いformulaを作成することもできる。 formulaのヘルプにある例 > xnam <- paste0("x", 1:25) > (fmla <- as.formula(paste("y ~ ", paste(xnam, collapse= "+")))) y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10 + x11 + x12 + x13 + x14 + x15 + x16 + x17 + x18 + x19 + x20 + x21 + x22 + x23 + x24 + x25
709 名前:132人目の素数さん mailto:sage [2012/12/30(日) 12:25:38.54 ] >>707 ,708 ありがとうございます。 これで、エクセルのオートフィルで変数リスト作成してRのコンソールに貼り付ける作業から解放されます。
710 名前:132人目の素数さん [2012/12/30(日) 14:53:50.70 ] あ
711 名前:132人目の素数さん [2012/12/30(日) 14:55:00.08 ] 私はR言語で学習をしている初心者です。 その中で、irisデータを用いてコマンドの学習をしているのですがエラーが出てしまい先に進めなくなってしまいました。 以下にコマンドを載せますものが私の用いたものです。 library(rpart) library(adabag) data <- iris ndata <- nrow(data) #乱数指定 set.seed(101) #学習データ(data.learn)とテストデータ(data.test)に分ける ridx <- sample(ndata, ndata * 0.5) data.learn <- data[ridx,] data.test <- data[-ridx,] #3-fold crossvalidation、弱識別器の数を10とし、学習データに対しboostingを行ったものをdata.adaCvに代入 data.adaCv <- boosting.cv(Species ~ .,data = data.learn,v=3, mfinal = 10) #テストデータに学習データを照らし合わせる。 resultPredict <- predict(data.adaCv, newdata = data.test, type="class") というコマンドですが「predict」を行った際に 以下にエラー UseMethod("predict") : 'predict' をクラス "character" のオブジェクトに適用できるようなメソッドがありません というエラーが出てしまい、ネットや参考文献を見てもわからず投稿させていただきました。 もしこのエラーの解決方法がお分かりのかたがいらっしゃいましたらよろしくお願いします。
712 名前:695 mailto:sage [2012/12/30(日) 20:21:19.02 ] >>711 >以下にエラー UseMethod("predict") : >'predict' をクラス "character" のオブジェクトに適用できるようなメソッドがありません 分かるも何も、書いてあるままだよ。 > class(data.adaCv) [1] "list" boosting.cv()は、predictメソッドをもつクラスを吐かず、単純にlistクラスを吐く。 それだけの話。
713 名前:132人目の素数さん mailto:sage [2012/12/30(日) 20:22:36.64 ] >>712 名前欄にゴミが入ったorz
714 名前:132人目の素数さん [2012/12/30(日) 23:08:32.14 ] >>712 さん>>711 です。回答ありがとうございます。 実行してみたところおっしゃたように"list"と出力されました。 ということはboosting.cvで得られた変数(data.adaCv)を用いての predictはできないということでしょうか? また、もしできるのであればそのコマンドと使用例を教えていただきたいです。 宜しくお願いします。
715 名前:132人目の素数さん mailto:age [2012/12/31(月) 15:27:18.84 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ . | \ ∠イ ,イイ| ,`-' | | l^,人| ` `-' ゝ | このスレには馬と鹿と豚さんしかいないのね。 | ` -'\ ー' 人 | /(l __/ ヽ、 | (:::::`‐-、__ |::::`、 ヒニニヽ、 | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
716 名前:132人目の素数さん mailto:sage [2013/01/02(水) 11:10:09.30 ] ビギニングス to Rって読んだけど プログラミング言語の解説というかRをアプリケーションとしてみた解説って感じで 言語的なことはほとんど勉強になりませんでしたね。 やっぱ俺はS言語の本読むべきでしたね。
717 名前:132人目の素数さん mailto:sage [2013/01/04(金) 09:40:38.25 ] >>716 ttp://www.amazon.co.jp/dp/4873115795 ttp://www.amazon.co.jp/dp/4621061313
718 名前:132人目の素数さん mailto:sage [2013/01/04(金) 10:07:16.37 ] >>714 Rjpwikiの方に書いたからもういいと思うのだけど、念のため。 boosting.cvの中身は見た? bootsting()とpredict.boosting()を中で使っているよね。 > boosting.cv function (formula, data, v = 10, boos = TRUE, mfinal = 100, coeflearn = "Breiman", control) { vardep <- data[, as.character(formula[[2]])] n <- length(vardep) if (v > n) stop(" v should be in [2, n]") if (v < 2) stop(" v should be in [2, n]") predclass <- rep("O", n) for (i in 1:v) { test <- v * (0:floor(n/v)) + i test <- test[test < n + 1] fit <- boosting(formula, data[-test, ], boos, mfinal, coeflearn, control = control) fit.predict <- predict.boosting(fit, data[test, ]) predclass[test] <- fit.predict$class cat("i: ", c(i, date()), "\n") } tabla <- table(predclass, vardep, dnn = c("Predicted Class", "Observed Class")) error <- 1 - sum(predclass == vardep)/n output <- list(class = predclass, confusion = tabla, error = error) } <environment: namespace:adabag> このfit.predictが欲しいなら、自分でbooting.cv()をコピーして編集すればよい。 そうじゃないなら、何をしたいのか、もっとはっきり伝えること。
719 名前:132人目の素数さん mailto:sage [2013/01/05(土) 03:55:18.11 ] >>716 Rノウハウ本の購入層はやりたい解析があってそこまでたどり着ければいい って人が大多数なんじゃないかな、んでそれにあわせた内容になってると +αを求める人は多くは無いと思う
720 名前:132人目の素数さん [2013/01/05(土) 12:25:03.16 ] <スプライン補間:yからxを予測する方法> 質問です。 x<-c(1,2,3,4,5,6) y<-c(1,4,9,7,6,8) というデータがあったとして、 sp<-smooth.spline(x,y) predict(sp,x=2.5) とすると、xが2.5のときのyの値は下記のように予測できます。 $x [1] 2.5 $y [1] 6.923206 逆にyからxを求める方法がお分かりの方、いらっしゃいましたらお教えください。
721 名前:132人目の素数さん mailto:sage [2013/01/05(土) 14:02:30.39 ] >>720 stats:::predict.smooth.spline.fitにざっと目を通した限りは、 できなさそうだけど。 GAMFIT (lib.stat.cmu.edu/general/gamfit )の中までは読んでいない。 sp$fitの中身を使って数学的に解くか、xを細かい間隔でpredict()に与えて、 与えられたyに最も近いものを選ぶしかなさそうだが、 ちゃんとした識者に答えてもらった方がよいかも。 後者なら、 predict.y <- function(y){ x0 <- c(1, 2, 3, 4, 5, 6) y0 <- c(1, 4, 9, 7, 6, 8) sp <- smooth.spline(x0, y0) i <- seq(from = min(x0), to = max(x0), by = 0.0001) Y <- predict(sp, i) j <- which.min((Y$y - y)^2) return(list(y = y, x = i[j], fitted = Y$y[j])) } こんな感じでよいのでは。 > predict.y(2.345) $y [1] 2.345 $x [1] 1.4487 $fitted [1] 2.345004
722 名前:132人目の素数さん mailto:age [2013/01/05(土) 14:47:31.66 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
723 名前:132人目の素数さん [2013/01/05(土) 16:46:53.71 ] >721 ありがとうございました。参考になりました。
724 名前:132人目の素数さん mailto:age [2013/01/05(土) 20:24:09.52 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ . | \ ∠イ ,イイ| ,`-' | | l^,人| ` `-' ゝ | このスレには馬と鹿と豚さんしかいないのね。 | ` -'\ ー' 人 | /(l __/ ヽ、 | (:::::`‐-、__ |::::`、 ヒニニヽ、 | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
725 名前:132人目の素数さん mailto:sage [2013/01/07(月) 16:01:51.28 ] >>716 いまさらだけどビギニングス ガイド イン Rのミススペルな。
726 名前:132人目の素数さん mailto:sage [2013/01/07(月) 18:48:16.16 ] >>725 ttp://www.amazon.com/dp/0387938362 これのことか? でも「ビギニングス ガイド イン R」じゃないぞ。
727 名前:132人目の素数さん mailto:sage [2013/01/09(水) 09:49:00.54 ] またミスすぺるブチこみました。 正確には ビギニングス ガイド イン R でした。
728 名前:132人目の素数さん mailto:sage [2013/01/11(金) 23:37:12.84 ] 以下のようなデータフレームを仮定 コード 日付1 日付2 日付3 データ1 データ2 データ3 0001 201201 201103 201003 52 33 34 0002 201203 NA NA 22 NA 3 0003 201103 201001 200901 32 2 73 0004 201003 200905 200804 98 87 88 0005 NA NA NA NA NA NA 0006 201105 201102 201009 NA 32 55 日付XとデータXが対応 日付1>日付2>日付3となっている この時、日付が201101よりも大きい日付に対応するNAでないデータを取得したい 即ち望まれる出力は以下の通り コード 日付 データ 0001 201201 52 0002 201203 22 0003 201103 32 0004 NA NA 0005 NA NA 0006 201102 32 このように取得したい場合どのような操作をすればよいでしょうか? 実際には数千のコードがあるのでループで一行ずつ回すのはあまり現実的ではありません。 よろしくお願いします
729 名前:132人目の素数さん mailto:sage [2013/01/12(土) 03:32:35.10 ] >>728 宿題じゃないよね? > a <- scan(text="0001 201201 201103 201003 52 33 34 + 0002 201203 NA NA 22 NA 3 + 0003 201103 201001 200901 32 2 73 + 0004 201003 200905 200804 98 87 88 + 0005 NA NA NA NA NA NA + 0006 201105 201102 201009 NA 32 55") Read 42 items > b <- data.frame(t(matrix(a, ncol = 6))) > names(b) <- c("コード", paste0("日付", 1:3), paste0("データ", 1:3)) で、ヒントは次の通り。 > m <- ((b[, 2:4] > 201101) & (b[, 2:4] & b[, 5:7])) * b[, 2:4] > m[(m == 0)] <- NA > i <- apply(m, 1, which.max) > unlist(sapply(1:length(i), function(j){ifelse(length(i[j][[1]]) == 0, NA, (b[j, 5:7])[i[j][[1]]])})) [1] 52 22 32 NA NA 32 > unlist(sapply(1:length(i), function(j){ifelse(length(i[j][[1]]) == 0, NA, (b[j, 2:4])[i[j][[1]]])})) [1] 201201 201203 201103 NA NA 201102
730 名前:132人目の素数さん mailto:sage [2013/01/13(日) 13:37:10.99 ] 正規分布の乱数を作って、確率密度(面積)の合計が1になるのを 確認したいのですが、↓だと何故か2になってしまいます。 どこがダメなんだしょう? x = rnorm(500) hist(x, prob=T) sum(hist(x, prob=T)$density)
731 名前:132人目の素数さん mailto:sage [2013/01/13(日) 13:52:12.00 ] >>730 乱数の分散を変えてみると、理解出来るのでは? > set.seed(1234); sum(hist(rnorm(500, sd = 2), prob = TRUE)$density) [1] 1 > set.seed(1234); sum(hist(rnorm(500, sd = 5), prob = TRUE)$density) [1] 0.2 > set.seed(1234); sum(hist(rnorm(500, sd = .1), prob = TRUE)$density) [1] 20
732 名前:132人目の素数さん mailto:sage [2013/01/13(日) 15:13:55.16 ] >>731 わからないよ (´・ω・`) sum(hist(x, prob=T)$density) と sum(hist(x, prob=T)$count/500) は同じになると思ったんだけど、違うってことですかね??
733 名前:132人目の素数さん mailto:sage [2013/01/14(月) 13:24:07.24 ] >>732 730 の最後の式では、確率密度の積分 ∫f(x) dx = 1 の dx の部分が 抜けてしまっています。 hist を用いる場合、dx に相当する値は diff(hist(x, prob=T)$breaks) で求めることができます。 x <- rnorm(500) h <- hist(x, prob=T) sum(h$density * diff(h$breaks))
734 名前:132人目の素数さん mailto:sage [2013/01/14(月) 22:54:04.42 ] >>733 理解できました! ありがとうございます!
735 名前:132人目の素数さん mailto:sage [2013/01/16(水) 12:15:17.92 ] 質問失礼します 言語を英語にすると、立ち上げた際のメッセージなどはきちんと英語になるのですが、 cor.test()などの関数を実行すると出力が日本語メッセージでかえってきます 日本語のwinOSでRの返答を完全に英語にする方法をどなたかご存知ないでしょうか? ちなみに↓サイトの起動アイコンカスタマイズの方法で英語化しています ttp://minato.sip21c.org/swtips/R.html
736 名前:132人目の素数さん mailto:sage [2013/01/16(水) 12:41:27.37 ] >>735 妙な挙動ですね。WindowsだとLANG=Cがどこかで強制的に書き換えられるのでしょうか。 Sys.getenv()で、メッセージが日本語になる前後でLANGやLC_ALLを確認してみてはどうでしょうか。 LANGを確認するには、Sys.getenv("LANG")とすればOKです。 なお、メッセージの言語を指定する環境変数はLC_MESSAGESです。 環境変数によるローケルの管理を知っておいても損はないと思います。 例えば、ttp://www.itmedia.co.jp/enterprise/articles/0605/16/news027.html の「環境変数の階層」とかに目を通すとか。
737 名前:736 mailto:sage [2013/01/16(水) 12:54:26.20 ] 追記。 ttp://www.itmedia.co.jp/enterprise/articles/0605/16/news027.html を読んで思い出したが、昔、起動アイコンに、LANG=Cじゃなくて、language=enをつけていた。 「R language=en」でググるとCRANのR for Windows FAQがヒット。 ttp://cran.r-project.org/bin/windows/base/rw-FAQ.html ... if you want to ensure that menus and messages are in (American) English, LANGUAGE=en. とか、 You can ensure that R uses English messages by appending LANGUAGE=en to the shortcut you use to start R, or setting it in the Rconsole file. って書いてあるよ。FAQに。
738 名前:132人目の素数さん mailto:sage [2013/01/16(水) 23:32:51.99 ] >>729 遅くなりましたがありがとうございました。 無事動作しました。
739 名前:728 mailto:sage [2013/01/16(水) 23:41:01.80 ] すいません。 再び質問です。 横型ではなく縦型の場合はいかがでしょうか? 以下のようなデータフレームを仮定します コード 日付 データ 0001 20120101 332 0001 20120111 542 0002 20120201 5554 0002 20120301 52334 0002 20120511 15234 0003 20121101 35234 0003 20121201 NA 0004 20120501 75234 0005 20120601 NA 各コードに対してデータがNAでない日付が最大の値を取得したいのです。 NAしかない場合にはその値を取得します。 上記の場合以下の値が期待されます。 コード 日付 データ 0001 20120111 542 0002 20120511 15234 0003 20121101 35234 0004 20120501 75234 0005 20120601 NA ヒントだけでも結構ですのでよろしくお願いいたします。
740 名前:132人目の素数さん mailto:sage [2013/01/17(木) 00:37:07.40 ] mac版のRでの質問、失礼します。 ローカルに保存したCSVファイルではなく、直接ダウンロード、読込みをするファイルの文字化けを解消したいのですが、 エンコードを変える記述では上手くいきません。 ご教示いただけないでしょうか? 例) url.data <- "maxis.muam.jp/e/fund/download/" eMAXIS <- read.table(url.data, sep=",", stringsAsFactor = FALSE)
741 名前:132人目の素数さん mailto:sage [2013/01/17(木) 14:18:27.23 ] >>740 fileEncoding = "SJIS" オプションとかではダメってこと?
742 名前:132人目の素数さん mailto:sage [2013/01/17(木) 14:25:14.37 ] >>739 plyrにあるddply()でIDで分割してwhich.max()で日付が最大のところのindexをとって、その場所の数字を取ればいいかな。 NAの処理を条件分岐を使わないでやるなら、ID日付でソートしたうえで、ddply()の中でzooのna.locf()を使えばいいか? 結構重くなってしまうかも。
743 名前:132人目の素数さん mailto:age [2013/01/17(木) 19:30:55.74 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ . | \ ∠イ ,イイ| ,`-' | | l^,人| ` `-' ゝ | このスレは馬と鹿と豚さんばかりね。 | ` -'\ ー' 人 | /(l __/ ヽ、 | (:::::`‐-、__ |::::`、 ヒニニヽ、 | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
744 名前:132人目の素数さん mailto:sage [2013/01/17(木) 22:40:29.47 ] >>742 ありがとうございます。 ddplyで無事いけました。 20万行程度のデータフレームですが、数秒で完了するので問題ありませんでした。
745 名前:132人目の素数さん mailto:sage [2013/01/18(金) 01:06:24.60 ] >>741 すみません。勘違いしてました。 オプションでいけました。 ご指摘ありがとうございます。
746 名前:132人目の素数さん mailto:sage [2013/01/26(土) 23:13:16.48 ] RMySQLがインストールできず困っています。 > install.packages("RMySQL", type="source") Installing package(s) into ‘D:/program_files/R-2.15.2/library’ (as ‘lib’ is unspecified) URL 'cran.rstudio.com/src/contrib/RMySQL_0.9-3.tar.gz ' を試しています Content type 'application/x-gzip' length 165363 bytes (161 Kb) 開かれた URL downloaded 161 Kb * installing *source* package 'RMySQL' ... ** パッケージ 'RMySQL' の解凍およびMD5サムの検証に成功しました checking for $MYSQL_HOME... D:program_filesMySQL MYSQL_HOME is set but does not point to a directory ERROR: configuration failed for package 'RMySQL' * removing 'D:/program_files/R-2.15.2/library/RMySQL' Warning in install.packages : 命令 'D:/PROGRA~1/R-215~1.2/bin/x64/R CMD INSTALL -l "D:/program_files/R-2.15.2/library" C:\Users\<<User>>\AppData\Local\Temp\RtmpmAoBu3/downloaded_packages/RMySQL_0.9-3.tar.gz' の実行は状態 1 を持ちました Warning in install.packages : installation of package ‘RMySQL’ had non-zero exit status The downloaded source packages are in ‘C:\Users\<<User>>\AppData\Local\Temp\RtmpmAoBu3\downloaded_packages’ が出て、MYSQL_HOMEの値がダメなんだと思いますが、mysql自体にはパスが通るので合ってるはずです。どこが悪いんでしょうか?
747 名前:132人目の素数さん mailto:sage [2013/01/27(日) 08:48:14.43 ] >>746 これってソースしかないの?
748 名前:746 mailto:sage [2013/01/27(日) 23:38:33.32 ] ごめんなさい。自己解決しました やっぱりMYSQL_HOMEの値がおかしかったようです。
749 名前:132人目の素数さん mailto:sage [2013/02/01(金) 10:37:40.43 ] win版のRについて質問があります Rjpwikiの時間の数値変換を、使っているデータの時間フォーマットにあわせてアレンジしてるんですが date2num <- function(x, ...) { .day <- as.numeric(substr(x,10,11)) .hour <- as.numeric(substr(x,13,14)) .minute <- as.numeric(substr(x,16,17)) .second <- as.numeric(substr(x,19,20)) .year <- as.numeric(substr(x,2,5)) .mon <- as.numeric(substr(x,7,8)) a <- .day - 1 b <- .year - 1970 c <- 1 if(.mon==2) c <- 31 else if(.mon==3) c <- 59 else if(.mon==4) c <- 90 else if(.mon==5) c <- 120 else if(.mon==6) c <- 151 else if(.mon==7) c <- 181 else if(.mon==8) c <- 212 else if(.mon==9) c <- 243 else if(.mon==10) c <- 273 else if(.mon==11) c <- 304 else if(.mon==12) c <- 334 else if(.mon==1) c <-0 else m <-1
750 名前:132人目の素数さん mailto:sage [2013/02/01(金) 10:40:10.94 ] file<-sprintf("%03d",.mon) cat(file) # 画面に出力 cat("\n") # 改行コード file<-sprintf("%03d",a) cat(file) # 画面に出力 cat("\n") # 改行コード file<-sprintf("%03d",c) cat(file) # 画面に出力 cat("\n") # 改行コード c<-c+a file<-sprintf("%03d",c) cat(file) # 画面に出力 cat("\n") # 改行コード return(b*31556926+c*86400+a*86400+.hour*3600+.minute*60+.second) } これに" 2012/11/30 16:50:00"のような時刻データを date,sum 2012/12/05 20:30:00,17012 2012/12/05 20:30:00,16512 2012/12/05 19:53:00,16512 2012/12/05 19:53:00,16012 以上のようなデータフレームで入力しているのですが 月を調べているif文が1度しか動きません if文が問題なのだと思っているのですがどう直せばよいものでしょうか
751 名前:132人目の素数さん mailto:sage [2013/02/01(金) 11:19:52.70 ] >>750 よく分からない。date2numの引数はxだけなのに、なんで、dateとsumのデータフレームを入れるの? それに、月を7文字目と8文字目ってしているけど、6文字目と7文字目じゃないの? > date2num("2012/12/05 20:30:00") 以下にエラー if (.mon == 2) c <- 31 else if (.mon == 3) c <- 59 else if (.mon == (from #11) : TRUE/FALSE が必要なところが欠損値です [snip] 再現できるように質問しようよ。 もっと言えば、 > as.numeric(as.POSIXlt("2012/12/05 20:30:00")) [1] 1354707000 とかを使うのは嫌いなの?
752 名前:132人目の素数さん mailto:sage [2013/02/01(金) 12:21:01.54 ] すみません 単純に使い方が分からず力技でどうにかやってみた感じだったのでこういう形になっていました 自分の力が及ばないせいでデータファイルを作るとき時刻データの前にどうしても消えない半角スペースがあって それで6番目と7番目ではなく7番目8番目になっていますorz それと > as.numeric(as.POSIXlt("2012/12/05 20:30:00")) [1] 1354707000 これをみて目からうろこでした、自分のやってたことの馬鹿さ加減にあきれました 御助言ありがとうございました
753 名前:132人目の素数さん mailto:sage [2013/02/01(金) 13:26:36.91 ] >>752 >時刻データの前にどうしても消えない半角スペース 関数を自作するレベルなのになぜw 例えば、 > (a <- c(" 2013-02-01 13:21:17", "2013-01-01 09:21:17", " 2013-03-01 11:21:17")) [1] " 2013-02-01 13:21:17" "2013-01-01 09:21:17" " 2013-03-01 11:21:17" こんな感じで、時刻前に空白があったりなかったりするなら、 > library(stringr) > str_trim(a) [1] "2013-02-01 13:21:17" "2013-01-01 09:21:17" "2013-03-01 11:21:17" これでよいのでは? オプションなしでは、前後の空白を取り除くから、前だけならそのように指定する。
754 名前:132人目の素数さん mailto:sage [2013/02/01(金) 13:49:46.73 ] なるほど、Rの方でtrimするって手もありましたね なにからなにまでありがとうございます
755 名前:132人目の素数さん mailto:sage [2013/02/01(金) 14:11:14.62 ] >>754 >Rの方でtrimするって手もありましたね 別にRの外でも、どこででも空白を削除すれば良いと思う。 例えば下記のようなcsvがあったら、 $ cat tmp.csv "A","B","C" "BE DAC","Jan",0.35 "AC BDE","Feb",0.34 " EBACD","Mar",0.66 " DABEC","Apr",0.44 "BEA CD","May",0.84 "CDA EB","Jun",0.3 "EDCAB ","Jul",0.59 "CBEA D","Aug",0.53 "ECDA B","Sep",0.44 "ABDCE ","Oct",0.33 $ sed -e 's/¥" ¥([^ ,]*¥)/¥"¥1/g' tmp.csv "A","B","C" "BE DAC","Jan",0.35 "AC BDE","Feb",0.34 "EBACD","Mar",0.66 "DABEC","Apr",0.44 "BEA CD","May",0.84 "CDA EB","Jun",0.3 "EDCAB ","Jul",0.59 "CBEA D","Aug",0.53 "ECDA B","Sep",0.44 "ABDCE ","Oct",0.33 とすると3,4行目にあった文字列前の空白を消せる。
756 名前:132人目の素数さん mailto:sage [2013/02/02(土) 10:13:07.27 ] Win版Rで質問失礼します cse.naro.affrc.go.jp/takezawa/r-tips/r/43.html 上記サイトの複数の列に対してソートを行う場合は関数を使用して 同じように a b c 11 1 2 11 12 1 1 12 9 2 4 9 10 2 3 10 7 3 6 7 8 3 5 8 5 5 8 5 6 5 7 6 4 7 9 4 1 9 12 1 2 9 11 2 3 9 10 3 というデータフレームをaを昇順に整列しaで同じものがあった場合はcの小さいものを上にするようにしたいのですが In Ops.factor(mmm, each) : < 因子に対しては無意味です というエラーが出てうまくいきません どこが問題でしょうか?
757 名前:132人目の素数さん mailto:sage [2013/02/02(土) 10:18:28.45 ] データフレーム訂正します a b c 1 2 11 1 1 12 2 4 9 2 3 10 3 6 7 3 5 8 5 8 5 5 7 6 7 9 4 9 12 1 9 11 2 9 10 3 です 実際にはデータフレーム名test1で sortlist <- order(test1$a, pmax(test1$a,test1$c)) test1[sortlist,] 以上に実行しました
758 名前:756,757 mailto:sage [2013/02/02(土) 10:45:26.08 ] すいません 自己解決しました
759 名前:132人目の素数さん mailto:sage [2013/02/02(土) 11:01:54.12 ] >>758 複数カラムをキーにしたソートなんて考えたことがなかった。 いったいどんなときに必要になるの? # 表計算ソフトのように「見せる」目的なら理解できるけど。
760 名前:132人目の素数さん mailto:sage [2013/02/02(土) 11:09:52.57 ] 順位相関などを見るときにそういう処理をする可能性はあると思う
761 名前:132人目の素数さん mailto:sage [2013/02/02(土) 12:03:35.44 ] 再び質問失礼します a,b 3,5 2,3 2,2 2,1 1,3 1,1 a列は必ず降順になっているときに b列が降順になっていないとき この例では5行目1,3ですが これを削除したいのですが 関数化して自動で判別して削除したいです どのようにしたら良いでしょうか
762 名前:132人目の素数さん mailto:sage [2013/02/02(土) 12:16:56.00 ] 複数の列でのソートは doByパッケージのorderBy()が使いやすい。
763 名前:132人目の素数さん mailto:sage [2013/02/02(土) 12:36:52.26 ] >>761 pmax()というのを初めて知った。 bの列を一行下げて頭にInfをいれたものをcとしてデータフレームにいれる、bとcに対してpmax()して、結果をdとしてデータフレームにいれる。dがbと一致しているところを落とす。 でどうだろう?
764 名前:761 mailto:sage [2013/02/02(土) 13:18:11.28 ] >>763 御助言ありがとうございます しかし当方最近Rを使いだしたもので何をどうすればいいのか分かりません・・・ あつかましいのですが具体的にどんな感じに書けばいいでしょうか
765 名前:132人目の素数さん mailto:sage [2013/02/02(土) 14:23:56.55 ] >>764 dat = read.csv(text = "a,b 3,5 2,3 2,2 2,1 1,3 1,1") dat dat$c = c(Inf , head(dat$b, -1)) dat with(dat, pmax(b, c)) dat$d = with(dat, pmax(b, c)) == dat$c dat dat[dat$d,] を想定。関数化されてないけど。もっと大きい例で動くはチェックしていない。
766 名前:132人目の素数さん mailto:sage [2013/02/02(土) 15:20:57.47 ] >>763 さんの解答にインスパイアされた別解。 > dat = read.csv(text = "a,b + 3,5 + 2,3 + 2,2 + 2,1 + 1,3 + 1,1") > dat[c(TRUE, diff(dat$b) < 0), ] a b 1 3 5 2 2 3 3 2 2 4 2 1 6 1 1
767 名前:132人目の素数さん mailto:sage [2013/02/02(土) 15:35:34.61 ] >>766 の追記。 bが例えば、10, 8, 6, 9, 8, 5とかになっていると、 >>766 の方法を1回だけ適用したのでは通用しない。 > d2 a b 1 3 10 2 2 8 3 2 6 4 2 9 5 1 8 6 1 5 > d2[c(TRUE, diff(d2$b) < 0), ] a b 1 3 10 2 2 8 3 2 6 5 1 8 6 1 5 そのため、十分な回数を繰り返し適用することになる。 > sum(diff(d2$b) > 0) [1] 1 これが0になるのが、終了条件。
768 名前:132人目の素数さん mailto:sage [2013/02/02(土) 19:57:32.38 ] cummin を使えばいいか?
769 名前:132人目の素数さん mailto:sage [2013/02/03(日) 12:03:27.26 ] これなら1,9,8,1の並びも一回で行けるか? dat = read.csv(text = "a,b 3,5 2,3 2,2 2,1 1,9 1,8 1,1") dat dat$cummin <- cummin(dat$b) dat$correct <- with(dat, b == cummin) dat dat[dat$correct == TRUE,]
770 名前:132人目の素数さん mailto:sage [2013/02/03(日) 13:34:45.07 ] r-base-core がみつからないとか言われるでござる…
771 名前:132人目の素数さん mailto:sage [2013/02/03(日) 22:46:23.58 ] ビッグデータに関する本で 膨大なデータを統計処理して活用するために RやJavaのhadoopが使える人材が求められてるって書いてあったな
772 名前:132人目の素数さん mailto:sage [2013/02/05(火) 08:32:45.91 ] すみません、グラフで箱の左下をゼロで直交するようにしたいのですが (軸オンリーではなく箱で書きたいのです)、 Baseパッケージで何か良い方法ありませんでしょうか? 今は↓のように書いていますが、ablineで線を引くとはみ出してしまう等手間がかかるので、 簡単にかける方法をご存知の方おりましたらお願いします plot(x=0,y=0,xlim=c(0,6),ylim=c(0,3),lwd=2,ann=F,cex.axis=1,las=1,type="n",axes=F) axis(side=1,seq(0,6),lab=F,pos=0,tck=0); axis(side=2,seq(0,3),lab=F,tck=0,pos=0) axis(side=3,at=0:6,lab=F,tck=0,pos=3); axis(side=4,at=0:3,tck=0,lab=F,pos=6) axis(side=1,at=0,tck=0,pos=0) >>735-37 レス忘れていました、申し訳ありません Rconsoleが2つ存在し妙な読み込みがされていたのが原因でした アドバイスありがとうございました
773 名前:132人目の素数さん mailto:sage [2013/02/05(火) 09:04:30.55 ] >>772 > plot.new() > box() とすると、左下に原点が来るけど。 > points(0, 0)
774 名前:132人目の素数さん mailto:sage [2013/02/05(火) 09:17:22.01 ] >>773 の追記 R的なアプローチとして、複雑な手続きを関数化して簡単にする方法がある。 f772 <- function(){ plot(x=0,y=0,xlim=c(0,6),ylim=c(0,3),lwd=2,ann=F,cex.axis=1,las=1,type="n",axes=F) axis(side=1,seq(0,6),lab=F,pos=0,tck=0); axis(side=2,seq(0,3),lab=F,tck=0,pos=0) axis(side=3,at=0:6,lab=F,tck=0,pos=3); axis(side=4,at=0:3,tck=0,lab=F,pos=6) axis(side=1,at=0,tck=0,pos=0) } とスクリプトの最初に書いておけば、 > f772() 以降は、これだけでよい。Baseパッケージのコマンドを探すよりも簡単。
775 名前:132人目の素数さん [2013/02/06(水) 03:22:55.78 ] xaxs/yaxs (AXis Style)のことか plot(1,1, xaxs = "i", yaxs = "i", xlim = c(0,1), ylim = c(0,1), tck = 0) ?parでbaseの細かいオプションの説明がみられる。 これも役立つかも www.stat.auckland.ac.nz/~paul/RG2e/chapter3.html
776 名前:132人目の素数さん mailto:age [2013/02/06(水) 06:43:29.05 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
777 名前:132人目の素数さん mailto:sage [2013/02/06(水) 17:31:58.49 ] >>773-775 レスありがとうございます 非常に参考になりました
778 名前:132人目の素数さん mailto:sage [2013/02/15(金) 09:19:22.40 ] barplot と plotを重ねるときに、 軸(目盛の位置)がずれてしまうのですが、 揃える方法ってあるのでしょうか? barplot(1:10, xlim=c(0,10), ylim=c(0,10)) par(new=T) plot(1:10, col=2, xlim=c(0,10), ylim=c(0,10))
779 名前:132人目の素数さん mailto:sage [2013/02/15(金) 10:52:07.52 ] >>778 よく分からないが、 > a <- barplot(1:10); points(a, 1:10, col = 2) こうしたいの?
780 名前:132人目の素数さん mailto:sage [2013/02/15(金) 11:18:55.04 ] >>779 縦軸の0の位置が、barplot と plot で違うんで揃えたいんです。
781 名前:132人目の素数さん mailto:sage [2013/02/15(金) 11:34:08.72 ] >>780 いや、そもそも揃っているけど。 > a <- barplot(1:10); points(a, rep(0, 10), col = 2)
782 名前:781 mailto:sage [2013/02/15(金) 11:39:38.94 ] >>780 あっ、分かった。plot()を無理矢理使っているんだ。 addオプションをサポートしているクラス以外では、plot()を重ねるのは禁止。 想定外の使用形態。 描画を重ねるとき、普通はpoints()やlines()やaxis()を使う。
783 名前:132人目の素数さん mailto:sage [2013/02/15(金) 11:44:27.17 ] >>782 なるほど。ありがとうございます。
784 名前:781 mailto:sage [2013/02/15(金) 11:53:12.37 ] ちょっと説明が不親切だったかも知れないから、追記。 例えば、棒グラフと折れ線グラフを重ねたかったら、次のようにする。 x <- 1:10 n <- length(x) y <- jitter(rep(10, n), 10) op <- par(mai = c(1.02, 0.82, 0.82, 0.82)) a <- barplot(x, ylim = c(0, 13)) points(a, y, type = "l", lty = 2) axis(4, label = (0:6) * 2 / 100, at = (0:6) * 2, las = 2) par(op)
785 名前:132人目の素数さん mailto:sage [2013/03/09(土) 12:17:39.65 ] 結局、Rで中程度規模のデータを高速に集計できるパッケージ(関数)ってなんなの? plyr : 中規模以上のデータで遅すぎ(idataframe使ってもそこまで変わらず) aggregate : 普通 sqldf : まとも、でもRっぽくない。 他にお勧めがあったら教えて
786 名前:132人目の素数さん mailto:sage [2013/03/13(水) 01:03:30.88 ] 教えて下さい。 rawデータをcharacterにしたいです。 chromeの localstorageのデータを整理しようとしています。 ドメインごとのsqlite形式?ファイルがあり、ItemTableというテーブル名で、 key,valueの項目でデータが入っています。 valueのデータ形式がblob型です。 RSQLiteで、 ret <- dbGetGuery(con, "select value ItemTable") でデータフレームでデータが返って来ました。 class(ret[1,1][[1]]) >> raw それで、これから先、 ret[1,1][[1]] を characterにしたのですが、 どうすればいいのでしょうか?
787 名前:132人目の素数さん mailto:sage [2013/03/13(水) 12:10:10.92 ] >>786 内部でSQLiteを使っているソフトが最近多いなと思っていたが、 Chromeもそうなんだ。 再現して検証できない質問なので、適当な回答になるけど、 as.character(ret[1,1][[1]])でどのようなエラーになりますか?
788 名前:786 [2013/03/13(水) 12:57:52.15 ] >>787 ありがとうございます。 chrome側のconsoleで、 localstorage.hoge = "abc" として、 sqlteデータを入れた時に、 R側でそのblob型のデータ(abcというデータ, 他のsqlite viewerで確認済み) を読むと、 > ret[3,2][[1]] [1] 32 00 30 00 31 00 33 00 2d 00 30 00 33 00 2d 00 31 00 32 00 54 00 31 00 34 [26] 00 3a 00 33 00 35 00 3a 00 35 00 30 00 2e 00 31 00 34 00 33 00 5a 00 となり、 as.character(ret[3,2][[1]]) [1] "32" "00" "30" "00" "31" "00" "33" "00" "2d" "00" "30" "00" "33" "00" "2d" [16] "00" "31" "00" "32" "00" "54" "00" "31" "00" "34" "00" "3a" "00" "33" "00" [31] "35" "00" "3a" "00" "35" "00" "30" "00" "2e" "00" "31" "00" "34" "00" "33" [46] "00" "5a" "00" となります。 こういうのを16進数のbyteデータというのですよね? これをcharacterにencode?してやりたいです。
789 名前:132人目の素数さん mailto:sage [2013/03/13(水) 13:54:01.89 ] >>788 元データのエンコードが分からないと厳しいと思います。日本語でしょうか。 英語(ASCII)なら、 rawToChar(ret[3,2][[1]])とするとうまく行くかも知れません。
790 名前:789 mailto:sage [2013/03/13(水) 15:25:46.98 ] >>788 ちゃんと読んでいませんでした。申し訳ない。 これは「abc」という文字列なんですね。 ちなみに"abc"の8進数表記は次の通り $ echo abc | od -to1c 0000000 141 142 143 012 a b c \n 10進数表記 $ echo abc | od -td1c 0000000 97 98 99 10 a b c \n 16進数表記 $ echo abc | od -tx1c 0000000 61 62 63 0a a b c \n >>788 を見る限り、abcじゃなさそうに思える。 16進数と仮定すると、 2 NUL 0 NUL 1 NUL 3 NUL - NUL 3 NUL - NUL 1 NUL 2 NUL T NUL 1 NUL 4 NUL : NUL 3 NUL 5 NUL : NUL 5 NUL 3 NUL . NUL 1 NUL 4 NUL 3 NUL Z NUL となるが、NULを飛ばすと、2013-3-12T14:35:53.143Zで、日付時間っぽいな。 これ以上は分からないので、識者の方にパス。
791 名前:132人目の素数さん mailto:sage [2013/03/13(水) 15:28:55.56 ] >>789 ありがとうございます。 かなり前進しました。 さきほど、データの提示は、間違え(一つずれたものでした) "abc"というデータを入れたときは、 ret[4,2][[1]] [1] 61 00 62 00 63 00 rawToChar(ret[4,2][[1]],multiple=T) [1] "a" "" "b" "" "c" "" なぜか、空文字が入りますがOKです。 また、日本語の場合ですが、 私のwindows環境の文字コードは、cp932だと思います。 >Sys.getlocale() [1] "LC_COLLATE=Japanese_Japan.932;LC_CTYPE=Japanese_Japan.932;......." それで、データとして "あい" と localstorageに入れて、 RSQLiteでとりだしたところ、 ret[5,2][[1]] [1] 42 30 44 30 となり、 これは、文字コード表を見ると、 unicode (あい) => UTF16形式 3042 3044 と、 2バイトの間隔で前後入れ替えしたものに見えます。 mapply(function(a,b)paste(b,a,sep=""), x[seq(1,3,2)], x[seq(2,4,2)]) [1] "3042" "3044" これを、"あい" という文字で、 できれば、UTF8形式でファイルにおとしたいのですが、、
792 名前:132人目の素数さん mailto:sage [2013/03/13(水) 15:31:21.55 ] >>789 さん 返事が入れ違いになりました。 "abc"ではなく、日付でした。 間違えてました。
793 名前:132人目の素数さん mailto:sage [2013/03/13(水) 21:35:55.82 ] データの補間について質問させてください 下記のようなCSVファイル(,区切り)が存在します。ID、NAME、MONTHは各情報の最初の行にしかデータとして入っておりません。 ---------- データ部 ---------- ID, NAME, MONTH, PRICE, NUMBER AAA1, Apple, 1, 100, 10 , , , 98, 12 , , , 102, 8 AAA2, Orange, 2, 120, 3 , , , 130, 4 , , , 112, 8 ------------------------------ これをデータフレームとして読み込みます。 ID NAME MONTH PRICE NUMBER AAA1 Apple 1 100 10 "" "" "" 98 12 "" "" "" 102 8 AAA2 Orange 2 120 3 "" "" "" 130 4 "" "" "" 112 8 ....... となります。 ここでID NAME MONTHを上の行から補間したいのですが、どのようにすればよいでしょうか? ID NAME MONTH PRICE NUMBER AAA1 Apple 1 100 10 AAA1 Apple 1 98 12 AAA1 Apple 1 102 8 AAA2 Orange 2 120 3 AAA2 Orange 2 130 4 ........ としたいです。補間さえできれば形式はデータフレームでなくても結構です。よろしくお願いいたします。
794 名前:786 [2013/03/13(水) 22:48:40.11 ] >>793 stackoverflow.com/questions/2776135/last-observation-carried-forward-in-a-data-frame を参考にするといいよ。 ""をNAに変えておかないといけないので、 df[ df == ""] <- NA としておいて、 library(zoo) na.locf(df) まだ、rawデータからcharacterに変えられてない、、、
795 名前:132人目の素数さん mailto:sage [2013/03/14(木) 09:59:33.96 ] >>793 単純にコピーするだけでは駄目なの? > sample <- data.frame(matrix(c("AAA1","Apple",1,100,10, + "","","",98,12, + "","","",102,8, + "AAA2","Orange",2,120,3, + "","","",130,4, + "","","",112,8), ncol = 5, byrow = TRUE)) > names(sample) <- c("ID", "NAME", "MONTH", "PRICE", "NUMBER") > sample ID NAME MONTH PRICE NUMBER 1 AAA1 Apple 1 100 10 2 98 12 3 102 8 4 AAA2 Orange 2 120 3 5 130 4 6 112 8 > for(i in 1:(nrow(sample) - 1)){ + if(sample[i+1, 1] == ""){ + sample[i+1, 1:3] <- sample[i, 1:3] + } + } > sample ID NAME MONTH PRICE NUMBER 1 AAA1 Apple 1 100 10 2 AAA1 Apple 1 98 12 3 AAA1 Apple 1 102 8 4 AAA2 Orange 2 120 3 5 AAA2 Orange 2 130 4 6 AAA2 Orange 2 112 8
796 名前:793 mailto:sage [2013/03/14(木) 22:00:08.24 ] >>794 ありがとうございます。 無事うまくいけました。 質問に答えることができればよかったのですが、 残念ながら私にはわかりません。申し訳ありません。 >>795 実際のデータは100万行ほどありますので、 ループを回すと試してはいませんが時間がかかるかと。。。。
797 名前:794 mailto:sage [2013/03/15(金) 15:10:27.37 ] >>796 いえいえ。 791の疑問は、説明の仕方が悪い気がする。 単純な文字コードの問題なのだろうけど、そこのところがよくわかてっない。 他の言語でやりますのでOKです。
798 名前:132人目の素数さん [2013/04/02(火) 00:12:39.59 ] DMwR::SMOTE関数のエラーについて教えてください。 以下の処理を実行するとエラーになります。 library( DMwR ) work00 <- data.frame( kbn=c(rep("A",12),rep("B",3)) , tuikavar=c(rnorm(12,20),rnorm(3,2)) ) SMOTE( kbn ~ . , data=work00 , perc.over=200 , perc.under=100 ) >以下にエラー `colnames<-`(`*tmp*`, value = c("kbn", "tuikavar")) : >'names' 属性 [2] はベクトル [1] の長さと同じでなければなりません ドキュメントを読みつくしたつもりなのですが、バグとしか思えません。 詳しい方、このバグは既知のものなのでしょうか?それとも回避方法があるのでしょうか?
799 名前:132人目の素数さん mailto:sage [2013/04/02(火) 09:47:57.43 ] >>798 その作者のTorgoさんに聞く方がここで聞くよりも早いと思うぞ
800 名前:狢 ◆yEy4lYsULH68 mailto:age [2013/04/02(火) 16:08:36.00 ] 狢 > 1 :西独逸φ ★:2007/08/05(日) 05:47:55 ID:???0 >徳島県警阿南署などは5日未明、東京都足立区千住寿町、 >筑波大学准教授、増田哲也容疑者(50)を >県迷惑行為防止条例違反(痴漢行為)容疑で逮捕した。 > >調べでは、増田容疑者は、4日午後4時20分ごろから約50分にわたり、 >JR牟岐線の列車内で、県内の >専門学校生の女性(21)の胸や太ももなどを触った疑い。調べに対し、 >「夏休み期間に、講演活動を兼ね >て旅行していた。好みの女性だったのでムラムラした」と話しているという。 >
801 名前:132人目の素数さん mailto:sage [2013/04/03(水) 23:34:54.43 ] R 3.0.0 キタ━━━━(゚∀゚)━━━━!!
802 名前:132人目の素数さん mailto:sage [2013/04/04(木) 12:51:51.74 ] 3.0.0に上げたら、保存されたワークスペースに非互換部分が含まれていたみたいで、 R (正確にはR.app GUI)が起動しなくなったw コンソールの方は使えたので、すぐに対処できたけど、R初心者は要注意だな。 バージョン上げたら、ライブラリのコンパイルをやり直さなくてはいけないので面倒だよな。 configureにオプションを渡さないといけないのもあるし。 > nrow(library()$results) [1] 267 みんなは、いくつぐらいなの?
803 名前:132人目の素数さん mailto:sage [2013/04/04(木) 13:07:53.30 ] rstudioの対応待ち
804 名前:132人目の素数さん mailto:sage [2013/04/04(木) 13:11:23.49 ] メインPCのlibraryは262 3.1とか3.0.2が出るまでとりあえず様子見だな
805 名前:132人目の素数さん mailto:sage [2013/04/04(木) 22:31:14.28 ] > nrow(library()$results) [1] 2961 Rcmdrのせいなのか随分と多い。 自分の環境はR version 2.13.0 (2011-04-13)
806 名前:132人目の素数さん mailto:sage [2013/04/05(金) 01:02:41.34 ] 背景色とフォントカラーを変えたいんだけど、etc\Rconsoleを設定しても全然反映されない font = TT MS Gothic points = 20 background = black normaltext = white usertext = LightGreen highlight = Red style = normal # Style can be normal, bold, italic 何が悪いんだろう
807 名前:132人目の素数さん mailto:sage [2013/04/05(金) 07:49:15.90 ] 回答になっていなくて申し訳ないのだが、R以外のエディタを使うのが良いかと デフォルトエディタらしいといえばそうなのだが、Rエディタはあまりに低機能過ぎる モニタが大きい人ならRstudio、ノーパソ派ならNotepad++ & NppToR、あたりが個人的おすすめ
808 名前:132人目の素数さん mailto:sage [2013/04/05(金) 09:33:00.80 ] >>806 は?ターミナルエミュレータの設定にRは関係ないだろ、と思ったら、 > font = TT MS Gothic Windowsな方でしたか。 私も回答になっていなくて申し訳ないけど、 背景やフォントカラー、構文色強調を自由に設定できるEmacs+ESSがお薦め。 Emacsは初期学習コストがかかるが、超絶便利。 初めてESSを使ったときは、あまりの便利さに気を失いそうになった。
809 名前:132人目の素数さん mailto:sage [2013/04/05(金) 15:31:00.18 ] >>803 3.0.0で使えているみたいだけど。 RStudio Ver.0.97.336
810 名前:132人目の素数さん mailto:sage [2013/04/06(土) 08:59:21.34 ] RStudioで普通に問題なく使えてる。一応2.15.3も残してはあるが3.0.0 インスコした後まだ立ち上げる機会がない。
811 名前:132人目の素数さん mailto:sage [2013/04/06(土) 13:04:58.94 ] なんか、ノートン先生に怒られた…(;・∀・) 絶対パス: c:\program files\r\r-3.0.0\bin\i386\r.dll ____________________________ ____________________________ コンピュータの評価日 2013/04/05 12:12:11 前回の使用 利用不能 起動項目 いいえ 起動済み はい ____________________________ ____________________________ 少数のユーザー Norton コミュニティの 50 人未満のユーザーがこのファイルを使いました。 ____________________________ ごく新しい このファイルの更新日はここ 1 週間以内です。 ____________________________ 高 これは危険度が高いファイルです。 ____________________________ 脅威の詳細 SONAR 保護はコンピュータ上で疑わしいプログラムの活動を監視します。 ____________________________ 元ファイル: r.dll
812 名前:132人目の素数さん mailto:sage [2013/04/07(日) 12:09:36.61 ] 怪しいサイトから拾い食いしただろ
813 名前:132人目の素数さん mailto:sage [2013/04/07(日) 17:13:19.15 ] よほどヘビーにR使う人でなければ、Emacs系はコスト>利益 「 (略) 作業効率が上がる(ように錯覚でき)ます. (RjpWikiより)」
814 名前:132人目の素数さん mailto:sage [2013/04/08(月) 11:00:43.17 ] >>813 逆。試しに使ってみるとか、RCommanderしか使わないとか、 年に数回だけ使うとかそんなレベルなら、 コンソール/RCommanderでもよいが、 ある程度使うなら、試行錯誤するためにも、エディタは必須。 常用しているテキストエディがなければ、微妙だけど。
815 名前:132人目の素数さん mailto:sage [2013/04/08(月) 12:42:11.56 ] 3.0.0は「だいぶ2系が落ちついたから番号あげてみた」程度だって公式では言ってたけど、非互換なところたくさんあるの?
816 名前:132人目の素数さん mailto:sage [2013/04/09(火) 19:51:21.47 ] >>815 過去にsave.image()しまくった資産があるのでなければ、 基本的に非互換なんて気にしなくてもよいと思うよ。 でも、Ubuntuのリポジトリは2.15.3のままだな。 単に遅れているだけか、何か理由があるのかな。 Debianの方は3.0.0が来た。
817 名前:132人目の素数さん mailto:sage [2013/04/10(水) 01:47:48.52 ] ベン図を描きたいのだけど、お勧めある? 因みに2.15だとgplotsが無いみたいでvenn()は使えないみたいでした。
818 名前:132人目の素数さん mailto:sage [2013/04/10(水) 08:58:38.30 ] >>817 > RSiteSearch("Venn") でヒットした関数やパッケージは試した上での質問かどうかで回答は変わるけど、 VennDiagramパッケージのような専用パッケージはどう?
819 名前:132人目の素数さん mailto:sage [2013/04/10(水) 10:52:02.97 ] ttp://www.biomedcentral.com/1471-2105/12/35 >>817-818 同じくVennDiagramに一票
820 名前:132人目の素数さん mailto:sage [2013/04/12(金) 10:13:54.71 ] ちょっと教えてくれろ。 x <- rnorm(100);hist(x, prob=T, ann=F) ;par(new=T) ;plot(density(x),col="red") こんな感じの正規分布っぽいグラフでXの範囲指定して、 Y軸0から確率密度の赤線までの面積を表したいんだけど、 ここを色づけする方法が判らない、 例えばXが1~2の間を塗るとき具体的にどんなコードになるか教えて下さい。
821 名前:132人目の素数さん mailto:sage [2013/04/12(金) 15:37:00.07 ] ペイント使って塗ったらいいじゃん
822 名前:132人目の素数さん mailto:sage [2013/04/13(土) 00:06:14.95 ] >>820 dat <- with(density(rnorm(100)),data.frame(x,y)) library(ggplot2) ggplot(data = dat, mapping = aes(x = x, y = y)) + geom_line() + layer(data = dat, mapping = aes(x=ifelse(x >1 & x < 2 ,x,0), y=y), geom = "area", geom_params=list(fill="red",alpha=0.5)) + scale_y_continuous(limits = c(0,max(dat$y)))
823 名前:132人目の素数さん mailto:sage [2013/04/13(土) 10:48:56.27 ] >>822 ありがとう
824 名前:132人目の素数さん mailto:sage [2013/04/13(土) 23:48:23.04 ] ここがRの本スレか。 R自体統計プログラムなのかグラフィックソフトウェアなのかよくわからんけど本スレは数学板なのね。 数学嫌いだわ…。Rまで嫌いになりそう
825 名前:132人目の素数さん mailto:sage [2013/04/13(土) 23:52:28.69 ] むしろ数学界隈以外での R の用途が気になるな。なんでもできるっちゃそうなんだけど。
826 名前:132人目の素数さん mailto:sage [2013/04/14(日) 00:04:02.13 ] >>825 学生時代数学にはつらい思いでがあって… 数学的能力が全くダメでもいろんな運の巡り合わせでRと向き合わなきゃいけなくなる人もいますんでご容赦を
827 名前:132人目の素数さん mailto:sage [2013/04/14(日) 05:11:16.14 ] 統計学もグラフィックスも数学じゃないよ。数学者はそんなもの相手にせんわ
828 名前:132人目の素数さん [2013/04/14(日) 07:37:32.81 ] カール・フリードリヒ・ガウス...
829 名前:132人目の素数さん mailto:age [2013/04/14(日) 11:00:26.70 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
830 名前:132人目の素数さん mailto:sage [2013/04/15(月) 07:52:40.36 ] あるデータをplot(density(data))でグラフ化してます。 任意のX区間を指定して面積を求めようとしてるのですが、やり方を教えて下さい。 また、正規分布だと、dnorm(c(0,0.2,0.4,0.6,0.8,1))とやればX値に対応したY値がでるみたいですが、 任意のデータをプロットしている場合、X値からY値を取り出すにはどうやればいいのでしょうか?
831 名前:132人目の素数さん mailto:sage [2013/04/15(月) 08:54:48.29 ] 規制されて書き込めなかった。 普通はpolygon()を使う >>820 > x <- rnorm(100);hist(x, prob=T, ann=F) > a <- density(x) > polygon(a$x,a$y, col="red")
832 名前:132人目の素数さん mailto:sage [2013/04/15(月) 09:12:17.89 ] >>830 こちらも、>>831 と同じ要領。 > data <- runif(100) > plot(density(data)) > a <- density(data) として、念のために幅を確認して、 > head(diff(a$x)) [1] 0.003151153 0.003151153 0.003151153 0.003151153 0.003151153 0.003151153 横が0.003151153と分かったので、矩形の面積を計算して合計。 > sum(diff(a$x)[1] * a$y ) [1] 1.000883
833 名前:132人目の素数さん mailto:sage [2013/04/15(月) 09:21:38.51 ] >>825 統計的裏付けのない実感で申し訳ないが、 確かに、10年くらい前は数学・数理統計の関係者がほとんどを占めていたと思う。 しかし、ここ5年ほどで急速に、Rをプログラミング言語としてとらえるIT関係のユーザが増えたし、 心理学研究や医学研究にも地道に普及している。 Rユーザ会の出席者を見渡しても、数学関係者はマイノリティになりつつあると思う。
834 名前:132人目の素数さん mailto:sage [2013/04/15(月) 12:01:36.43 ] こんな記事もある 「次に来る」プログラミング言語を占ってみる ttp://www.atmarkit.co.jp/ait/spv/1201/17/news133_2.html 今後の動向を予感させるもう1つの動きは、プログラミング言語「R」が2012年1月のTIOBE PCIの19位に入ったことだ。 (中略)Rが話題になり始めた背景には、最近注目を浴びているある種のコンピュータ技術がある。 大量のデータを効率良く処理する技術だ。「ビッグデータ」という言葉を耳にした方は多いと思う。(中略) RはGoogleが社内のデータ解析に活用しているなど、ビッグデータを扱う企業において重要なプログラミング言語となっており、今後広い範囲で話題になる可能性がある。
835 名前:132人目の素数さん mailto:sage [2013/04/15(月) 21:12:53.25 ] 後藤大地ってどんなやつかと思ったら小物もいいとこじゃん。聞く耳もつに 値しないね。
836 名前:132人目の素数さん mailto:sage [2013/04/15(月) 23:59:44.25 ] ちゃんと取材にいってる人だと思うが、どちらかというとPCハードの記者さんだよね。 事実として、企業のコミットが増えてlinuxみたいにRもコミッター増えてんじゃないの?