07/11/15 14:12:18
遅くなりました。
こちらは現在、Cygwinが最新、R が 2.2.1。>>514氏と変わらない環境のはず
です。しかし、こちらは動かない。Cygwin と R のバージョンに問題があるの
ではなく、私の環境に問題がある可能性が大きくなってきました。
ちなみにこちらは、Cygterm と PuTTY を使っています。
>>518
$ export で出てくるものは、どう見ても R と関係ないものばかりでした。
>>519氏の環境では、その状態でちゃんと動いているそうですが。
全部で80行以上ありますが、さらしますか?
>>516
たしかに、bash から Rterm を直接呼び出しているだけです。
スクリプトファイルを作る必要があるのですか?
どのようなものでしょうか?
URLリンク(web.archive.org)
> また、Cygwin の画面から Rterm.exe と入力し、ターミナルモードで起動する
> ことも出来ます。
とあるので、シェルスクリプトなど必要ないと思っていました。
523:132人目の素数さん
07/11/15 14:40:12
いくつかの数値からなるベクトルがあるのですが、前後の数字の比率を
計算したいと思っています。今は以下のようにやっているのですが、
なにかもっとよい方法はないでしょうか。
a <- c(1,2,3,4,5,6,7)
b <- c(100, a) # 100は適当な数字。
bb <- c(a, 100)
bb / b
524:132人目の素数さん
07/11/15 14:47:10
>>523
やりたいことがよくわかんない。
> a <- c(1,2,3,4,5,6,7)
> a[2:7]/a[1:6]
[1] 2.000000 1.500000 1.333333 1.250000 1.200000 1.166667
↑これを計算しているだけに見えるんだけど。
525:524
07/11/15 14:50:19
汎用化するなら
> hoge <- function(x) {
+ x[2:length(x)]/x[1:length(x)-1]
+ }
> hoge(a)
[1] 2.000000 1.500000 1.333333 1.250000 1.200000 1.166667
526:132人目の素数さん
07/11/15 15:04:37
>>524,525
ありがとうございます!
なるほど、、、ついついforループ等で回して、
などという処理を考えてしまったのですが、
a[2:7]/a[1:6]
というのは全然分かりませんでした。
527:132人目の素数さん
07/11/15 15:33:24
Cygwinにwindowsのpathは自動的には渡されないので
コマンド入力による起動はただの偶然でしょうね
bachでしっかりpathを設定してexportするだけで問題は解決するんじゃないでしょうか
528:132人目の素数さん
07/11/15 15:56:22
試しにRとRGUIをPATH設定しEXPORTした上で起動しましたが問題なく開きます
R2.5.0 Cygwinは最新版ですね
plot(1:10,1:10)も問題なく開きます
ただしENTERキーのテンキー側は使えなくなるようです
これはプログラム上の問題でしょうかね
529:132人目の素数さん
07/11/15 16:12:10
最後に考えられるのは権限の問題ですね
RやCygwinにアクセスする権限を持っているでしょうか
530:528
07/11/15 16:17:16
おそらく、それらにアクセスするための明確な権限はもっていないと思われますが、
それがこの問題を引き起こす根本的な原因なのかははっきりと断言できません。
531:488
07/11/15 16:26:00
ありがとうございます。ちょっと時間がないので手短に。
>>527
パスは通っているのです。R のインストール先を c:\cygwin 自体にしている
ので、Rterm.exe 等は c:\cygwin\bin に置かれます。Cygwin環境では /bin
となる場所ですね。
ところで不思議なのは、
~ $ which Rterm の結果が
/usr/bin/Rterm となることです。
/bin/Rterm となるかと思ったのですが。
もしかしたら、これがトラブルの原因と関係あるかもしれません。
ただ、~ $ which Rgui も /usr/bin/Rgui なのに、問題なく立ち上がるので、
関係ないのかもしれませんが。
532:132人目の素数さん
07/11/15 16:30:36
Cygwinの仕様でRootが/usrになります
mountで調べると良いでしょう
cygwin内にインストールしていなくても/cygdrive/以降に通常のディレクトリを入れて
PATHを通せばCygwinからアクセスできます
533:488
07/11/15 16:38:14
>>532
すみません、確かに関係ないようですね。失礼しました。
URLリンク(www.sixnine.net)
~ $ mount
C:\cygwin\bin on /usr/bin type system (binmode)
...
~ $ /bin/Rterm.exe
Fatal error: you must specify '--save', '--no-save' or '--vanilla'
534:132人目の素数さん
07/11/15 21:02:47
通りすがりです。
R も cygwin も使ったことないのですが、ちょっと興味を持って
R の調べものをしてたら目にとまったので。
>>488
> ~ $ /bin/Rterm.exe
> Fatal error: you must specify '--save', '--no-save' or '--vanilla'
エラーメッセージ中で指示されてる --save だの何だのという
オプションはスクリプトを実行する時に使うオプションのようですが、
このメッセージが出たということは R は tty を勘違いしてる。
スクリプトを実行するときは
$ R --save < a.r
のような感じでリダイレクトしますよね?そういう状態だと R は勘違いをしてるわけです。
例えば --save オプションを付けて plot 命令を実行したとき、
そのフォルダに何か保存されてませんか?
原因は R にあるのではなく、恐らく cygwin のほうにあって、
多分 cygwin の isatty がアヤシイと思いますよ。
回避策は知りません。どうしても解決をしたいのなら cygwin に詳しい人のところに行って
質問するほうが良いかも知れませんね。
535:132人目の素数さん
07/11/15 21:05:28
オプションつけずにそのエラーが出てるんだからちがうべ
536:132人目の素数さん
07/11/15 21:10:36
>>535
だからさ。
・オプションを付けずに実行するとエラーが出る。
・オプションを付けて実行すると動くことは動くがグラフは表示されてない。
というんでしょ。 tty の勘違いの典型例。
537:488
07/11/15 22:27:33
>>234->>236
ありがとうございます。
確かに、Rterm --save で plot(0:10, 0:10)を実行したところ、
カレントディレクトリに Rplots.ps というファイルが出来ていて、
GostScriptで開いたところ、まさにそのグラフのPostScriptファイルでした。
isatty はよく知らないので、ちょっと勉強して考えてみます。
538:132人目の素数さん
07/11/15 22:44:19
>>537
あ、いや、isatty というのはプログラムの中から呼び出す C のライブラリ関数なわけで。
知らないなら知らないでもいいかと。
問題点は
「R がリダイレクト (<のこと) ではないのに、リダイレクトと勘違いをしてる」
というところにあるかもしれない、ということだけ理解していただければ。
ちょっと調べてみたら cygwin を使う人は emacs を動かすとき
$ CYGWIN=tty emacs
とするらしい。これでうまく動くかどうかは望み薄かもだけど、
そういうふうに環境変数の設定でなんとかできるかも知れません。
上の方で cygwin + R が上手く動いているというかたがおられるようなので、
お願いしてみて、環境変数を付き合わせてみるというのも一つの手カモ。
539:132人目の素数さん
07/11/15 22:51:46
postgreSQL用に使ってたからCygserverとか動くようになってるけど関係あるかな
540:132人目の素数さん
07/11/15 22:55:48
今 ググったら cygserver のクライアント側では
export CYGWIN=servere
の設定をするとあるね。2004 年ごろの日記だったけど。
541:132人目の素数さん
07/11/15 23:02:53
>521
URLリンク(phi.med.gunma-u.ac.jp)
> 2chへの書き込みはしたくないので,ここにメモするが,整数扱いさせればいい。
> as.integer(400000000)を付値した変数は, printさせても4e+08とはならず,
> 400000000となる。この場合,例えば,as.integer(3)を掛けても整数型のまま計
> 算できるが,as.integer(400000000)*as.integer(400000000)は桁溢れを起こして
> NAとなってしまうので注意が必要。整数型を超える大きさの数になってしまう場
> 合は,以前メモした多倍長演算ライブラリgmpを使うしかないだろう。
だそうですよ。
542:132人目の素数さん
07/11/15 23:39:09
>>522
Cygwinの起動方法が違うのかも。
こちらはPuTTYではありません。
よく知らないのですが、バッチファイルで
bash --login -i
というように起動しています。
543:132人目の素数さん
07/11/15 23:43:27
大元の発言,400000000をそのまま表記したいと言うこと?
as.integer(400000000)
でもいいだろうし,最近のバージョンだと
400000000L
でいいじゃない?
発言の糸川からぬ。
> x <- 400000000L
> x
[1] 400000000
> as.integer(400000000)
[1] 400000000
> 400000000L
[1] 400000000
544:132人目の素数さん
07/11/15 23:51:29
今時 R-2.2.0 とは,時代遅れもはなはだしい
545:132人目の素数さん
07/11/16 14:32:36
Rjpwikiに「整数表記できる最大の数値」を書き込んだ人はここを見ているな。
546:132人目の素数さん
07/11/16 20:09:05
>>544
まあ確かに時代遅れだな。でもメインに解析に使うマシンではないので
基本的なことができればいいからな。
Rはインストールする度にパスの変更が必要になるので手軽に
バージョンアップしにくいんだよね。
(それでも必要なマシンはバージョンアップするけど)
547:132人目の素数さん
07/11/17 22:20:22
点を、(x1 x2)∈[-5,5]×[-5,5]の範囲に1000個、図示したいんですが、Rだとどうやってできますか?
x1=seq(-5,5,len=1000)
x2=seq(-5,5,len=1000)
plot(x1,x2)
みたいにしたんですが、1次関数みたいになってしまった、欲しいのと違います。
・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・
こんな感じにしたいのです
548:132人目の素数さん
07/11/17 23:48:20
>>547
理論的には
x1=seq(-5,5,len=1000)
x2=seq(-5,5,len=1000)
plot(x1,x2,type="n")
for (i in 1:1000) for (j in 1:1000) points(x1[i],x2[j])
とすればできるが、PCがうんともすんとも言わなくなるかもね。
100x100でもそれなりに時間かかるからそれから増やしてみたら。
また、1000x1000ならほとんどまっくろになると思う。
549:132人目の素数さん
07/11/18 00:01:50
>>548
実は、2変数のnewton法で、初期値に対する収束値の関係を2次元で図示(どの値に収束するかを色等で明示せよ)するっていうレポをやってるんです。
問題では、(x1 x2)∈[-5,5]×[-5,5]の範囲に10000個初期値をとってやるんですが、その10000個に対する収束値はプログラムで求まってます。
これってどんな風に図示したらいいんですか?収束値によって初期点を色でわけるっていうのを考えたんですが、いまいちうまくかけません。
プログラムの結果は
初期点 収束値
-5 -5 x1 x2
・
・
・
・
・
5 5 x1 x2
みたいにテキストに保存されてます。
ちなみに収束値は解いてるのが2次なんで、2種類しかないです
550:132人目の素数さん
07/11/18 01:44:42
収束値で色分けするので何が問題なの?
プロットの問題ではなく色分けの仕方が分からないの?
551:132人目の素数さん
07/11/18 12:02:22
>>550
そうです!
552:132人目の素数さん
07/11/19 00:02:50
Rで2変数関数のプロットをするにはどうするんですか?
たとえば
x1^2+x^2=6
とかの円をかきたいんですが
553:132人目の素数さん
07/11/19 20:11:05
>>551
色分けって
plot(iris[,1],iris[,2],col=ifelse(iris[,5]=="setosa","red",ifelse(iris[,5]=="versicolor","blue","green")))
のこと?
554:132人目の素数さん
07/11/19 21:34:54
>>552
> x <- (-20:20)/8
> y <- sqrt(6-x^2)
Warning message:
計算結果が NaN になりました in: sqrt(6 - x^2)
> plot(c(x,x),c(y,-y),type="l")
> symbols(0,0,circles=sqrt(6),add=TRUE,inches=FALSE)
なかなか興味深い。
555:132人目の素数さん
07/11/20 00:38:17
>>554
きれいにつなげようと思ったら
x <- (-20:20)/20*sqrt(6)
y <- sqrt(6-x^2)
plot(c(x,-x),c(y,-y),type="l")
だな。
556:132人目の素数さん
07/11/21 18:11:16
>>488
bash@cygwinにて
cd /usr/local/bin
ln -s /cygdrive/c/Program\ Files/R/R-2.6.0/bin/R.exe
としてうごかんか?
リンクが張られるからこれでRは動かしてるよ。
セーブがされないのはcygwinとwindowsのパスの取り扱いの違い
が悪さをしてる臭いよ。cygwinは"/"だけどwindowsは"c:\"だか
らね。cygwinとwindowsを混在させて使うときに頭が痛い問題な
のよ。
557:かげちよ
07/11/24 00:42:28
(;'ー`)cygwin portsにRのコンパイル済みパッケージがあるぞ
558:132人目の素数さん
07/11/24 16:58:17
>>556
あるのは知ってるけど、意図的に使ってない。
559:132人目の素数さん
07/11/24 18:19:46
あっそ、意図的にねえ
そりゃよかったね
560:132人目の素数さん
07/11/25 00:03:38
意図的ってなんで?
多分Cygwin用に何か足されてると思うけど
561:132人目の素数さん
07/11/25 14:28:43
aparchFitがfSeriesの中に入ってないのですが
どうやったら使えるのですか?
562:132人目の素数さん
07/11/25 16:24:05
cygwinはなるべく使いたくないということだけだよ。
vmware+ubuntuの方でも使ってるけど。cygwinって、
コンパイル速度を見てても遅いんだよね。windows(without cygwin)
版とcygwin版との比較はしてないけど。あとは、vistaでx11が使えな
いという問題もあるが。
563:132人目の素数さん
07/11/25 16:27:03
windows版インストーラーはversion 2.6.0なんだよね。
564:132人目の素数さん
07/11/25 16:40:58
(;'ー`)つーか、Rだのscilabだのlinux由来のアプリ突っ込むときは
C直下にbinだのディレクトリ作ってそこにインストールするけどねえ
ディレクトリ名でけっこう問題出るし
そういうアプリを使うときはcygwinのshellから叩くと一緒に扱えて便利だなあ
565:132人目の素数さん
07/11/25 16:48:24
>>564
うん。cygwinとwindowsってその辺がイライラする問題だよな。
だから、基本はvmware+ubuntu+emacs(ess)でやってる。ディス
クアクセス以外はほとんど速さが変わらないから。unix系はunix
上の方が安心して使えるわ。
入れ方は簡単で、vmware playerとubuntuの日本サイトからvmware
用の仮想ファイルを取ってくればそれでおしまいです。そこから、
sympaticを使ってインストールすれば2.5になるし、ソースからコン
パイルするもよしです。
566:132人目の素数さん
07/11/25 21:15:52
colinuxからntfsマウントして自由に出来ればな
あれ、まだハンパだから
567:132人目の素数さん
07/11/26 10:37:30
colinuxはまだ成熟してないと思ってたから導入は見合わせていたけど、
vmware player + ubuntuの組み合わせでさらに便利にするのはvmware tools
を導入することかな。ちょっと敷居が高いけど、ここまでできれば、
windows/ubuntuでドラッグ&ドロップ、カット&ペーストができるようにな
る。マウスカーソルの移動も全く問題なくなるし。windowsのアプリの一つと
してubuntuが使えるね。大体320M~512Mあればかなり余裕なんで、windows
vista+2Gの環境ならば余裕がある。vmware tools の導入方法は調べたら紹介
してるところが多いから見てみればいいです。
568:132人目の素数さん
07/11/26 10:42:41
320~512MというのRAMの設定ね。わかりにくい書き方だった。
ちなみに、メモリ1Gの環境+windowsならば320Mで十分だよ。
設定ファイルを少し書き変えなきゃいけないと思うけど。
569:132人目の素数さん
07/11/26 16:56:03
質問失礼します。
統計学なんでもスレッド7
スレリンク(math板:70-72番)
と重複になってしまうのですが、こちらで聞いた方が良いと判断し、
書き込みしました。
■Rで学ぶデータマイニングII
URLリンク(www.amazon.co.jp)
を買おうかどうしようか迷っているのですが、
使った方はいらっしゃいますでしょうか。
卒論の時系列解析の参考にしようかと思っています。
SとRは1年間大学で学び、また web の R-tips も活用しています。
上記のIは買っていません。
570:132人目の素数さん
07/11/26 21:24:55
>>569
Iは良い本だよ。
IIも買う予定。
571:132人目の素数さん
07/11/27 02:47:51
>>570
レスありがとうございます。
レビューはネットに1つも見つからなかったので、他の方の意見が聞けてありがたいです。
明日もう少し立ち読みして、購入するかどうするか決めようと思います。
572:132人目の素数さん
07/11/27 11:53:30
>>569
正直「九天社が出版している」ってだけで止めた。
ここは「出したい」って言えば内容の吟味なんか無しで何でも出版する模様。
この出版社の本はろくすっぽ編集が入らない。
従って巻末の索引なんかも出鱈目な場合が多い。
別の出版社から本が出るまで待つ。
何冊も「九天社」の本を買ったことがある経験からの一言。
573:569
07/11/27 12:14:05
>>572
貴重な意見ありがとう。
とりあえず、本屋で1時間ほど株式の時系列解析の項を読んで、
購入を決めた。
また報告に来る
574:132人目の素数さん
07/11/27 12:29:08
>>573
おおよそどんな感じの内容か俺も知りたい。
R関係の本って「Rによる○○統計学」みたいな立派な題名が
ついてても、実際には Introduction to R や R-Tips の焼き直し
みたいな内容のものが多いからなあ。
575:572
07/11/27 12:41:36
結局南極俺様の意見は役に立たなかったわけだな
でも そんなの関係ねぇ
576:132人目の素数さん
07/11/27 12:41:57
>R関係の本って「Rによる○○統計学」みたいな立派な題名が
ついてても、実際には Introduction to R や R-Tips の焼き直し
みたいな内容のものが多いからなあ。
同意。
正直、「R云々」と書いた本買うより、「S PLUS」って書いてある本の方が役に立つ。
R関係の本の出版数が増えたのは喜ばしい事だが、内容的にはまだまだ、だと思う。
「自主制作本」とか「ブログを纏めただけの出版」のレベルは越えていない。
577:574
07/11/27 12:45:22
>>576
そうか、お前もだんだんわかるようになって来たんだな。とうさん嬉しいぞ。
その調子でガンバ!
578:132人目の素数さん
07/11/27 15:56:30
Rでファジー使ったことある人居る?
579:132人目の素数さん
07/11/27 16:05:22
いるアルヨ
580:132人目の素数さん
07/11/27 18:30:02
ファジーのパッケージのドキュメントが今一分かりにくくて使いこなせないんだけど
どこかお勧めの例題あつかってるとことか教えてもらえませんか
581:132人目の素数さん
07/11/28 14:16:25
Rで学ぶデータマイニング読んでいます。
plot3Dを使って、Graph-Rのようなカラー表示できる
方法があったら教えてください。
Grap-Rだと、130万のテータをプロットしたとき
重いし、他のプログラムが落ちることがあり、
移行を考えました。
ただ、今Rで、
> plot3d(y[,1:3], size=5, pch=30)
すると、真っ黒状態で、わかりづらいのです。
582:132人目の素数さん
07/12/02 03:30:53
>R関係の本って「Rによる○○統計学」みたいな立派な題名が
>ついてても、実際には Introduction to R や R-Tips の焼き直し
>みたいな内容のものが多いからなあ。
基本手順がおなじならしょうがなくね?
つーか、Rさえほとんど使ってない奴とかあるよな
583:132人目の素数さん
07/12/02 16:48:48
ブラウン運動をplotしようとして以下の様にやったのですが、
series_plus()関数が、入力される数列が大きくなると遅いです。
forは遅いから使うな、とかapply系を使えとか言われたのですが、
(このプログラムに対してではないですが)
以下のプログラムを改良する方法を教えてください。
> series_plus
function(x) {
len <- length(x)
y <- numeric(len)
for (i in 0:(len-1)) {
y <- c(numeric(i),x[1:(len-i)]) + y
}
y
}
> x <- rnorm(10000)
> plot(series_plus(x))
584:132人目の素数さん
07/12/03 04:45:12
あと、plot()関数で、y軸のrangeを固定するにはどうすればよいでしょうか
585:132人目の素数さん
07/12/03 07:56:23
>>584
例えば, ylim = c(0,100) でOKかと。
586:132人目の素数さん
07/12/03 08:58:01
>>585
ありがとうございます!
これでブラウン運動を観察しやすくなりました。こんな感じです
for (i in 1:10000) {
plot(series_plus(rnorm(1000)),type="l",ylim=c(-100,100))
}
series_plus()はちょっと前のカキコの関数です。
587:132人目の素数さん
07/12/04 11:14:15
>>586
demo(graphics)
を実行してみた?
588:132人目の素数さん
07/12/06 03:00:41
質問です
URLリンク(www1.doshisha.ac.jp)
のほぼ中央の部分
② 判別関数を求める
~中略~
この判別係数を用いた第1判別関数を次に示す。
=
-0.592x1 -1.842x2 + 1.653x3 + 3.564x4 -c
x1,x2,x3,x4はそれぞれirisデータの変数~を示す。
とありますが、この場合のx1はSepal.Lengthにある5.992、5.024、6.504のどれになるんでしょうか
589:132人目の素数さん
07/12/06 07:25:40
>>588
なぜそれらの数値を使おうと思うのか?
x1とは生データのことだろ。
590:132人目の素数さん
07/12/06 21:18:07
>>587
ありがとうございます。
みてみました。さすがにキレイだ。
cumsum()というのを使えばよかったんですね。
僕は、ベクトルを1つずつずらしながらたし算してしまったけど、、、
591:132人目の素数さん
07/12/06 21:30:55
すいません、また質問です。
linuxのRからplot()の結果を印刷するにはどうすればよいですか?
592:132人目の素数さん
07/12/06 23:10:34
>>591
postscript(file="|lpr")
593:132人目の素数さん
07/12/06 23:35:50
ありがとうございます。
でも、いかのようにしたのですが、プリントされません(泣)
> postscript(file="|lpr")
> matplot(x, type="l")
なにかまちがってますか?
594:132人目の素数さん
07/12/07 07:40:51
>>593
dev.off()
っていうか、入門書を一度読んだ方がよいのでは。
595:132人目の素数さん
07/12/09 06:20:09
統計解析フリーソフト Rの成分解析結果 :
統計解析フリーソフト Rの45%はかわいさで出来ています。
統計解析フリーソフト Rの25%は回路で出来ています。
統計解析フリーソフト Rの18%は陰謀で出来ています。
統計解析フリーソフト Rの7%は魔法で出来ています。
統計解析フリーソフト Rの2%は根性で出来ています。
統計解析フリーソフト Rの2%はスライムで出来ています。
統計解析フリーソフト Rの1%は微妙さで出来ています。
596:132人目の素数さん
07/12/10 12:43:41
>>594
ありがとうございました。
はい、読んでみます。でも、もうちょっとだけ。
Rのコマンドをファイルに書いておいて、それをRで読み込んで実行させるには
どうすればよいですか?
load(filename)とか、やってもだめでした。
597:132人目の素数さん
07/12/10 15:21:17
>>596
load()はデータセットを読み込むコマンドです。Rスクリプトを読み込むには、source()を使います。
本当にマジで、オンライン文書でよいので入門書を読んだ方がよいと思う。または、30分程度誰
かにレクチャーしてもらった方がよいと思う。
ちなみに、普通のRユーザはsource()を使わずに、エディタからRを実行します。
598:132人目の素数さん
07/12/10 19:19:29
>>597
ありがとうございます!
R-tipsとかは読んだんですけどね、、、(読んだつもり?)
本は読むようにします。
> ちなみに、普通のRユーザはsource()を使わずに、エディタからRを実行します。
まわりのRユーザは全員windows版を使ってるのですが、確かにエディタから実行
してました。でも僕はノートパソコンから速めのマシンにsshして、ターミナル内で
Linux版のRを実行しているので、それができませんでした。
なので、教えていただいたsource()コマンドは便利に使えそうです。
ありがとうございました。
599:132人目の素数さん
07/12/10 19:41:28
Mac OS XでRをビルドして行列計算をしたら、オプションには細心の注意を払ったつもりだけど、
バイナリパッケージ(フルパッケージ)の2,3倍遅かった。
不思議な事に、どちらのRを起動しようと(もちろんコマンドラインで./R)、
速さは最後にインストールしたバージョンが何かで決まる。
つまり、本来違うバージョンが共存できることになっているのに、そうなっていない。
どこかの共有部分が毎回上書きされているのか?分かる人いますか?
ちなみに、BLASシェアドラブラリを有効にしてるけど、
ライブラリは個々のバージョンのディレクトリにビルドされていたので、これではないと思う。
600:599
07/12/10 19:58:51
原因らしきものが分かった。
バイナリインストール後の状態を見ると、
/usr/lib/libatlas.dylib
/usr/lib/libblas.dylib
/usr/lib/libcblas.dylib
の全てが、"Current"バージョンの libBLAS.dylib のシンボリックリンクだった。
自前のビルドが遅かったのは、atlas, lapackを自分でビルドしていなかったから、当然だと思うが・・・ここまで遅いとは。
Appleの/lib/libcblas.aなどを使っていたのか、それともR内部の別の汎用ルーチンを使っていたのか?
601:597
07/12/10 20:07:30
>>598
Linuxユーザならなおさらemacs -nw +essを使いましょう。
602:132人目の素数さん
07/12/11 09:31:36
>>598
R-tipsはマニュアルと言うかオナニー本だからwww
編集がロクに入らないと出版物は「寄稿者の自己満」で終わってしまう、と言ういい見本
603:132人目の素数さん
07/12/13 12:39:09
Rでは円や楕円を方程式から直接グラフに表すことはできないのでしょうか
また、円の方程式と楕円の方程式から交点を直接求めることはできないのでしょうか
604:132人目の素数さん
07/12/13 17:50:00
>>603
先日、船○さんが紹介していたRyacasは、もしかすると役に立つのかも知れません。
私は使ったことがないので分かりませんが。
605:604
07/12/13 17:52:50
s/船/舟/
すみません > ○尾さん
606:132人目の素数さん
07/12/15 22:30:05
AR(1)モデルに乗っ取った時系列を発生させるにはどうすればよいですか?
607:132人目の素数さん
07/12/16 01:26:02
単純に x(t) = a*x(t-1) + e(t) ではだめなのか。
608:132人目の素数さん
07/12/16 03:25:41
>>607
あ、そうか。つまり、
cumsum(rnorm(1000))+x0
ということですか?
609:132人目の素数さん
07/12/16 04:04:11
dX(t)=-Φ(X(t-1)-μ)dt+σ dZt
(dZtは正規分布のN(0,dt))
がAR(1)と説明してあったので、以下のように書いてみました。
x0は0としています。
ar1 <- function(mu,sig,dt,T,fai) {
x <- numeric(T)
for(i in 1:(T-1)) {
x[i+1] <- -1*fai*(x[i]-mu)*dt + rnorm(1,sd=sqrt(dt))
}
return(x)
}
Rらしくないとおもうのですが、これってもっとRらしくかけませんか?
(Cで書いたみたい)
610:132人目の素数さん
07/12/17 03:17:41
>>608
それはAR(1)のMA表現に近い感じだけど違うよ。
係数が考慮されてないし、n→∞でも初期値の影響が残っちゃう。
Rっぽいというか、かなりひねくれてるけど
ar1=function(a,n=100,x0=0,sigma=1)
{
    X <- diag(n)
    e <- c(x0,rnorm(n-1,0,sigma))
    ind <- row(X)-col(X)
    X[lower.tri(X)] <- a^ind[lower.tri(ind)]
    drop(X%*%e)
}
a: AR(1)の係数
n: 生成するサンプル数
x0: 初期値
sigma: イノベーションの標準偏差
とかでも。
結局計算時間はfor文回すのとかわんないだろうから
定義通りの>>609みたいのが分かりやすいくていいんじゃないかな。
他に良い方法あるならオレも知りたいが。
611:610
07/12/18 04:32:23
申し訳ない。
ar1 <- function(a, n=100, sigma=1, init=0)
{
    X <- diag(n)
    e <- c(init,rnorm(n-1,0,sigma))
    X <- a^(row(X)-col(X))
    X[upper.tri(X)] <- 0
    drop(X%*%e)
}
はメモリ食いの上に計算が遅く、しかもひねた書き方なのでボツにします。
以下のように素直に書くのが計算も速いし、意味が分かりやすいので一番でした。
ar1 <- function(a, n=100, sigma=1, init=0)
{
    x <- c(init, rep(0, n-1))
    for(i in seq(2,n))
        x[i] <- a*x[i-1] + rnorm(1,0,sigma)
    x
}
要素毎アクセスしてるのはやはり気にくわないけど。
612:132人目の素数さん
07/12/18 04:43:10
連投すまん。
もしnbsp見えてたらそれはミスなので無視してくれ。
ar1 <- function(a, n=100, sigma=1, init=0)
{
x <- c(init, rep(0, n-1))
for(i in seq(2,n))
x[i] <- a*x[i-1] + rnorm(1,0,sigma)
x
}
613:132人目の素数さん
07/12/18 11:09:04
>>610-612
ありがとうございます。
> a <- ar1(0,n=100000)
> ar(a)
Call:
ar(x = a)
Order selected 0 sigma^2 estimated as 0.9985
やっぱりAR(1)ですね。つかわせてもらいます。ありがとうございました。
614:610
07/12/18 16:21:53
>>613
ほんとに何度もすまんが、最もRらしい書き方が分かったよ。
arSeries <- function(a, n=100, sigma=1, init=0)
{
x <- c(init, rnorm(n-1,0,sigma))
filter(x, a, "recursive")
}
おそらくこれがR的にベストでしょう。
係数aはベクトルで与えても可(つまり何次のモデルでもOK)。
> ar(arSeries(c(0.2,0.5,0.3),1e5,sigma=8),order=3,method="burg")
Call:
ar(x = arSeries(c(0.2, 0.5, 0.3), 1e+05, sigma = 8), order.max = 3, method = "burg")
Coefficients:
1 2 3
0.1969 0.5016 0.3016
Order selected 3 sigma^2 estimated as 63.67
615:132人目の素数さん
07/12/18 16:54:36
神
616:132人目の素数さん
07/12/19 21:51:28
fはx=(x1,x2,…,xn)の関数で、x1,x2,…,xnはそれぞれ0か1の値を取るとします。
その時、取りうる全ての要素を代入したfの和
∑_{x∈{0,1}^n} f(x)
を計算したいんですが、どのようにプログラムを組めばいいのかぜひどなたか教えてください。
お願いします。
617:132人目の素数さん
07/12/20 00:57:02
>>616
fの具体的な説明がないよ。( f:{0,1}^n→ ?)
もしかすると∑_{x∈{0,1}^n} xのことを言ってるのかな?
まず"1+1=2"なのか"1+1=0"なのかはっきりしたほうがいい。
618:132人目の素数さん
07/12/20 01:22:37
あ、fは任意の関数だったりするかな。
引数で関数fを渡すとか…たぶん考えすぎだろうが。
619:616
07/12/20 05:34:24
>>617
すいません、fは
620:616
07/12/20 05:38:53
>>617
すいません、fは{0,1}^nから実数にうつす写像です。
もっと詳しく言うと、f=∑w_{ij} xi xj (w_{ij}はある実数) です。
621:132人目の素数さん
07/12/20 08:09:14
>>620
了解。勘ぐりすぎてたか。
つまり、W=(w_ij)を適当に与えたときのx^TWxを
{0,1}^nにおける2^n個すべての要素のf(x)に関して和をとればよいってことかな?
Wが対称行列などの指定はとくになし?
愚直に書けば2^n回ループまわすことになるけど、
頭使えばほとんど計算機の出番なさそう。
例えばxi xj=1となるものを{0,1}^nのすべてについて調べたとき
その個数がc_ijならΣc_ij w_ij = ∑_{x∈{0,1}^n} f(x)になる。
つまりC=(cij)さえ分かればあとはsum(C*W)が答え…とかどうですか。
まだ考えてないが、cijはnの関数になりそう。
思いつきで書いてるから間違いがあったり、説明が分かりづらいかも。
しかしこういう計算をRでするのって、何に使うのか興味あり。
622:616
07/12/20 21:08:28
>>621
ありがとうございます。
ボルツマンマシンというものの計算をRでやっているところです。
ところで
>愚直に書けば2^n回ループまわすことになるけど、
とありますが、これはどの様にプログラミングを行えばよいのでしょうか?
f=exp(∑w_{ij} xi xj+∑θ_{i} xi)
というものも計算しなくちゃいけないのですが、この場合だと上の方法だとできないので、
ぜひご教授お願いします。
623:132人目の素数さん
07/12/21 02:24:59
>>622
Rで愚直に書くのは案外難しかった。
Rはこういう計算向かないのかなあ…。
sumf <- function(n, FUN, set=c(0,1))
{
X <- expand.grid(replicate(n,set,FALSE))
sum(apply(X, 1, FUN))
}
ただしこれが使えるのはせいぜいnが10程度。
使い方は、最初の関数f(x)=x^TWXなら
> f <- function(x, W) t(x)%*%W%*%x
> W <- matrix(1,4,4)
> sumf(4, function(x) f(x,W))
[1] 80
とか。
624:132人目の素数さん
07/12/21 02:33:47
続き・・・
上のやりかたみたいに一気に(0,1)^nの元を全部生成すると
n×2^nの行列ができるので、nがちょっと大きくなれば
すぐメモリから溢れちゃいます。
となるとfor文の中でひとつひとつxを生成しながら
計算するほうが望ましいけど、Rで毎回それを作るのは面倒だね。
n<=32なら無理矢理
sumf2 <- function(n, FUN, set=c(0,1))
{
res <- 0
for( i in seq(2^n)){
x <- as.numeric(intToBits(as.integer(i))[seq(n)])
res = res + FUN(x)
}
res
}
なんかもありか。ふざけたスクリプトになってきたが。
やはり愚直に書いた指数時間アルゴリズムは
まったく実用的でないことがよくわかります。
625:132人目の素数さん
07/12/21 03:01:55
あ、下のset=c(0,1)は削り忘れ。
626:132人目の素数さん
07/12/21 04:49:34
ネットでボルツマンマシンの解説をナナメ読みしてみました。
なるほどx_i x_j = 1のとき同時発火ね。Σf(x)は分布を求める部分かな。
どうやら正攻法では指数時間は不可避のようです。
最初にいってた単純な二次形式の和だけならまだやれそうだったが。
ともかく一度定義通りに計算してみたいだけなのかな。
627:616
07/12/21 13:02:23
ありがとうございます。
そのプログラムを利用してボルツマンマシンを作ってみたいと思います。
628:132人目の素数さん
07/12/21 17:09:11
ニューラルネットのライブラリあったんじゃなかったっけ
629:132人目の素数さん
07/12/22 04:47:26
> data
x a1 a2
1 2.419707e-01 1 1
2 5.399097e-02 1 1
3 4.431848e-03 1 2
4 1.338302e-04 1 2
5 1.486720e-06 2 1
6 6.075883e-09 2 1
7 9.134720e-12 2 2
8 5.052271e-15 2 2
こういう形のデータがあったとして(a1,a2 は因子です),
各要因の組み合わせごとの x の平均を出す簡単な方法ってありますか?
630:132人目の素数さん
07/12/22 18:47:02
>>629
おもしろそうなので考えてみた。でも for文を使うのしか思いつかなかったorz
> data <- data.frame(x=round(runif(8),2),a1=as.factor(c(rep(1,4),rep(2,4))),
+ a2=as.factor(c(1,1,2,2,1,1,2,2)))
> data
x a1 a2
1 0.73 1 1
2 0.31 1 1
3 0.53 1 2
4 0.69 1 2
5 0.80 2 1
6 0.88 2 1
7 0.94 2 2
8 0.39 2 2
> for ( i in levels(data$a1)){
+ for (j in levels(data$a2)){
+ y <- mean(data[(data$a1==i) & (data$a2 ==j),1])
+ print(c(x.mean=y,a1=i,a2=j))
+ }
+ }
x.mean a1 a2
"0.52" "1" "1"
x.mean a1 a2
"0.61" "1" "2"
x.mean a1 a2
"0.84" "2" "1"
x.mean a1 a2
"0.665" "2" "2"
631:630
07/12/22 18:55:38
ちょっと短くできた
> a3 <- paste(data$a1,data$a2)
> for (i in unique(a3)){
+ print(paste(i,"mean = ",mean(data[a3==i,1])))
+ }
[1] "1 1 mean = 0.52"
[1] "1 2 mean = 0.61"
[1] "2 1 mean = 0.84"
[1] "2 2 mean = 0.665"
632:132人目の素数さん
07/12/22 19:13:46
>>629
組み合わせって言うけど、1-2と2-1は異なるグループと考えていいの?
> label <- factor(paste(data$a1,data$a2,sep="-"))
> label
[1] 1-1 1-1 1-2 1-2 2-1 2-1 2-2 2-2
Levels: 1-1 1-2 2-1 2-2
> tapply(data$x,label,mean)
1-1 1-2 2-1 2-2
1.479808e-01 2.282839e-03 7.463979e-07 4.569886e-12
異なるグループとするならこんなんでいいと思う。
633:132人目の素数さん
07/12/22 19:27:16
factanal()の結果のloadingsをうまくエクセルの表に貼り付けたいのですが、
良い方法ありませんでしょうか?
画面上の結果をコピーして、ちまちまエディタでタブを入れることしか
思いついてないのですが・・・もっと簡便な方法ありましたら教えてください。
634:132人目の素数さん
07/12/22 19:47:45
>>633
> a$loadings
Loadings:
Factor1 Factor2 Factor3
v1 0.944 0.182 0.267
v2 0.905 0.235 0.159
v3 0.236 0.210 0.946
v4 0.180 0.242 0.828
v5 0.242 0.881 0.286
v6 0.193 0.959 0.196
Factor1 Factor2 Factor3
SS loadings 1.893 1.886 1.797
Proportion Var 0.316 0.314 0.300
Cumulative Var 0.316 0.630 0.929
> library(Hmisc)
> html(a)
これで作成されたa.htmlをexcelで開くとどうなりますか?
>> 632
tapplyに気がついたので書き込もうと思ったら、すでに書かれていた。
書き込む前にリロードしてよかったよ。恥の上塗りをするところだった。
sepを"-"にしたところまで一緒だったorz
635:132人目の素数さん
07/12/22 20:26:59
>> 634
ありがとうございました。
html(a)ではエラーがでましたが,
html(a$loadings)はとおりました。
できたファイルを,開いてから,全選択コピー,ペーストでうまくいきました。
636:132人目の素数さん
07/12/23 12:53:57
633の自己レスです。
その後も調べまわりましたら、以下のurlにあった方法でも可能でした。
エクセルのテキストファイルウィザードを使えば、「スペース」&「連続した区切り文字は一文字として扱う」
をチェックしてOKです。
URLリンク(homepage2.nifty.com)
637:132人目の素数さん
07/12/23 23:23:55
入力データと計算時間の関係のデータがあるとき、任意のデータ数についての計算時間を推測するにはどうしたらできますか?
n time
10 0.000001
100 0.00001
1000 0.001
10000 0.1
擬似的にこんなデータがあったときにn=100000の計算時間を推定するんです
638:132人目の素数さん
07/12/24 03:35:06
>>637
いろいろ方法はあると思うが、たいていは
目的変数:time、説明変数:nの回帰(lm)でいいんじゃないかな。
ただ、計算時間なら二重ループが入っててn^2のオーダーなんて
よくあるから、モデルの選定は散布図見て適切なモデルを決めるか
プログラムの実装内容を多少知っている必要があるだろうか。
回帰について詳しくないので、フォローがあればどなたかよろしく。
639:132人目の素数さん
07/12/27 19:41:42
Perlのような連想配列がほしい。
URLリンク(www.taniguchitomoya.com)
慣れた人には当たり前なんだろうけど、自分のような初心者にはとても参考に
なりました。
ただ、これもほんの導入に過ぎない気がするので、今は↓を読んでいます。
URLリンク(cran.r-project.org)
なんだ、属性が付けられるのはリストに限らないじゃないか。
640:132人目の素数さん
07/12/28 01:55:15
みんなすごいな、クール!。勉強させて頂きます。
641:132人目の素数さん
07/12/28 13:09:05
連想配列って、名前付きベクトルじゃだめなの?
> m <- month.name
> names(m) <- LETTERS[1:12]
> m
A B C D E
"January" "February" "March" "April" "May"
F G H I J
"June" "July" "August" "September" "October"
K L
"November" "December"
> m["I"]
I
"September"
642:639
07/12/28 17:05:53
>>641
> 連想配列って、名前付きベクトルじゃだめなの?
ありがとうございます。それでいいと思います。すごくシンプルになりました
ね。
ところで、数値型のベクトルにうっかり文字列を追加してしまうと、型変換が
起こって、全体が文字列形のベクトルになってしまいます。
> d <- c()
> d["hoge"] = 1
> d["fuga"] = 2
> d["piyo"] = 'a'
> d
hoge fuga piyo
"1" "2" "a"
元に戻そうとして、as.integer() を実行すると名前が消えてしまいます。
> d <- d[1:2]
> d
hoge fuga
"1" "2"
> d <- as.integer(d)
> d
[1] 1 2
これはちょっと不便ですね。名前をバックアップしておくしかないのかな。
うーん。
643:132人目の素数さん
07/12/30 09:18:56
他のスレから紹介されてきました。
どうか、お願いします。
バリマックス回転したいんですが、エクセルしかなく、
Rをインストールしたんですがさっぱりわかりません。
数学のすの字も知らない仏文学科生ですので、プログラミング言語など
触ったことがありません。相応の入門サイトを見て手探りでやっている状態です。
あるRのサイトで
URLリンク(aoki2.si.gunma-u.ac.jp)
が紹介されていて、この関数を入れるとバリマックス回転ができるそうなんですが
ここの関数を使おうとしてもなぜか正常に表示されず、使用することができません。
どうか、何か、妙案を出していただけませんか?
お願いします。
644:132人目の素数さん
07/12/30 11:16:45
>>643
RSiteSearch('Varimax Rotation')
645:132人目の素数さん
08/01/03 13:41:08
.Fortran("dqrls", qr = x, n = n, p = p, y = y, ny = ny,
tol = as.double(tol), coefficients = mat.or.vec(p, ny),
residuals = y, effects = y, rank = integer(1), pivot = 1:p,
qraux = double(p), work = double(2 * p), PACKAGE = "base")
で呼び出される処理の実体は何処に格納されているのでしょうか?
また、そのソースファイルは参照する事はできますか?
646:132人目の素数さん
08/01/04 06:40:34
プログラミング童貞です。質問させてください
サイコロを降って三の倍数が出たら100円もらえる
連続で三の倍数が出た場合はもらえる金額が100円ずつ加算されていく
これを50回繰り返した場合の全ての結果とその確率を表示する
こういった作業をする場合Rではどういった式を入力すればよいのでしょうか
個々の式(?)はわかるのですがそれをどう組み合わせたらいいのかがさっぱりわかりません(特に繰り返し文)
もしくはよりシンプルな操作でこういった作業が出来るフリーソフトがあったら教えてください
647:132人目の素数さん
08/01/04 08:34:51
>>646
「全ての結果とその確率を表示する」の理解が正しいか分からないが
例えば以下の関数game()を定義して
game <- function(N=50)
{
dice <- sample(6,N,replace=TRUE) # サイコロをN回振る
nwin <- sum(dice%%3==0) # 3の倍数の目の個数
list(dice=dice, prob=nwin/N, money=nwin*100)
}
実行
> game()
$dice
[1] 1 2 4 6 4 2 6 1 6 3 6 5 4 1 6 4 3 3 5 3 4 2 2 3 6 6 6 3 6 3 5 6 6 4 6 2 4 1 4 1
[41] 2 6 3 1 3 6 6 4 2 5
$prob
[1] 0.48
$money
[1] 2400
繰り返し文などいらない。
648:132人目の素数さん
08/01/04 09:11:16
>>645
コンパイル済みのオブジェクトだから
例えばWindows版なら関数の実体はR.dllに入ってる。
ソースはRのソースを展開したときのsrc/appl/dqrls.fに入ってる。
649:132人目の素数さん
08/01/04 15:24:29
>>647
ありがとうございます。それだとサイコロをランダムに降ってから三の倍数を取り出してるんですよね
そうでなくて例えば二回目終了時だと
1/9(確率) 300円(結果)
4/9 100円
4/9 0円
こういう形で出力したいんです
650:132人目の素数さん
08/01/04 16:17:23
>>649
あ、ごめん肝心な「連続で~」のところ見落としてた。
しかも全然違うことやってたな。
ハズレはまた100円にリセットでいいんだよね。
で、50回終了時の獲得金額とその確率をすべて表示ね。
難しそうだけど、もし思いついたらやってみます。
651:132人目の素数さん
08/01/04 16:58:50
>>650
よろしくお願いします
先にあげた例以外でもいいので
・前の結果に影響される繰り返し
・>>649のような形式の結果表示
を考えるヒントがあればぜひご教授を
652:132人目の素数さん
08/01/04 17:49:15
>>651
あんまり頭よくないみたいで、うまい策が思いつきません。
既約分数を使いたいなら表示は有理数型使うのが楽じゃないかな。
Rだとgmpパッケージがいいかも。
> library(gmp)
> as.bigq(2^50,3^50)
[1] "4194304/2674378408833789"
「繰り返し」ってサイの目6^50通り
もしくは勝ち負け2^50通りの総当たりするってこと?
653:132人目の素数さん
08/01/04 18:02:50
あ、(2/3)^50の結果間違ってるね。
約分できないのはずなのに約分されてるし。
3^50で桁あふれたか。
こっちが正しい累乗の使い方かなたぶん。
> prod(rep(as.bigq(2,3),50))
[1] "1125899906842624/717897987691852588770249"
654:132人目の素数さん
08/01/08 14:00:55
すみません、非常に下らない質問なのですが、
1. 行列の行を一行ずつコンソール出力する。
2. 行列の要素を一つずつコンソール出力する。
には、それぞれどうしたら良いでしょうか?
ネタではなく、本当にわからなくて困っています。
小さい行列なら、print(a)で出力されますが、30x30とかだと、省略されてし
まいます。
655:132人目の素数さん
08/01/08 16:03:43
>>654
いまいち、何に困っているのかが理解できませんが、30x30の行列を一行ずつ表示するには、
> a <- 1:900; dim(a) <- c(30,30)
> for (r in 1:30) {print(a[r,]}
これでOKです。1要素ずつなら、これを入れ子する。
でも、こんなことして何か意味があるの?
656:655
08/01/08 16:04:54
ごめん、)が抜けてた。
657:654
08/01/08 18:35:52
遅くなりました。
>>655
すみません、説明が足りなかったようです。それだと 30というサイズが決め
打ちですので、もっと汎用的な書き方を知りたかったのです。
> d <- matrix(1:900, 30, 30)
> for (r in 1:dim(d)[1]) {print(d[r,])}
これでいいのかしら。なにかもっと、インデックスを使うのではない、
他言語のfor-each文のような書き方があるのかと思っていたのですが。
658:132人目の素数さん
08/01/08 20:22:03
インデックスを使わずに行アクセスしたいってどういうことだろね。
用途を言うとアドバイスしやすいんじゃないかな。
用途がありそうといえばデバック作業かな。
659:654
08/01/08 21:34:20
行アクセスの用途自体は単に、データが正しくセットされたか目視で確認した
いだけです。
インデックスを使いたくない理由は、
# 通常のfor文
for (i = 0; i < list.length; i++) {
a = list[i]
...
とやるより、
# for-each文
for (a in list) {
...
とやった方がバグが入り込みにくいからです。
R には for-each文しかないわけですが、>>657では、それを回避して無理やり
にfor文を作っているので、あんまり綺麗なコードじゃないなあと。
660:132人目の素数さん
08/01/08 22:20:24
>>659
for(i in seq(ncol(d))) のiで列、行アクセスってRだと普通じゃないかな。
apply(d, 1, print)みたいな操作がしたいわけでもないだろうし。
今思いついたのは、例えば
for(i in data.frame(d)) print(i)
とかね。冗談みたいなコードだけど。
printだけが目的なら添え字アクセスのがよっぽど素直じゃないかなあ。
661:132人目の素数さん
08/01/08 22:21:44
あ、上のは列アクセスになってたね。
for(i in data.frame(t(d))) print(i)
662:132人目の素数さん
08/01/08 22:53:40
> 行アクセスの用途自体は単に、データが正しくセットされたか目視で確認した
> いだけです。
だったら、単純に
> d
とするか
> page(d,"print")
でいいんじゃない?うちの環境では、page()でemacsが起動する
663:654
08/01/09 14:25:32
遅くなりました。
>>660->>661
ありがとうございます。確かに微妙ですが、とりあえずそのデータフレームで
行こうと思います。
>>662
>d だけだと、大きな行列が省略されてしまいます。
また、実は対話環境ではなく、rJavaを介してJavaからRをバッチ的に利用して
いて、page() は使うことができません。
664:sage
08/01/11 17:41:43
R縺ァone way repeated measures ANOVA 繧偵d繧区婿豕輔▲縺ヲ縺ゅj縺セ縺吶°
蜊頑律謗「縺励※謌先棡縺ェ縺励繧ゅ≧縺、縺九l縺セ縺励◆
665:132人目の素数さん
08/01/13 12:59:13
インストールの必要がない(レジストリを使わない)Rってありますか?
666:132人目の素数さん
08/01/13 16:18:09
knoppix
667:132人目の素数さん
08/01/13 18:13:50
繰り返しのない2元配置ANOVAを、Rで多重比較したいのですが、できなくて困ってます。
pairwise.t.testだと対応のないt検定を繰り返すから間違いですよね。
ボンフェローニ法でやろうとおもうのですが、対応のあるt検定を
普通に群間で繰り返して補正すればいいのか、それとも対応のある
t検定を行うときに全体の分散?をつかってくりかえすのか、分か
りません。田舎の本屋と図書館では限界があって助けてもらえませんか。
668:132人目の素数さん
08/01/14 00:16:13
>>667
ボンフェローニを使うならどちらでも構わない。
等分散性が仮定できるなら全体の分散で
いいんじゃない?
669:132人目の素数さん
08/01/14 16:24:35
>>668
ありがとうございます!ちょっと滅入ってたのでレスがとてもうれしいです。
2元配置でも3元配置でもpairwiseを使ってる人もいますね。おっしゃるとおり
ボンフェローニでやってました。
問題がひとつ解決してうれしいです♪
670:132人目の素数さん
08/01/16 13:18:07
MASSライブラリのldaを使っているんですけど質問
訳あって判別関数の直線式を求めたいのですが
URLリンク(www1.doshisha.ac.jp)
を参考にscallingと apply(Z$means%*%Z$scaling,2,mean) から式を変形して傾きと切片を求めて
判別直線の式を求めたのですが
その直線の式がどうも実際に群分けをしている直線と切片が違うように思われます(傾きはおそらくあっていそうです)
理由がわかるかたお教えください
671:668
08/01/16 13:21:01
>>669
よかったな。お前が嬉しければ俺も嬉しいよ。
けどな、これで極めたと思わないでくれよな。
この道はまだまだ長く険しい。お前はまだいりぐちにたっただけなのだから。
さあ、俺たちと、道の先にあるものを掴みにいこうZee
672:132人目の素数さん
08/01/16 17:44:03
日本語を含むグラフを作成したんですが、R上ではちゃんと表示されてるのに、psファイルで保存したら日本語部分が
文字化けしてしまいます。
これはRのフォント設定に原因があるのでしょうか?
673:132人目の素数さん
08/01/18 19:44:25
>>672
> ps.options()$family
の値を見て、考える。
> ?postscriptFonts
はすでに読んだ?
674:132人目の素数さん
08/01/25 19:21:11
TukeyHSD() って、群の標本数が違う場合には、Tukey-Kramer で計算しているのですか?
ヘルプを見ても良く分からなかったので、よろしくお願いします。
675:132人目の素数さん
08/01/25 19:33:08
>>674
ソースを見ろ
> TukeyHSD
function (x, which, ordered = FALSE, conf.level = 0.95, ...)
UseMethod("TukeyHSD")
<environment: namespace:stats>
> methods(TukeyHSD)
[1] TukeyHSD.aov
> TukeyHSD.aov
function (x, which = seq_along(tabs), ordered = FALSE, conf.level = 0.95,
...)
{
mm <- model.tables(x, "means")
if (is.null(mm$n))
stop("no factors in the fitted model")
以下略
676:132人目の素数さん
08/01/25 20:38:01
>>675
methods()ってのがあるんですね。ありがとうございます。
677:132人目の素数さん
08/01/28 23:56:35
ソースみてもわからないんですが・・・
で、Tukey-Kramer なんですか???
678:132人目の素数さん
08/01/29 19:22:57
時系列パッケージtimsacについて質問です。
これに入っている関数mulspe()でクロススペクトルが描画できたのですが
図からピークを値として出力するにはどうしたらいいのでしょうか
helpを読んでみてもいまいちよく解らず、identify()も使えなかったので
もしかしてデータから自分で計算するより無いのでしょうか
679:132人目の素数さん
08/01/30 15:38:31
医学統計の質問です
2群の経時データの有意差検定をすることになってしまいました・・・
具体的には毎日薬を飲んで,その効果を測定してあるデータです.
多変量分散分析モデルを考えていたのですが,上司からAUCでやるべしとの指示?
AUCってどんなものなのでしょうか?
どこかに,Rのプログラムなどがあれば教えていただけたら幸いです.
680:132人目の素数さん
08/01/30 16:50:43
>>679
>上司からAUCでやるべしとの指示? AUCってどんなものなのでしょうか?
なぜ直接上司に聞かないの? 統計手法とは別の意味のAUCかも知れないよw。
681:132人目の素数さん
08/01/30 23:48:45
>>680
同意。
そもそもAUCって統計的方法の名前そのものじゃないし。
682:132人目の素数さん
08/01/31 01:10:52
正規分布の歪度、尖度の検定について教えてください。
R ver2.2.0を用いています。
上記の検定法の関数 dagoTest(x) は library(fBASIC) にあるとwebで見たのですが
パッケージを見てもfBASICがありませんでした。パッケージの更新を行なったのですが
fbasicはありませんでした。現在dagotestを使おうと思うと、どのパッケージを使えばよいのでしょうか
よろしくお願いします
683:132人目の素数さん
08/01/31 01:29:50
>>682
fBASICはココ
URLリンク(cran.r-project.org)
ただR-2.4.0以上じゃないと正常に動かないかも
URLリンク(www.r-project.org)
で"dagotest"を検索しただけだが。
684:132人目の素数さん
08/01/31 09:11:40
679です
>>680,681
レスありがとうございます
上司も良く分からない様子だったので,ここで聞いた次第です・・
まずは普通にやってみます
685:132人目の素数さん
08/01/31 12:30:33
678です。mulspe()のソースのoutputを書き換えることで自己解決しました。
横からですが、>>675さんのレスがヒントになりました。ありがとうございます。
686:132人目の素数さん
08/01/31 17:09:36
自分に良くわからない指示を丸投げする上司というのもすごいな
オレ涙がでてきたよ。
687:132人目の素数さん
08/01/31 18:36:55
>>684じゃないけど、上司って基本そういうものじゃないの?
要求が馬鹿高い割に知識は乏しくて、でも有事の責任を取るためにそこにいるって言う
あれ、もしかして俺が働いている場所ってブラックですか?
688:132人目の素数さん
08/01/31 20:34:37
部下の能力を把握して適切に指示出せないとダメでしょう。
でなきゃココは誰に聞いてねと権限の委譲wをしないとな。
689:675
08/02/01 00:05:13
>>685
役に立って何より。
>>679
ヒントをあげるね。Rはインストール済みだよね?
> RSiteSearch("measures repeated")
医学系だけど、恥ずかしながらAUC(血中濃度曲線下面積)を
知らなかった勉強になったよ。
690:132人目の素数さん
08/02/01 00:42:11
>>689
医学系と言っても薬学寄りでないと知らなくても不思議じゃないんじゃない。
そもそも>>679のデータは上司がその程度なら血中濃度のデータかどうかも怪しいけどな。
691:132人目の素数さん
08/02/01 21:47:40
C言語などからRの関数を呼び出すことはできますか?
692:132人目の素数さん
08/02/02 01:34:18
>>691
はい。
693:132人目の素数さん
08/02/02 01:54:43
ExcelなどからRの関数を呼び出すことはできますか?
694:132人目の素数さん
08/02/02 06:19:55
Oui
URLリンク(www.okada.jp.org)
695:132人目の素数さん
08/02/02 19:06:32
>>692
それってR本体を呼び出してコマンドとして使うって意味?
(直接関数を呼べるなら便利なんだが。)
696:132人目の素数さん
08/02/03 00:22:31
上司に恵まれない679です。
いつも優柔不断で指示が二転三転します、適切な指示をしてくれる上司にめぐりあいたいものです。
皆様の期待(?)通り、血中濃度のデータではありません。
>>689さんのヒントをもとに、始めます。
どうも、ありがとうございました。
697:132人目の素数さん
08/02/03 02:52:20
10年前の俺様へ
学校じゃないなら適切な指示しかしない上司なんていないって。
適当にやらせて結果見て指示し直す、なんて普通。
不適切な指示に対して提案できて方法を示せるようになって半人前。
それが必要な場面で上司を使えるようになって一人前だ。
がんばれ。
698:132人目の素数さん
08/02/06 18:34:17
主成分分析に使うfactanal関数がどういう原理で動いているか知りたいのですが、ソースは見れますか?
699:679=696
08/02/06 18:54:37
>>697さん
お言葉が身にします。
ご指摘のとおり、まだまだ半人前の手前という感じです。
もっと目線を上にして、がんばります!
ありがとうございました。
700:132人目の素数さん
08/02/06 19:34:41
help("factanal")では?
701:132人目の素数さん
08/02/06 23:14:51
というか主成分分析には使わないんだが…
702:132人目の素数さん
08/02/06 23:16:49
>>698
factanalは珍しくRだけで書かれている。CやFORTRANで書かれたのを呼び出している
訳ではないのに、なぜ質問になるのか、よく分からない。
> factanal
function (x, factors, data = NULL, covmat = NULL, n.obs = NA,
subset, na.action, start = NULL, scores = c("none", "regression",
"Bartlett"), rotation = "varimax", control = NULL, ...)
{
sortLoadings <- function(Lambda) {
cn <- colnames(Lambda)
Phi <- attr(Lambda, "covariance")
ssq <- apply(Lambda, 2, function(x) -sum(x^2))
Lambda <- Lambda[, order(ssq), drop = FALSE]
colnames(Lambda) <- cn
neg <- colSums(Lambda) < 0
Lambda[, neg] <- -Lambda[, neg]
[以下略]
703:702
08/02/06 23:20:42
>>701
おぉ、ほんとだ。
> help.search("PCA")
704:132人目の素数さん
08/02/07 00:41:43
>>702
おおおお。そんな方法でソースが見られるとわ。感激れす。
705:132人目の素数さん
08/02/07 19:24:57
>>704
Rの仕様を理解していれば、ごく当たり前のことだよ。
matrixクラスやdata.frameクラスのRオブジェクトの名前だけを
書いてenterを押下すれば、その内容が表示されるだろ。function
クラスのRオブジェクトも同じ。そのRオブジェクトの内容が出力
される。
706:704
08/02/08 09:51:02
>>705
うっせーばーーーか!
707:132人目の素数さん
08/02/08 20:02:52
プログラミング言語としてRを学びたいのですが、おすすめの本ありますか?
オブジェクトの継承とか、そういった類いの解説があるような…
708:132人目の素数さん
08/02/09 09:28:42
リゲス『Rの基礎とプログラミング技法』
にはそういった話題も載っていたような気がします。
709:132人目の素数さん
08/02/09 18:07:53
幅広さなら「S-PLUS による統計解析」じゃねーか?
MASSパッケージにソース入ってるし。
オブジェクトは入ってたかシラネ
710:132人目の素数さん
08/02/09 18:46:21
>>708, 709
ありがとうございます。「Rの基礎とプログラミング技法」が良さそうですね。
言語仕様を理解できそうです。統計手法とか載っていなくても良いので、
他にありましたらよろしくお願いします。
711:132人目の素数さん
08/02/09 22:31:35
時系列解析で acf や ccf を使用しているのですが,
相関の最大値(縦軸)とそのときのラグ(横軸)を
出力する方法はありませんか?
712:711
08/02/10 15:12:19
自己解決しました.
713:132人目の素数さん
08/02/11 13:28:15
「目的変数は質的変数でなければだめです」
ってどういう意味ですか。
714:132人目の素数さん
08/02/11 18:14:07
as.factor
715:132人目の素数さん
08/02/11 23:08:16
↑解決しました。
それから、多項ロジットモデルを選択すると
エラー: 'x' に無限値か欠測値があります
というメッセージが出るのですが、どういうことですか。
716:132人目の素数さん
08/02/11 23:10:16
書いてある通りだろw
データセットが対応していない。
717:132人目の素数さん
08/02/11 23:21:02
レポートが書けない(泣)
最終講義を先生が休講にしたから、わからない><
> また、先週行う筈だった授業の簡単な要旨を
> URLリンク(bayes.c.u-tokyo.ac.jp)
> に記載しておりますので、参考にしてください。
諦めて普通の線形回帰にしようかな・・・。
718:132人目の素数さん
08/02/12 07:31:24
>>717
東大だろ。頑張れよw
719:132人目の素数さん
08/02/12 08:09:47
>>717
原則はさらっと書いてあるけど、あくまで講義のメモだから、それだけでは分かりにくいのは仕方ない。
グラフ付きの例があると一番いいんだけどな。
つまり、ダミー変数がなければ相関が現れないけど、
ダミー変数を入れて、グループごとにグラフを書いたら、同じような傾きの並行したグラフがグループの数だけ現れる、というような。
ウェブを漁ったけど、分かりやすく説明したものがなかなか見つからなかった。
720:132人目の素数さん
08/02/12 08:21:16
ロジスティックモデルやロジットモデルがわからないので、
ダミー変数を使った線形回帰にします。
721:132人目の素数さん
08/02/12 10:15:11
scatterplot3d 関数で出力した図において、identify 関数のような関数を用いて
点を同定することは出来ないだろうか?
722:132人目の素数さん
08/02/12 11:29:05
>>721
三角ダイヤグラムならまだしも、平面に投影した状態で、空間の点を指定できる原理を思いつける?
723:132人目の素数さん
08/02/12 12:12:05
すみません。わからないです。
そうか…。3次元のプロット点をクリックして番号を出力する方法はないか…
724:132人目の素数さん
08/02/12 13:08:15
>>723
プロット点はいくつある?少なければ、points()でID番号そのものをプロットすれば
判別が着くと思うけど。
725:132人目の素数さん
08/02/12 18:00:30
>>724 プロット点は多いです。丁度100個です。
points 関数は以下の使い道以外にあるということでしょうか?
※赤色の + がプロットされる
plot(-4:4, -4:4, type = "n")
points(rnorm(200), rnorm(200), pch="+", col = "red")
726:132人目の素数さん
08/02/12 19:51:07
>>725
申し訳ない。points()のpchにIDベクトルを与えると、最初の1文字を使って、後は無視されるようだ。
> plot(-4:4, -4:4, type = "n")
> points(rnorm(200), rnorm(200), pch=as.character(1:200), col = "red")
素直に、text()を使った方がよさげ。
> plot(-4:4, -4:4, type = "n") #実行後、グラフィック画面をマウスで拡大する
> text(rnorm(200), rnorm(200), 1:200, col = "red", cex=.4)
pdfに出せば、Zoomしながら、目的のIDが読めると思うけど。
適当にcexの値を調整して下さい。
727:726
08/02/12 20:33:10
で、scatterplot3dだと、ちょっとだけ工夫がいるけど、text()でOKみたい。
> dat <- matrix(rnorm(300), ncol=3)
> library(scatterplot3d)
> dat.3d <- scatterplot3d(dat,pch="")
> dat.2d <- dat.3d$xyz.convert(dat)
> text(dat.2d$x,dat.2d$y,1:100)
cexで重ならないように大きさを調整して、PDFに出せばOKだと思う。
っていうか、?scatterplot3dを読んだら即解決だと思うんだけど。
728:132人目の素数さん
08/02/12 21:12:34
>>726-727 レスありがとうございます!
やってみますので、出来たら報告します
729:132人目の素数さん
08/02/13 11:42:57
>>727 考えていた通りの図を出力出来ました。※ NR38 は100行3列のデータフレーム
ありがとうございました。ヘルプは読んでみましたが、なかなか難しかったです。精進します。
> scatterplot3d(NR38)
URLリンク(www.uploda.net)
> NR38.3d <- scatterplot3d(NR38, pch="")
> NR38.2d <- NR38.3d$xyz.convert(NR38)
> text(NR38.2d$x,NR38.2d$y,1:100)
URLリンク(www.uploda.net)
730:726=727
08/02/13 13:52:49
おう!お前、がんばれよな!
731:132人目の素数さん
08/02/13 14:18:27
>>730
何を頑張るんだい?
732:729
08/02/13 15:02:26
ニコニコ動画のランキングの分析です。表の通り、
マイリスト登録数、再生数、コメント数の3つのデータから動画の傾向を調べています。
733:731
08/02/13 17:27:29
>>730
今気がついた。オレに当てたレスじゃなくて、オレになりすましていたのね。
初めてオレになりすましているやつに遭遇した。なんかメリットあるの?
ところで、3dのプロットだけど、rglにはtext3d()というのも用意されている。
こっちでグラフィックを書くのもありだよ。scatterplot3dよりもいろいろで
きることが多そうだ。
734:132人目の素数さん
08/02/13 18:22:37
↓みたいなやつですね。使ってみます
> open3d()
> text3d(rnorm(10)*100,rnorm(10)*100,rnorm(10)*100,text=1:10,adj = 0.5,
+ color="red")
735:132人目の素数さん
08/02/15 21:46:58
合成関数の微分について、教えて下さい。たとえば、
f <- expression( a * x^2 );
として、この f をつかった合成関数 g(x) を微分したいのですが、
g <- expression( b * x * f );
として、D(g, "x") とやっても、f が定数として計算されてしまいます。
合成関数はどのように記述すれば良いのでしょうか?よろしくお願いします。
736:132人目の素数さん
08/02/15 23:46:45
Rと並んで数少ないCUI方式のフリーウェアLisp-Statは、Rに比べて
機能面では遜色はないのでしょうか?
Lisp-Statによる統計解析入門
URLリンク(cluster.f7.ems.okayama-u.ac.jp)
737:132人目の素数さん
08/02/16 00:08:38
>>736
最新の本が1999年。
察しろ。
738:132人目の素数さん
08/02/16 03:09:35
>>736
数値計算をLispでやる意味って何だろ?
739:132人目の素数さん
08/02/18 01:47:34
下記で示される確立モデルの混合分布
f1(x)=Af2(x)+Bf3(X)
のうちf1(x)、f2(x)、f3(x)は既知とする。
このとき、AとBを計算したいのですが、
良いパッケージを教えてください。f2(x)とf3(x)は正規分布ではなく
任意な確立モデルの関数という条件でお願いします。
740:132人目の素数さん
08/02/18 05:58:55
確立モデル… orz
741:739
08/02/18 06:48:26
>>740
失礼。確率ね。
742:132人目の素数さん
08/02/19 00:15:39
>>739
意味がいまいちわかんないけど、数学知識ゼロの俺が答えてみる。
f1(x), f2(x),f3(x)が既知なら、x=x1, x=x2を代入して、
f1(x1)=Af2(x1)+Bf3(x1)
f1(x2)=Af2(x2)+Bf3(x2)
この2連立方程式を解けばAとBが求まると思うんだけど。
743:739
08/02/19 04:32:28
>>742
実は、f1~3(x)は元データを参考に最尤法で出した関数で、
・点でやった場合に元データに対して最大の精度がでるのかどうか
が個人的に分からない。
勝手に最適化してくれるならその方が良いかなと思ってた。
元関数の検定をしろと言われそうな話だが……。
あと確率モデル関数を重ねた場合の挙動が分からない。
積分で考えて多分A+B=1になりそうだ、とは思うけど。
情報後出しの上に明らかに色々勉強不足だね。吊ってくる。
744:132人目の素数さん
08/02/19 22:44:16
Rで繰り返しのない二元配置の多重比較をpairwise.t.test(ボンフェローニ)で行いました。
ついでに4STEPエクセル統計という本のアドインソフトで、同様にボンフェローニで
行いました。
すると、結果が微妙にちがいます。優位さがある組み合わせは同じですが
Rで<0.01なのにエクセルでは<0.05と出たりするものがあります。
そもそもpairwise.t.testは一元配置につかうもので、2元配置に使ったこと自体
があやまってるのでしょうか。
745:132人目の素数さん
08/02/19 23:18:22
>>744
pairwise.t.testのソース見たら単に一元配置の処理しかしてないことは分かるだろ。
エクセルのソフトは持ってないから知らないけど二元配置でちゃんと解析してるなら
結果が違って当たり前だな。
746:132人目の素数さん
08/02/20 00:02:36
>>745
ありがとうございます!
…ということはこれは間違ってるんですね
URLリンク(cse.niaes.affrc.go.jp)
Rで繰り返しのない二元配置の多重比較をする関数はないんでしょうか。
文献あさっても繰り返しなしの二元配置の多重比較は載ってないし…
747:132人目の素数さん
08/02/20 01:14:01
>>746
間違ってますね。
多重比較の部分は各要因ごとにしか書いてないですからすべて一要因の多重比較ですね。
748:132人目の素数さん
08/02/20 20:59:15
>>747
ありがとうございます。
繰り返しのない2元配置をRでどう多重比較したらよいのでしょう…
統計、Rなど独学で来たんですが、資料もなく
私は家政系なので専門じゃないです
もうこれ以上勉強しても分かりません
749:132人目の素数さん
08/02/20 22:40:37
>>748
まず、RjpWikiで検索して
URLリンク(www.okada.jp.org)
既出でなければ質問すればいいとおもいます。
URLリンク(www.okada.jp.org)
ただしネチケットには気をつけましょう。
750:132人目の素数さん
08/02/20 22:53:22
>>749
ありがとうございます。
一度ここでも検索、質問させていただいたんですけど、分からなかったんです。
変身もいただけなかったので、ネチケットが悪かったのかもしれません(涙)
もう一度聞いてみます…
751:132人目の素数さん
08/02/20 23:12:06
一般のネチケットというより、専門の人が主なのでロジカルに
何を質問しているのか?
処理したいデータは具体的にどういうものか(抜粋で例示など)
どこは自分でわかっていて、どこはわからないか
を明確にして質問した方がイイかも
752:132人目の素数さん
08/02/21 22:30:50
1行行列(1,2,3,4)と1列行列(1,2,3,4)を
かけると30になるはずだが、エラーが出る。
x <- rep(1:4)
> x
[,1]
[1,] 1
[2,] 2
[3,] 3
[4,] 4
> x*t(x)
以下にエラー x * t(x) : 適切な配列ではありません
どうやったら正確な結果が出せるか教えてください。
753:752
08/02/21 22:32:23
式は
t(x)*x
の間違いです。どちらもエラーなので大勢に影響は無いけれど。
754:132人目の素数さん
08/02/22 00:18:41
>>752-753
できますよ?
> x<-rep(1:4)
> x
[1] 1 2 3 4
> x*t(x)
[,1] [,2] [,3] [,4]
[1,] 1 4 9 16
既に回転済みのxをまた回してませんか?
755:132人目の素数さん
08/02/22 02:59:41
>>752
やりたいのはこういうことじゃないかな。
> x <- t(1:4)
> x
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
> t(x)
[,1]
[1,] 1
[2,] 2
[3,] 3
[4,] 4
> x %*% t(x)
[,1]
[1,] 30
%*% で内積ね。
最初に t() してるのは単に x <- 1:4 だと行も列も設定されないからで、
特に深い意味は無い。
756:132人目の素数さん
08/02/23 14:57:54
Rにはローカル変数はありますか?
名前空間を汚染したくない場合、関数を作るのが普通なのでしょうか?
757:132人目の素数さん
08/02/23 15:11:01
以下にエラー `[<-.data.frame`(`*tmp*`, row, col + 1, value = 0.0288357995999999) :
新しい列は既存の列に穴を開けるかも知れません
というエラーが出るのですが、既存の行列の列を増やすためには
何か作法が必要なのでしょうか?
758:132人目の素数さん
08/02/23 15:28:09
データセット? cbindを使えばいい?
すみません天啓が降りてきたので質問を取り下げます。
759:132人目の素数さん
08/02/23 17:05:31
0,0
0,1
0,2
:
0,10
1,0
1,1
1,2
:
1,10
2,0
:
:
10,10
こういう総当たり用の行列を作れる関数を教えてください。
お願いします。
760:132人目の素数さん
08/02/23 17:31:55
>>759
URLリンク(www.okada.jp.org)
761:132人目の素数さん
08/02/23 17:41:13
>>760
ありがとうございます。読んでみます
762:132人目の素数さん
08/02/24 11:03:47
同じ行列Xを n 回かけた行列の積
X %*% X %*% X %*% X %*% ....
を簡単に求める事ができる関数ってありますか?
763:132人目の素数さん
08/02/24 13:55:35
>>762
ガンバレw
764:132人目の素数さん
08/02/24 18:19:02
自作自作
765:132人目の素数さん
08/02/25 17:05:59
>>762
eval(parse(text=...)))とpaste()のcollapseオプションを使うと、例えば
下記のようにできるよ。
> n <- 5
> X <- matrix(1:4,ncol=2)
> eval(parse(text=paste(paste(rep("X %*% ",n-1),collapse=''),"X")))
[,1] [,2]
[1,] 1069 2337
[2,] 1558 3406
766:132人目の素数さん
08/02/25 19:47:23
効率のよい求め方なら、対角化するか
(X%*%X)%*%(X%*%X)みたいな分業方式でやるか。
767:132人目の素数さん
08/02/25 23:52:04
Rマスターなんだけど
なにか質問ある?
768:132人目の素数さん
08/02/26 02:19:09
ありません
769:132人目の素数さん
08/02/26 20:23:12
>>754-755
レスサンクス。内積は*じゃだめなのね。
勉強してきます。
770:132人目の素数さん
08/02/27 06:36:51
%*%は内積ていうか行列積だね。*は要素毎の積。
sum(x*x)でも結果は内積とるのと同じだけど。
771:132人目の素数さん
08/02/28 01:54:55
>>750
2元配置の多重比較は分からんな。
繰り返しないならrep.aovでできるぞ。
ぐぐってみるべし。
772:132人目の素数さん
08/02/28 06:04:45
混合分布の元関数を推定するのに良い方法ある?
一般的にはこうやってやるみたい。
URLリンク(omt.med.gunma-u.ac.jp)
mclustってパッケージでできるみたいだけど、
式が行列を沢山含んでcurveで表示できないし、実際に代入してみても
元のデータと全然数値が合わない。
773:132人目の素数さん
08/03/17 16:18:58
カイ二乗の%点を求めたいのですが(n=∞)
Rで、2.5及び97.5%点を求める場合、どのようにすればよいでしょうか。
(関数や無限大の表示入力方法等)
774:132人目の素数さん
08/03/17 20:24:59
>>773
そのnって自由度か?そうなら笑い話ということか。
775:132人目の素数さん
08/03/21 15:20:10
maxima使ってる人っていますか?
776:132人目の素数さん
08/03/26 11:35:41
統計には使っていないな。
777:132人目の素数さん
08/03/29 19:47:36
微分関数Dの威力に驚いています。
微分できない関数などもあるのでしょうか?
全面的に結果を信頼して大丈夫ですか?
778:132人目の素数さん
08/03/30 02:04:23
>>777
初等関数に対する微分の公式を与えておけばどんな関数も分解して微分するだけなので
問題ないのでは?積分はそんなに簡単にはいかないけど。
779:132人目の素数さん
08/03/31 17:31:28
>>501
qchisqでいいんじゃね?
780:132人目の素数さん
08/03/31 18:10:46
以前にRからmaximaを呼ぶ方法がRのMLで話題になっていたそうですが
結局実現できたのでしょうか?
781:132人目の素数さん
08/04/07 02:38:12
CからRの関数を呼んだりできないんですか?
VCでGUI作ってそこで色々処理させてる途中でRの関数を呼びたいんですけど。
782:132人目の素数さん
08/04/07 07:06:19
>>781
あのね、上のテンプレとか確認しましょうよ。
URLリンク(www.okada.jp.org)
783:132人目の素数さん
08/04/07 12:18:22
>>782
おお、できるんですか。
ちょっと使ってみます。
とりあえずできる、できないって一言レスを期待してテンプレも見ずに書き込んじゃいました。。。
丁寧にどうも。
784:132人目の素数さん
08/04/07 13:54:57
>>782
そのページはRからの他言語利用で>>781がほしいのはその逆のようですが…。
Rをコマンドとして呼び出すことはできるのでそうするんでしょうな。
785:132人目の素数さん
08/04/09 13:29:58
すみませんが、質問です。
R の遅延評価は、どのように活用すれば良いのでしょうか?
Haskellをちょっとだけかじったので、ああいう感じに使ってみようとしたので
すが、組み込みの遅延リストなどは無いようで(巨大なベクターを作成すると、
メモリ上に全部領域確保され、初期化されてしまう)、どうも勝手がわかりま
せん。
x = 0
for (i in 1:1000000) x <- x + i
print(x)
こういう計算でも、必要になった時点でデータが作られるわけではないようで、
1:1000000 が全部領域確保されてしまいます。
どういう使い方が想定されているのか、お教えいただけないでしょうか?
786:785
08/04/09 16:44:28
なんか要領を得ない質問ですね。すみません。まとめます。
「R が遅延評価であることの、うまい使い方を教えていただけませんか?」
よろしくお願いいたします。
787:132人目の素数さん
08/04/10 03:21:46
最近のRはパッケージの一括インストールがしにくくなってるな
なんでだろ
788:132人目の素数さん
08/04/10 11:15:18
前から順番はあったけどね
依存コードが多くなってきてるいい兆候じゃないかな
789:132人目の素数さん
08/04/12 20:12:56
依存もあって面倒だね
guiから一括ではダウンロードまでしかしてくれないし
790:132人目の素数さん
08/04/13 18:59:07
R/bin内のR.dll を使って、
VC++上からRの関数って実行できますか?
色々と試してみたのですが、コンパイルは通るものの、
肝心のRの関数のコール時にアプリがダウンしてしまいます。
アドバイスをお願い致します
791:132人目の素数さん
08/04/14 16:25:27
C用のインターフェース有ったような気がするが
792:781
08/04/14 16:51:15
>>784,790
RcppTemplateでググった?
まだ試してないんでできるかは分かりませんが・・・
793:132人目の素数さん
08/04/14 19:15:17
多言語からのライブラリのみの利用はできないんじゃない。
頭から呼び出す必要あると思う。
794:132人目の素数さん
08/04/14 19:38:12
あちゃ
多言語=>他言語
795:790
08/04/14 22:33:24
>781,793
レスありがとう
RcppTemplate は試しました。
pexport,libコマンド使用して Rdllからlibファイル作ったりもした。
一応コンパイルは通るんですけどね、
VC++上でデバッグかけると「AccessViolation」発生しちゃうんですよ。
恐らく、793さんの言うとおり、ライブラリだけの利用はできないような機がします。
RcppTemplateは 「R上で、C++を含んだR関数を作成するためのモノ」だと思いました(多分)
う~ん、残念。
796:790
08/04/14 22:44:48
>791
本当ですか?
RjpWikiの他言語インターフェース一覧は一応確認してますが、
Cから呼び出せるインターフェースは無かったです。
Rの中にある、 Call_R っていうやつですかね。
あれも「R上でCを含んだR関数を作成するもの」のような機が。
...詳細教えてください m(__)m
797:132人目の素数さん
08/04/14 22:46:02
MacのR 2.6.2なんですが、
cat("abc¥ndef")
とやってもコマンド版なら改行されるけどGUI版だと改行されずそのまま¥nが表示されてしまいます。どうしてかわかりませんか?
798:132人目の素数さん
08/04/14 23:32:46
最尤推定量を求めるには、R と Mathematica どっちが向いていますか。
Mathematicaで多変量とか扱うと、とんでもない値を返してくるか、止まるので。
それでも R よりましなら、式をテイラー展開の繰り返しで本当に適当な近似値出すんですが。
799:132人目の素数さん
08/04/15 09:21:55
>>797
\とoption+\の違いは分かる?Macユーザなら誰でも一度ははまる。
800:132人目の素数さん
08/04/15 12:00:47
Java用のライブラリ呼び出しのインターフェースがあるからそれより先にできてるんじゃないかな
CやC++用のが
801:132人目の素数さん
08/04/15 14:46:59
>>800
正直Cのインターフェースが用意されてない理由が分からない
>>796
URLリンク(www.okada.jp.org)
A1%BC%A5%D5%A5%A7%A1%BC%A5%B9%A4%CE%A4%A2%A4%EB%A5%A2%A5%D7%A5%EA
ここ見た?
CからJAVAを呼び出すのはJNIでいけるし間接的にCからRを呼び出せるんじゃないか?
実行速度は期待できないけど
802:132人目の素数さん
08/04/15 14:51:45
JNIはJavaからCはできるが逆は無理だろ
803:132人目の素数さん
08/04/17 22:35:32
>>799
ありがとう!Mac初心者だから知らなかった。
バックスラッシュと円記号は別なんですね。
804:132人目の素数さん
08/04/18 09:28:54
>>803
そう。MacでRjpwikiに書き込むときに、バックスラッシュと円記号
の違いで文字化けが発生してページを壊してしまうときがある。
805:132人目の素数さん
08/04/18 10:42:01
それMacrashっいうんだよ
・・・・いわねーな
806:132人目の素数さん
08/04/18 11:10:02
Macは昔からそういう雑なとこあるからなあ
807:132人目の素数さん
08/04/18 13:02:43
MacでもUSキーボードを使えば無問題。
808:132人目の素数さん
08/04/18 14:56:09
どんどんRから話がそれているが、
>>806
雑なのではなく、むしろ余計なお世話。「円記号とバックスラッシュが同じ」と
いうバットノウハウをもつ人間からは、そこまで細かい配慮はいらんとなるが、
そうではない人向けに両方を出力できるようにしている。そもそもUTF-8では
円記号とバックスラッシュに違うコードが割り当てられているので、UTF-8を
導入した以上は、明瞭に区別するのが正当とおもう。euc-jpなLinuxユーザなの
で、他のutf-8なOSがどうなのか知らないけど。
809:132人目の素数さん
08/04/18 15:37:25
そういうのを雑というんだよ
810:132人目の素数さん
08/05/01 19:24:36
2.7に変わってどうよ
811:132人目の素数さん
08/05/13 23:56:21
2.7.0 windows版で、以下のようになってしまうのですが・・
何がいけないんでしょうか??
> require(datasets)
> data(iris)
以下にエラー file.info(x) : ファイル名変換に問題があります
> data()
以下にエラー file.info(x) : ファイル名変換に問題があります
> data(iris, package="datasets")
> head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
812:132人目の素数さん
08/05/14 01:19:34
>>811
ひょっとしてファイル名に問題があったりする?
知らんけど。
813:132人目の素数さん
08/05/14 02:23:44
(゚Д゚)≡゚д゚)、カァー ペッ!!
814:132人目の素数さん
08/05/14 02:48:49
(゚Д゚)≡゚д゚)、カァー ペッ!!
815:132人目の素数さん
08/05/14 16:46:29
>>811
Linux版だとそのエラーはでないね。Rを想定外の場所にインストールしているとか
816:132人目の素数さん
08/05/14 20:51:12
811です。
2.7.0を再インストールした段階では問題ありませんでした。
そのあと、Rcmdrを追加したあとで、おかしくなりました。
それから、どうにもなりません。
どなたかご解決をお願いします。
817:132人目の素数さん
08/05/15 12:39:21
パッケージがちゃんと読み込めてないんじゃ
818:132人目の素数さん
08/05/15 22:59:11
811です。
以下のもエラーがでるようになっていました・・・何か参考になれば・・
> demo()
Warning message:
In file.show(outFile, delete.file = TRUE, title = paste("R", tolower(x$title))) :
819:132人目の素数さん
08/05/24 09:41:34
tseriesのプロットで、複数のデータ系列を1枚の図に盛り込むために
plot(hoge.ts, plot.type = "single")
をしているのですが、更に棒グラフ+ラインプロットのように系列によって
プロット方法や色などを変えたいと考えています。
で、?plot,?plot.ts,?plot.default,?parなどを読んだのですが、
系列ごとに変えることがさっぱりできません。これはもしかして
plot一発ではできなくて、低レベル描画関数を組んで自分でデータ系列ごとに
1つづつプロットしないと駄目なんでしょうか?
単に無知・調査不足でできないのか、それとも本当に↑の通りなのか
見極めが付かないままなので、先達の方に道程を指し示していただければと。
820:132人目の素数さん
08/05/25 02:17:18
Rのプロンプトからから直接bash使えねえかなあ?
なんかイラっとくる
821:132人目の素数さん
08/05/26 01:17:34
>>820
system()じゃ足りないの?
822:132人目の素数さん
08/05/26 13:55:59
C#からRを使うことはできないのかな。
C#自体がどうのこうのという意見は置いといてな。
823:132人目の素数さん
08/05/26 16:30:55
統計学なんでもスレッド8
スレリンク(math板)
824:132人目の素数さん
08/06/01 16:36:34
皆さんRコマンドを実行するときはどのようにしていますか?
エディタで書いてRConsoleにコピペしているのですが
もっと簡単な方法はないですかね?
825:132人目の素数さん
08/06/01 17:14:08
>>824
むしろ、そんな面倒なことをしている人の方が少なそう。emacs+essとかTinn-Rとか
Rjpwikiには書いていなかったっけ?
826:132人目の素数さん
08/06/05 07:52:57
>>824 同じくR付属エディタで書いてコピペしてます。
個人的には割と満足。
ただエディタがカッコとかクウォートを補完するのを止めたいのだが…
まあもう少し調べるか。
827:132人目の素数さん
08/06/07 19:07:56
Rで出力するグラフにHelveticaファミリーのフォントを直接使いたいんですが,どなたか方法をご存じないですか?
epsファイルに出力すれば使えるのはわかりますが,WindowsメタファイルやPDFに直接出力したときに反映されるようにしたいんですが……。
828:132人目の素数さん
08/06/08 00:17:32
>>827
Windowsメタファイルは知らんが、pdfはHelveticaになっていないの?
> pdf("tmp.pdf")
> plot(runif(10),runif(10))
> dev.off()
null device
1
> system("/opt/local/bin/pdffonts tmp.pdf")
Error: No paper information available - using defaults
name type emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
ZapfDingbats Type 1 no no no 5 0
Helvetica Type 1 no no no 10 0
Helveticaになっているよ。
829:132人目の素数さん
08/06/08 02:11:47
>>828
小塚明朝になってます…
epsをつくるときにフォントファミリーを指定する方法以外調べてもわからなかったんですが,どう設定すればいいのでしょうか?
830:132人目の素数さん
08/06/09 00:19:32
>>829
初期設定のどこかで小塚明朝にしているでしょ。
>>828はデフォルトの状態で何にも触っておらんよ。
> pdf.options()$family
[1] "Helvetica"
上記のようになっていなかったら、
pdf.options()$family <- "Helvetica"
でいいじゃね。
831:132人目の素数さん
08/06/09 01:45:26
F検定に関する質問です。
自由度19,19のデータ列a,bに対してF検定を行なったところ、
以下の結果を得ました。
var.test(c,b,conf.level=0.95)
data: c and b
F = 1.3572, num df = 19, denom df = 19, p-value = 0.512
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.5371931 3.4288788
sample estimates:
ratio of variances
1.357192
95%信頼区間は(0.5371931, 3.4288788)とのことです。
しかし実際にF分布から信頼区間を求めると
> qf(0.025,19,19)
[1] 0.3958122
> qf(0.975,19,19)
[1] 2.526451
と、上のF検定結果とは異なる結果になります。
(それ以前に、上の検定結果は(下限)=1/(上限)の関係すら満たしていません)
var.test()の信頼区間とは何を現しているのでしょうか?
832:831
08/06/09 01:49:47
いちおう上げときます
833:829
08/06/09 03:45:43
>>830
ありがとうございました。
834:132人目の素数さん
08/06/09 06:00:35
>>831
1/qf(0.025,19,19)=2.526451
=qf(0.975,19,19)
835:132人目の素数さん
08/06/09 08:25:28
>>831
信頼区間なんだから非心F分布から求めてるんだろ。
836:132人目の素数さん
08/06/09 22:15:28
>>834
そちらは当然逆数の関係にあります。
「上の検定結果が逆数関係を満たしていない」とは、F検定結果の信頼区間のほうをさしています。
>>835
非心F分布ですか…。
勉強不足でしりませんでした…。
837:836
08/06/09 22:17:02
名前入れ忘れました。>>831で質問した者です
838:132人目の素数さん
08/06/10 02:04:25
行列の部分行列や、ベクトルの特定の要素範囲を取り出すにはどうすればいいですか?
個別要素ではなくて一括して取り出したいです。
(1,2,3,4,5,6,7)
↓
(3,4,5,6)
1 2 3 4
5 6 7 8
9 10 11 12
↓
6 7
10 11
みたいなかんじです。
839:132人目の素数さん
08/06/10 09:54:17
> (a <- 1:7)
[1] 1 2 3 4 5 6 7
> a[3:6]
[1] 3 4 5 6
> (b <- matrix(1:12,ncol=4,byrow=TRUE))
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
[3,] 9 10 11 12
> b[2:3,2:3]
[,1] [,2]
[1,] 6 7
[2,] 10 11
やりたいことがいまいち分からないが、こういうこと?
840:132人目の素数さん
08/06/10 19:43:55
>>831
qf(c(0.025, 0.975), 19, 19) * 1.357192
[1] 0.5371931 3.4288790
841:132人目の素数さん
08/06/11 23:06:05
>>831
qf(0.025,19,19) の 0.3958122 と
qf(0.975,19,19) の 2.526451 は
2群の標本分散の比(つまりF値)の棄却域。
95 percent confidence interval:
0.5371931 3.4288788
ってのは、2群の標本分散の比であるところの1.3572(F値そのもの)
から推定すると、2群の母集団の分散の比はこの辺にあるだろうなー、
という幅。つまりは信頼区間。
母分散の比の推定を幅ではなくて一点でしぼるのなら、最も合理的な値は
F値であるところの1.3572。
842:831
08/06/11 23:33:17
>>840-841
なるほど、分かってきた気がします!
母集団のF値が1で仮定したときの帰無仮説における95%信頼区間が0.3958122~2.526451であり、
これから標本値のF値が外れていると棄却する。
一方、「95 percent confidence interval」は、逆に標本値がF=1.3572であったときの母集団の推測値の95 percent confidence intervalということですか。
これから帰無仮説における母集団のF値=1が外れていると棄却する。
納得いきました。結局は同じことだったんですね。
ありがとうございました。
843:132人目の素数さん
08/06/12 00:43:15
************
九天社は2008年06月10日に営業を停止しました。
************
このページは、元サイト管理者の判断により一時的にサーバーを移転して公開しています。書籍のデータのダウンロード等、必要な方はなるべくお早めにダウンロードしてください。
--------------------------------------------------------------------------------
Rプログラミング&グラフィックス
[著]高階知巳 [価格]3,990 円(税込)
--------------------------------------------------------------------------------
Rで学ぶデータマイニングII シミュレーションの視点から
[著]熊谷悦生、舟尾暢男 [価格]3,990 円(税込)
--------------------------------------------------------------------------------
R Commander ハンドブック
[著]舟尾暢男 [価格]3,360 円(税込)
--------------------------------------------------------------------------------
Rで学ぶデータマイニング I データ解析の視点から
[著]熊谷悦生、舟尾暢男 [価格]3,780 円(税込)
--------------------------------------------------------------------------------
The R Tips データ解析環境 R の基本技・グラフィックス活用集
[著]舟尾 暢男 [価格]3,675 円(税込)
--------------------------------------------------------------------------------
The R Book データ解析環境「R」の活用事例集
[著]岡田 昌史 [価格]3,990 円(税込)
--------------------------------------------------------------------------------