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
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もコミッター増えてんじゃないの?