= 統計解析フリーソフト R 【第2章】 =at MATH
= 統計解析フリーソフト R 【第2章】 = - 暇つぶし2ch300:132人目の素数さん
07/07/12 06:57:38
age厨を直さない嫌われものw。

301:132人目の素数さん
07/07/13 03:44:27
粒子フィルタのパッケージはまだないの?

302:132人目の素数さん
07/07/14 18:26:46
R 起動時に自動的に前回のワーキングディレクトリに移動してそこの .Rdata を読み込むように設定したいのですがどうすればよいでしょうか。

303:132人目の素数さん
07/07/14 20:22:06
>>302
実行環境くらい書かないとな。
質問のしかたが悪いと答えを得られる確率はとても低くなるよ。

304:302
07/07/14 21:03:59
>>303
失礼しました.
Mac OS X Tiger i386 で R 2.5.1 です.
R は macports からインストールしています.

305:303
07/07/14 22:53:38
Mac使ってないので詳しくは判らないが(間違ってたら誰か指摘すると期待して書く)
Rのバージョンでどんどん変わるかも知れないのでリンクで示します。

URLリンク(www.okada.jp.org)
MacでR起動時に任意ディレクトリをHOMEするっていうのは簡単じゃないのか知れない。

URLリンク(www.okada.jp.org)
作業ワークスペースの内容を任意のファイルからリロードするのは実行パラメータで指定すれば簡単みたいだ。

306:132人目の素数さん
07/07/16 12:53:36
>>304
未検証だけど、普通に~/.Rprofileにsetwd()を書いたらあかんの?

私の場合、MacOSX 10.4 だけど、emacs+ess使っているので、>>304のようなことを
したければ、essの設定をちょこっと変更する

307:132人目の素数さん
07/07/18 22:11:55
グラフの図
一度書き加えたもの(例えばxlabelとか)
を書き換えたりできないのですか?
全消去しなきゃならないの?

308:132人目の素数さん
07/07/18 22:36:04
>>307
上書きはできるはずだがうまくいったためしない。素直に書き直すのが吉。

初めはラベル入れないでグラフと凡例の図形だけ作って
Excelとかに貼り付けた後で入れるという手もある
見栄えを良くするために良く使っているが管理間違えると捏造になる。

309:307
07/07/18 23:03:44
まじですか?
一度できたものの
書き換えができないのは
グラフ描画としては完全に致命的ですね
又、コマンドちまちまうてってか?
いやならわざわざスクリプトかけってのか?
完全に失望しました

310:132人目の素数さん
07/07/18 23:50:31
質問
統計で言うところのLDってなんですか

311:774ワット発電中さん
07/07/19 00:22:32
>>309
グラフ描画ソフトじゃなくて統計解析ソフトだからな。
不満なら文句言ってないで自分で描画ルーチン書けばいいだけだな。

312:132人目の素数さん
07/07/19 01:14:39
javaに繋ぐ簡単な方法もあるしな

313:132人目の素数さん
07/07/19 01:18:08
>>312
>>307はオリジナルデータを持ってないと予想w。

314:132人目の素数さん
07/07/19 09:31:04
リスト項目へのラベル付けの方法についてなんですが

例えば40人のデータがあって、テストの点数59点以下を不合格群、60点以上を合格群といった具合に
分けたい場合、何かいい方法ありますか?

リストに論理式を用いてと規定の行のみを抽出して加工しようとも思いましたが
行の値だけ抜き出しても、その値の行の値を変えるとか別次元のベクトルでラベル付け
しようかと試みましたがなかなかうまくいきません

315:132人目の素数さん
07/07/19 10:50:05
>>307
全部消去の意味が不明だが、複雑な図を作るときは関数化して作図すると思うので、
コマンド1つで済むと思うけど。再描画がいやなら、むしろ面倒だけど、tgifやイラストレ
ータのようなドローソフトに読み込ませて編集する。
>>309
コマンド履歴のおかげで、一度タイプしたコマンドは2度と入力する必要がないし、入力
したコマンドを微修正して再実行するのは極めて容易ということに気がつけ
>>313
それなら理解できる。ドローソフトを使うことをすすめる
>>314
意図がよく分からないけど、こんな感じ?
a <- data.frame(score=round(runif(40)*100))
res <- cbind(a,decision=ifelse(a<60,'F','A'))

そもそもリスト項目へのラベルを自動でつけたいなら、
eval(parse(text=paste()))を使わないとできないと思う。




316:132人目の素数さん
07/07/19 22:38:48
>>314
40人くらいだったらExce○のフィルタとかでやった方が簡単にできるw。
RExcelというアドインを使えばExce○からRを呼び出すこともできるし。

317:132人目の素数さん
07/07/20 22:35:14
314です
>>316
そんな便利なツールあるんですか?onWindowsじゃないんで使えませんがあったら便利そうですね

>>315
ありがとうございます
やりたいことはばっちりできました

で、甘えついでにもうひとつ質問させてください

ラベルデータ("F","F","T",NA,"T")
データ値1 (50,40,45,44,45)
データ値2 (10,15,18,17,20)

といったデータフレームがあったときに

ラベルデータ("F","F","T","T")
データ値1 (50,40,45,45)
データ値2 (10,15,18,20)

という値が返ってくる、つまりラベル項目に欠損値があった場合
その行のデータを取り除いたデータフレームを出力したいといった場合どうすればよいでしょう?

318:132人目の素数さん
07/07/21 00:34:30
↑自己完結しました
subset( data,!is.na(label) )
ですね

319:132人目の素数さん
07/07/21 16:22:18
URLリンク(cse.naro.affrc.go.jp)

320:132人目の素数さん
07/07/21 23:05:02
1986年1月20日スペースシャトル,チャレンジャーは24回目のフライトを迎えた.発射後
2分もたたないうちに宇宙船は爆発事故をおこし,乗組員は全員死亡した.次のデータは事故の原因
とされている,Oリングの過去23回の破損状態の記録である.シャトルは2つのブースターロケット
との推進力を借りて軌道まで打ち上げられるが,このブースターロケットはいくつかに分かれており,
それぞれをつなぐジョイント部で燃焼中の熱いガスをもらさないようにOリングが使われている.2
つのブースターロケットで全部で6個使われている.
1 53 2
2 57 1
3 58 1
4 63 1
5 66 0



20 76 0
21 78 0
22 79 0
23 81 0
破損割合pを各発射回ごとに推定してそれを,横軸に温度,縦軸に破損割合をとったグラフを作成
せよ.このとき,破損しなかった回をプロットからはずしたものと,入れたものの2種類のグラフを
作成せよ.

という宿題なんですが、破損割合の推定ってどうやるんですか?点推定ですか?
また、使用するデータの形式がどうなってるか良くわからないです。
53とかが温度(華氏)で 2とか1が破損回数なんですかね? 1回の打ち上げで、2回破損?

321:132人目の素数さん
07/07/23 16:32:01
>>320
全くの人頼みだな。
自分で考えろよ。

322:132人目の素数さん
07/07/24 09:45:08
数字がいくつか入ったベクトルがあって、ある指定された値に近い値をいくつかとりのぞきたい場合
どういう処理をしたらいすかね

ソートしてからabs関数使うとか?でも元の並びは変えたくないす

323:132人目の素数さん
07/07/24 12:41:47
>>322
ソートとかabsとか意味が分からんが、
> haba <- 0.2
> aruatai <- 0.5
> a <- runif(100)
> a[((a> aruatai + haba) | (a < aruatai - haba))]
こういうこと?


324:132人目の素数さん
07/07/24 20:37:04
>>321
破損割合の推定の仕方だけでも教えてもらえませんか?

325:132人目の素数さん
07/07/25 10:32:26
R初心者なんだけど

[A]
ID SEX
1 F
2 M
3 M

[B]
ID WEIGHT
1 60
3 50

みたいなデータフレームを横結合して
[C]
ID SEX WEIGHT
1 F 60
2 M NA
3 M 50
って感じにしたいんだけど、どうすればいいんかな?



326:132人目の素数さん
07/07/25 11:27:44
>>324

この書き込みについてる表だけじゃ列の意味もよくわからないよ。問題文の読み取り方から
間違っているんじゃないの?先生に直接きいてみたら?

>>325

> a <- data.frame(id=c(1,2,3),sex=c('F','M','M'))
> b <- data.frame(id=c(1,3),weight=c(60,50))
> c <- merge(a,b,by="id",all=T)
> c
id sex weight
1 1 F 60
2 2 M NA
3 3 M 50


327:132人目の素数さん
07/07/25 18:41:06
>>326
アリガ㌧です

328:132人目の素数さん
07/07/25 18:52:09
重回帰分析を使った一期先予想の仕方を教えてください

329:132人目の素数さん
07/07/25 20:44:26
>>327
                 γ⌒/^^/^-
               ,ゝ`/~ /~ /~  /⌒ 
           _  〈(_|  | |~  |~  /^ )
            (/~ /~ /~ /~ ~ /~ /^\
           ()/)/~ /~ |~    .|~ |~ |~ /)
           へ^〈,|,,、,,|,,、,,,,,|~,,,,、〈~,, 〈~ /⌒|)\
          |:::::::   ゛  ゛          ,,,,;;::'''''ヽ
          |::::::::      ,,,,;;:::::::::::::::       __ ヽ
          |::: "   __    ::::     <'●, |
         ┌―. - '"-ゞ,●>   ::::::...         |  
          | | ̄..          :::::::          |
          ヽ.\{_           ( ○ ,:○)   |  . '・,.、 .
           \\/.                 ,'・, ,'・, . '・,.、、 .
             \_ヽ.        __,-'ニニニ,',ヽ . '・,.、 . '・,.、
..                ヽ.        │    /,'・,.、’、′’、′′′‘‘‘、 .
                \        │   │’、′′,.、 . '・,.、
                 |       ヾニ二ン"|・ '・,.、’、
                 |              /
                 ヽ\             /  
                  l  `ー-::、_       ,,..'|ヽ. 
                 :人      `ー―'''''  / ヽ
              _/  `ー-、          ,.-'"   \ー-、
           ,.-'"  \:      \      .,.-''"     |
         /.     \        ~>、,.-''"      |
    ,,..-‐'''""        ヾ    ,.-''"|    /――、/

330:132人目の素数さん
07/07/25 22:39:41
>>326
一番左のはRでデータ表示したときの行番号なんで無視してください

53 2
57 1
58 1
63 1
66 0



76 0
78 0
79 0

左側が打ち上げ時の温度で、右側が破損個数だそうです!

331:331
07/07/25 22:43:17
3/3=1


332:132人目の素数さん
07/07/26 10:25:53
>>330

お、きちんと調べてきましたね。
これならわかるかな。
Oリングは合計で6つあるんだから、破損割合は破損個数を6でわればOkだね。
あとは破損割合と温度の間に関係があるか?という仮説に対して、
統計学的な答えを与えられれば、いいレポートになるんじゃないの。



333:132人目の素数さん
07/07/26 10:28:48
>>328

「一期先予想」という言葉は聞いたことがないんだけど、
predict(model, newdata=data.frame(説明変数=xxx)) のこと?



334:132人目の素数さん
07/07/26 11:53:43
重回帰ってn個からなる時系列のn+1番目の値の予測には使わないのが一般的?

335:132人目の素数さん
07/07/26 12:26:16
>>332
単純にそれでいいんですね。推定せよなんて立派な事書いてあったので、最尤推定とかするのかと思いました

横軸に温度,縦軸に破損割合をとったグラフを書くんですが、破損回数がゼロ回のときを抜いたものも
書かなきゃいけないんですが、Rではどうやるんですか?

実はこれだけじゃなくて、温度でグループわけして破損割合の区間推定なんかもしないといけないんですがw

336:132人目の素数さん
07/07/27 11:21:26
>>334

一般的かどうかは業界によると思われ。
まぁいずれにせよpredictで。

>>335

1回の打ち上げにつきデータ一組しかないからmleとかfitdistrはないな。
破損回数がゼロ回をのぞくのは、データ抽出の問題。データフレームから、特定の変数が
特定の値になっている行だけをとりだす関数、あったよね。

逆に温度をカテゴリ化して,特定のカテゴリの破損割合を抽出して、その母平均の信頼区間...
という流れか。


337:132人目の素数さん
07/07/27 22:22:14
>>336
カテゴリわけってどうやるんですか?

if(temp>=66){
g1=temp}
else{
g2=temp

みたいにすると 条件が長さが2以上なので,最初の一つだけが使われますって出てできないんです


338:132人目の素数さん
07/07/27 22:26:34
すいません。普通に抽出の関数で場合わけしたらできました・・・

温度が低いほうのグループがこんな風になったら、このグループでの破損割合pでどうやって求めるんですか?
(2+1+1+1)/6でいいんですか?
53 2
57 1
58 1
63 1

339:132人目の素数さん
07/07/28 23:58:19
>>338

subsetとかで抽出するのも正解ではあるけど、
cutでファクタに変換してからx[temp=="(50,55)",]とかで抽出するほうが
Rらしいかな。

(2+1+1+1)/6 って、まさかとは思うが、
((2+1+1+1)/4)/6 のミスタイプだよな?

破損割合の平均値が求まったら、1標本t検定に使う関数で、平均値の
信頼区間を求めてみれば?



340:名無しさん@そうだ選挙に行こう
07/07/29 10:35:06
>>339
温度が低いグループと高いグループでそれぞれp1,p2の破損確率が求まりました。

t.testを使った方法がわかりません。t.testの引数は一つですよね?

また気温がたとえば60度の時の破損確率を予測する方法もわかりません

341:132人目の素数さん
07/07/30 19:27:47
読み込むCSVデータの列が大きすぎて読み込めない場合、なにかいい方法はありますか?
データのほうは手をつけずに

342:132人目の素数さん
07/07/30 23:51:05
>>340

t.test(c(2,1,1,1)/6) とかで破損確率の95%信頼区間をだせば?
予測は...このレベルの学生さんにlm()をやらせるとは豪気なw



343:132人目の素数さん
07/07/30 23:54:45
>>341

列が大きい場合って経験したことがないですが、Rの制限でしょうか。
何列ぐらいのデータですか?

RでだめだとExcelでもだめだろうと思うので、あとはRubyとかPerlとかawkとかに
頼るしかないかと...


344:132人目の素数さん
07/07/31 00:01:52
大規模データを扱うhugeパッケージとかなかったけか?
そもそもRで駄目ならRubyもPerlもawkも基本的に駄目でしょ。
SASはデータをメモリに読み込まないから大丈夫だと思うけど。

345:132人目の素数さん
07/07/31 06:56:50
>>344

ん?1行をどういう方法で読み取るかによるので、Rではだめでも、Ruby等で
簡単に1つのCSVをいくつかのファイルに分割するスクリプトを書いて、分割した
ファイルをRで読み込めばよいのでは?

SASって読み込めるCSVファイルの列数も制限ないのかな...
まぁ、一度データセットになってしまえば確かに大規模データはマイニングソフトである
SASの得意分野だと思うけど。


346:132人目の素数さん
07/07/31 20:16:51
>>345
複数のCSVファイルに分割しても結局Rに読み込むんでしょ?
デフォルトのRはオンメモリだから何も変わりません。
分割したファイル毎に分析を行い結果を統合…まず有り得ませんね。

SASはデータをHDにガリガリ書き込んでメモリを使わないのさ。
一部のプロシジャは別だけど。

347:132人目の素数さん
07/08/05 14:06:41
Rはデータハンドリングが弱すぎだね。ちょっと致命的。

348:132人目の素数さん
07/08/05 14:40:52
>>347
具体的に

349:132人目の素数さん
07/08/05 21:35:59
>>347

そういう分野もあるかもね。さようなら。
自分の分野ではまったくそういう印象を受けないので、想像できないけど。


350:132人目の素数さん
07/08/05 23:37:33
データハンドリングが一切必要の無い分野・・・研究室かw

351:132人目の素数さん
07/08/07 19:54:28
これ大量のグラフ書き用にはつかえないよね
一体何行書けば足りるのかって気になってくる
凡例書くのでさえ一苦労

352:132人目の素数さん
07/08/07 22:20:41
なんというゆとり脳

353:132人目の素数さん
07/08/07 23:19:51
そうか...スクリプトという概念そのものがないのか...
これがゆとりということか。


354:132人目の素数さん
07/08/08 22:15:38
Rにファジーのパッケージありますか

355:132人目の素数さん
07/08/08 22:36:15
は?おかしなこと言うもんだね
凡例書くのにどれだけ手間とられてると思ってるんだよ!!!
プロット点の数字、色の数字、配置!(場所が座標指定w)
更に数式表現さえexpression
でわざわざ調べて書かなきゃいけない煩雑さ!
冗談じゃないよ!つくってるやつはなにやってんだ!
スクリプト?
いっとくがおれはzshとPerlマスターだ
その俺が頭にきてるんだ
猛省しろ

356:132人目の素数さん
07/08/09 05:10:50
例えばどういうグラフをどれだけの「行」で描いて欲しいのか
具体的に書いてみたら?

357:132人目の素数さん
07/08/09 05:48:58
>>355
>いっとくがおれはzshとPerlマスターだ

( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \

358:132人目の素数さん
07/08/09 16:23:19
ゆとりやろうども354に答えてやれ!

359:132人目の素数さん
07/08/09 20:40:57
>>354

gcl: Compute a fuzzy rules or tree classifier from data
fuzzyRankTests: Fuzzy Rank Tests and Confidence Intervals

>>355

まだ若い君の経験での評論と、世界中の第一線の統計学者が愛用している実績と、
どちらが信用できるかよく考えてみるといい。
効率的な使い方がわからなければ、質問することは恥ではないよ。
たとえばpdf()やpng()を使ってグラフの主要部分だけを書いて、凡例等は他のソフトでつける
テクニックとか、locator()関数で場所を指定する方法とかね。

360:132人目の素数さん
07/08/09 21:59:39
まぁオサーンの>355は手書きの方が速そうだw

361:361
07/08/09 22:11:28
√(361) = 19 才は未成年


362:132人目の素数さん
07/08/09 23:00:08
Rって扱えるデータ数は何個なんですか?


363:132人目の素数さん
07/08/10 01:57:31
まあ広く浸透させるためには
もうちょっとグラフを簡単に書けるようにしなきゃいけない、
っては事実だと思うよ。

グラフの書式は、エクセルみたいに手でいじれるようにするとか。

数式とかも、せめてTEXと同じ書式で入力できたら楽なのに。



364:132人目の素数さん
07/08/10 02:54:35
>>363
頑張って作ってくれw

365:132人目の素数さん
07/08/10 03:27:20
java通してJFREECHART使えばEXCELより綺麗なグラフが作れる

366:366
07/08/10 22:13:11
√(36)=6


367:132人目の素数さん
07/08/12 00:43:29
packageをインストールして関数定義を見ると
.call("○○")
とかなっているんですが、この場合cのソースとかはどこを調べればいいんでしょう?
また、cのコードを編集するにはどうすればいいんでしょう?

368:132人目の素数さん
07/08/12 01:23:44
>>367
> この場合cのソースとかはどこを調べればいいんでしょう?
CRANへ行ってソースファイルを見る
> cのコードを編集するにはどうすればいいんでしょう?
テキストエディタで編集する

ソースを検索したいなら、例のgonzuiサイトが便利。

369:132人目の素数さん
07/08/27 02:47:43
あけ

370:132人目の素数さん
07/09/03 18:18:43
タブ区切りのデータフレームを、CSVファイルへの書き出しについて質問です

処理を行って、データフレームを生成すると、出力時に1列目に

1
2
...

と番号を振ってくれるのですが、そのデータフレームをファイルの保存する際に
その振ってくれた番号を一緒に保存してしまい、列がひとつ右にずれてしまいます


また、空のデータ項目があった際、たとえば
"aaa"\t""\t"bbb"\t
のような時にCSVファイルに書き出そうとしたらaaaからbbbまでをひとつの文字列として認識してしまい
結果項目数がおかしくなり、これまたずれが生じてしまいます

何かよい解決方法ご存知の方、ご教授お願いします
使用しているのはVer2.50です

371:132人目の素数さん
07/09/03 18:35:09

しかもずれるのは行数によってマチマチです
aaa,\t,bbb をひとつの文字列として認識したり
AAA,\t までをひとつとして認識したり

前後のaaaやbbbのアスキーコードとかの関係かもしれませんが

372:132人目の素数さん
07/09/03 20:11:34
>>359
多くで使われてることと使いやすさはほとんど関係ないよ。

これはソフトウェアインターフェイス設計では常識。


373:132人目の素数さん
07/09/03 22:58:38
>>370
データの書き出し関数のオプション弄れば消せなかったっけ?
英語が苦手なので…ってのはナシな

374:132人目の素数さん
07/09/04 16:05:14
>>373
オプションで番号問題は解決しました
write.table(x, file=" ",row.names=FALSE)

が、文字列データの区切りは相変わらずうまくいきません
NAでなくても、連続する日本語データでも、区切りがなくなる文字があるようです

375:答えは100
07/09/04 22:23:37
linuxでコマンドラインで使ってます。
表示をlessみたいにページ単位でやらせるには、どうすればよいですか?


376:132人目の素数さん
07/09/06 08:41:52
>>374
write.tableでオプションをがしがしつけていいけど、write.csvとかwrite.csv2を使わないのはなぜ?
>>375
lessがページャだとしっていれば
?page
linuxならemacs+essを使うとらくだよ。

377:132人目の素数さん
07/09/07 01:27:52
Vine Linux 4.1のフルインストールした後Rをapt-getで追加インストールできるんですけど
X11()を行うとフォントパスがおかしいと言われて表示できないんですが、
何が足りないか分かる人いますか?
コマンドオンリーでウィンドウは開けないとか?

378:132人目の素数さん
07/09/07 09:32:52
>>377
役に立たなくて申し訳ないが、こちらは問題なし。

379:132人目の素数さん
07/09/07 23:28:16
>>378
情報ありがとう!
実はあの後別のマシンで試したら確かに普通にX11ウィンドウが使えた。
やはりRのソフトそのものには問題はなさそう。
しかし、もう一方のマシンではなぜ同じように入れたのにフォントパスが
おかしいと言われるのだろう?謎は深まるばかりです…。

380:132人目の素数さん
07/09/08 14:52:39
Rの入門講習ってのもあるんだね。
"R" 実習で学ぶ統計的シミュレーション入門セミナー 大阪大学 坂本亘准教授
日時:2007年9月18日(火) 12:30-16:30 会場:大井町きゅりあん4階
URLリンク(www.johokiko.co.jp)

381:132人目の素数さん
07/09/09 02:56:32
結果格納するために日付の入ったディレクトリを作りたいのですが
Rで新しく動的にディレクトリ作成するにはどうしたらよかですか?
write.csv(x,paste(sys.date(),"kekka"))

382:379
07/09/11 00:07:37
あれからもう一度試したら普通に動きました。
一体あのエラーは何だったんだろう…。

383:132人目の素数さん
07/09/11 19:53:46
>>381
環境をかきなよ。
system("mkdir $(date +%Y%m%d)")
で今日なら20070911というディレクトリが出来るけど。

384:132人目の素数さん
07/09/19 11:27:19
皆さんはWindows上で R を書くのにどんなエディタを使っていらっしゃいますか?
前スレでは Meadow + ESS が紹介されていましたが。
また、xyzzy で R を書くのに適したモードはありませんか?

385:132人目の素数さん
07/09/20 11:31:46
R立ち上げたら
2007-09-20 11:27:17.098 R[659] tossing reply message sequence 1 on thread 0x567d0a0
こんなメッセージが赤い字で出てました。
これは一体なんでしょうか?

R version 2.5.1 (2007-06-27)
R 2.5.1 GUI 1.20 (4535)(4535)OSXです。

386:132人目の素数さん
07/09/20 16:45:36
どうして
for (i in 10:20) {
shapiro.test(1:i)
}
と書くと、ループ内の行の出力がでなくなるのですが、
これはどうしてですか?

387:132人目の素数さん
07/09/20 17:32:15
>>385

うちの環境では出ないので、Application EnhancerとかGrowlとか、
アプリの起動時に何かさせる拡張系が組み込まれている環境特有な
現象のような気がする。



388:132人目の素数さん
07/09/21 04:21:33
>>386
for (i in 10:20) {
print(shapiro.test(1:i) )
}
でいけるかと

Rってソートは遅いみたい?ですねPHPで組んだプログラムより遅いくらいな気が
結果だけ出してCでソートするモジュール書いたほうがいいですかね?
みなさんソートとかするときどうしてます?

389:385
07/09/21 09:06:22
>>387
一旦終了してから起動し直すと出なくなります。
でも、システムを起動し直し、Rを動かすと(一回目に限り)やはり出てきます。

実害は無さそうなので、気にはなるけれど、目をそらすことにします。
ありがとうございました。

390:132人目の素数さん
07/09/22 15:38:19
構造方程式(sem)パッケージを利用して、潜在変数を仮定するモデルを推計することは可能でしょうか。

391:132人目の素数さん
07/09/22 18:28:36
ゴ ゴ ゴ ゴ ゴ ゴ ゴ ゴ   
   /\  /| 
  / /| \/ |(\ /)
 / / |  \|( ゚ー゚) <全力でWindowsを捨てOpenBSDに移行せよ
/  / |   __〃`ヽ 〈_   OpenBSD
  / γ´⌒´--ヾvーヽ⌒ヽ    OpenOffice.org+Wine
  //⌒  ィ theo`i´ pf ); `ヽ  FireFox+Xfce+uim+anthy
 //    ノ^ 、___¥__人  |      ClamAV+Snort+Privoxy+Tor
/ !  ,,,ノ爻\_ _人 ノr;^ >  )
/ (   <_ \ヘ、,, __,+、__rノ/  /
  ヽ_  \ )ゝ、__,+、_ア〃 /
    ヽ、___ ヽ.=┬─┬〈  ソ、
      〈J .〉、|   |, |ヽ-´
      /""  | sshd |: |
      レ   :|:   | リ
      /   ノ|__| |
↑    /| ,,  ソ  ヽ  )
 \_/ .,ゝ   )  イ ヽ ノ
     y `レl   〈´  リ
     /   ノ   |   | .
     l  /    l;;  |
     〉 〈      〉  |
    /  ::|    (_ヽ \、
   (。mnノ      `ヽnm

392:132人目の素数さん
07/09/22 19:13:22
64bit版WindowsでR使ってLinuxより制限されてるとこって何処かあるかな

Open厨からは回答いらね。

393:132人目の素数さん
07/09/25 22:16:57
すみませんが、質問です。
R で多倍長整数(桁数に制限のない整数)を扱うことはできますか?
たとえば 1000!を正確に計算する、といった用途です。

394:132人目の素数さん
07/09/26 04:09:59
>>393
多倍長整数を操作する関数群、パッケージ gmp

2chで聞く前に
URLリンク(www.okada.jp.org)
で検索くらいはしませう。


395:393
07/09/26 09:43:01
>>394
何だコラ!上から目線で物言ってんじゃねえぞ!
俺が馬鹿だからってなめんなよ。ひとこえで20人はあるまるからな。


396:393
07/09/26 12:32:43
>>394
おお、ありがとうございます!
たしかに検索したらあっさり見つかりました。すみません。
URLリンク(www.okada.jp.org)
1000! は
> library(gmp)
> prod.bigz(1:1000)
で求めることができました。

>>395
数学板にも騙りとかやる人がいるんですねえ。
まあ、馬鹿は当たってます。

397:132人目の素数さん
07/09/27 00:58:19
>>396
「あるまる」

398:132人目の素数さん
07/09/27 08:27:48
R丸ってそれはR言語じゃなくてコピーライトマークだな。

399:132人目の素数さん
07/09/29 02:31:04
MacOSX10.4+R 2.5.1を使っております。
Quartzではグラフで日本語が通るのですが(青木先生の.Rprofile設定)、
Carbon Emacs+ESS 5.3でX11上で日本語をグラフ出力すると文字化けしてしまいます。
どなたか対策をご存じの方いらっしゃいますでしょうか。。

400:399
07/09/29 02:48:24
お騒がせしました、X11fontsの設定でいけました。感動です。。

401:132人目の素数さん
07/09/30 12:26:45
RはGUI機能がまともではない
いったい何十年前の機能しかもってないのかっての

402:132人目の素数さん
07/09/30 13:37:04
GUIは今後Rcmdrが少しずつ進展するかと。
SPSSやSASでもGUIでは出来ないこと多いかと。
それより、Rでは変数が多い場合のデータハンドリングに結構工夫が求められるかと。

403:132人目の素数さん
07/10/01 18:50:22
>>399
MacOSXでessを使っている仲間を発見!
エラーメッセージなどの字化けはどうやって回避しているの?
こちらはあきらめてLC_ALLをCにして使っています。


404:132人目の素数さん
07/10/01 18:57:40
>>401
オープンソースの文化では、いいだしっぺの法則というのがあります。
> RはGUI機能がまともではない
不満ならあなたが作りなさい。
> RSiteSearch("widget")

私は不満ではないです、っていうか、Rcmdrみたいなのならいらん。


405:132人目の素数さん
07/10/04 15:06:57
現在PHPで解析結果閲覧画面を作ってます。
ページ閲覧中に、Rを再呼び出しして、再び解析を行い、ファイルを生成したものを画面表示したいのですが

<?php
system("R < rscript.R");
?>
としましてもうまく動いてくれません

ためしに書き出す先のパーミッションを777にしてみたり、パスをすべてフルパスに記述し直したりもしたのですが
うまく動きません

PHPの話題も織り交ざってますが、識者の方回答のほうよろしくおねがいします。

406:405
07/10/04 15:18:35
自己解決しました。ありがとうございました。

407:132人目の素数さん
07/10/04 15:22:31
↑騙りです
引き続き回答よろしくお願いします

408:132人目の素数さん
07/10/04 18:15:19
エクセルVBAからRの関数を利用する方法はありますか

409:774ワット発電中さん
07/10/05 01:54:25
RExcelの関数がVBエディタから使えるかも知れない。

410:132人目の素数さん
07/10/05 12:45:29
>>405
そもそもそのWebサーバのターミナルで R < rscript.R が期待通りになる?

411:405
07/10/05 12:58:39
モチロンそうよ!

412:132人目の素数さん
07/10/07 11:18:26
貧乏な基礎医学系はともかく、臨床でIFの高い論文誌だとSASかSPSSじゃなきゃ
通用しないみたいな印象があるんですが、臨床疫学論文でR使ってもアクセプトされるんでしょうか?


413:132人目の素数さん
07/10/07 12:17:55
ソフトのせいにすんなよw

414:132人目の素数さん
07/10/07 23:31:23
>>412
別に問題ないが、医療機器買う金ある所なんだからS-PLUS位は買えばいいと思うし
必要なら有償の追加パッケージも購入すれば楽だ。
それだけの費用出してもらったら研究にもプレッシャーがかかってモチベーション上がるし。

結果だけが必要ならわざわざ無理してRを使う必要はないと思う。

415:132人目の素数さん
07/10/08 03:30:39

せっかくRExcel入れたけど、R Startさせるとマクロの文字列関数のとこでボロボロに落ちる
Left$やMid$が使えねえってどういうことだ? 文字コードが対応してないのかなあ。

416:132人目の素数さん
07/10/09 01:40:15
EXCELの対応バージョンがあるみたい私も出た
2003はどのREXCELで対応してるのか誰か教えてください

417:132人目の素数さん
07/10/12 15:38:54


418:132人目の素数さん
07/10/12 15:42:56
クリップボードからコマンドを一気にRにコマンドを入力したときに、
文字(データ300個×42項目)がゆっくり入力されてしまい、かなり時間が掛かります。
何かよい方法はないでしょうか?

419:132人目の素数さん
07/10/12 21:21:22
使いやすいように
早く改良しろよ!

420:132人目の素数さん
07/10/13 05:56:35
>>418

普段使いでない入力用機械を一台用意する。

クリップボードからではなく、ファイルから読み出すようにする。

421:132人目の素数さん
07/10/13 21:22:36
以下のようなデータがあるファイルがあるとき、

2005-12-01,45.14
2005-11-01,45.95
2005-10-03,45.74

これをread.table(fname,sep=",")で読んで、
data.frame()に格納したいとき、
as.Date(tbl[,1])
as.numeric(tbl[,2])
などという変換は必要でしょうか。
もしくは何か意味があるのでしょうか?

どうかよろしくお願いします。


422:132人目の素数さん
07/10/14 01:46:51
421です。
というか、質問したかったのは、as.XXX という
変換ってなんのためにあるのでしょうか?
as の意味がよくわかりません。C言語でいう
キャストみたいなものでしょうか?
でも、無しでもなんとなくできてしまいそうな感じがするので、、、、


423:132人目の素数さん
07/10/14 12:19:33
関数によってはfactorが存在しないデータセットは受け付けない場合もあるし、
逆にStringやfactorが入っていると動かないものもある。

as.Dateは使った事ないが、
関数の中でDate形式だけに特化した機能を持たせるor厳密な設計がされている場合は必須になる。
>421の2列目のnumericに関してはis(tbl[2])でnumericなら不要だろ。

424:132人目の素数さん
07/10/15 09:02:50
>>423
ありがとうございました!
なるほど、as.Dateがどういう意味なのか分かったような
気がします。とりあえず、もともとついていたので、as.Date
はつけて、as.numericは外してやってみようとおもいます。


425:132人目の素数さん
07/10/16 15:37:11
いまRの関数の書き方を勉強してるのですが、
適当な数字を10個返す関数を作るとき、print()を
使うと画面に表示はされますが、返り値としては
扱われませんでした。

samp = function(x) {
for (i in 1:10) {
print(x)
}
}
これってどのように書くべきでしょうか


426:132人目の素数さん
07/10/16 16:32:22
samp = function(x) {
a = 1
for (i in 2:10) {
a = c(a,i)
}
a
}
こう書いたらできたけど、正しいですか?


427:132人目の素数さん
07/10/17 07:01:46
426です。これはseq()とかを使わずに書こうとしたものです。
どなたかお教えください。

428:132人目の素数さん
07/10/17 07:17:53
少しは調べる努力しろカス
URLリンク(www.okada.jp.org)

429:132人目の素数さん
07/10/17 07:48:37
>>428
ありがとう!
カスと言われても全然いやじゃない。とてもうれしいよ、そのリンク先。


430:132人目の素数さん
07/10/18 08:59:17
foo <- function(x) {
if (x == 0) {return(1)}
else {return(0)}
}
として、
plot(foo,-1,1)
とすると、以下のエラーになってしまいます。何が間違っているのでしょうか?

> plot(foo,-1,1)
以下にエラー xy.coords(x, y, xlabel, ylabel, log) :
'x' and 'y' lengths differ
追加情報: Warning message:
In if (x == 0) { : 条件が長さが2以上なので,最初の一つだけが使われます



431:132人目の素数さん
07/10/18 09:09:05
>>430
foo()以前に、plot(0,-1,1)でエラーになる時点で気づけよ


432:132人目の素数さん
07/10/18 09:40:51
>>431
でもplot(sin,-1,1)ができるのに、定数関数が描けないのはなんで
でしょうか?
というか、foo()をプロットする方法はないでしょうか。
foo(1:10)とかやってもダメでした。
(sin(1:10)はできた。)
どうかお教えください。


433:132人目の素数さん
07/10/18 11:26:11
>>432
自己レスです。
わかりました。ベクトル化ということですね。
foo <- function(x) {
temp <- function(x) {
if (x == 0) {return(1)}
else {return(0)}
}
sapply(x,temp)
}

と書けばplot()できました。


434:132人目の素数さん
07/10/18 13:46:14
質問です。
R にはマルチスレッドを扱う機能はあるのでしょうか?

JavaのWEBアプリから呼び出そうかと思っているのですが、呼び出すたびに新し
いプロセスが立ち上がってしまうと、リソースを食いすぎて困ると思いますの
で、何とか一つの環境で複数のスレッドを実行させたいのです。


435:434
07/10/18 16:54:57
自己レスです。過去ログにこんな記述が。
RVPMを調べてみます。

スレリンク(math板:561番)
R本体にはスレッドコントロールをするAPIはないような感じ。
マルチスレッド版のBLASを使うぐらいか。
R-helpにはRVPMっていう名前がでてきたけど、ぐぐってもひっかからない...


436:434
07/10/18 17:05:49
さらに自己レス。
×RVPM → ○RPVM
どうりで「ぐぐってもひっかからない...」わけです。

CRAN - Package rpvm
URLリンク(cran.r-project.org)

Parallel Virtual Machine - Wikipedia
URLリンク(ja.wikipedia.org)
> PVMをインストールすると、ネットワークに接続された複数台のコンピュータ
> を、単一の計算機として利用するができるようになる。

なんだ、それでは話が逆じゃないか。こちらは1台のマシンで複数のスレッド
を動かしたいのに。

どうやら、マルチスレッドで動作する Javaプログラムからのリクエストを、一
つのRのプロセスで処理するのは、無理ということかなあ。


437:132人目の素数さん
07/10/18 19:02:01
MPIでもPVMでもいいが、プロセスレベルで並列化してもいいんじゃん。snowとかつかえば簡単ぽいし。単にマルチスレッドのJavaプログラムからブロッキングなしでよびたいだけならRSOAPだっていいし。

438:132人目の素数さん
07/10/18 19:29:32
>>433
Rをさわり始めた頃の自分を見ているようだ
hoge <- function(x) {
ifelse(x==0,1,0)
}
> hoge(1:10)
[1] 0 0 0 0 0 0 0 0 0 0
> hoge(-5:5)
[1] 0 0 0 0 0 1 0 0 0 0 0


439:434
07/10/18 21:16:44
>>437
> MPIでもPVMでもいいが、プロセスレベルで並列化してもいいんじゃん。snow
> とかつかえば簡単ぽいし。
Rのプロセスは1つが最低25MBも食うので、プロセスレベルの並列化は、ユーザ
が多数同時アクセスしてきたら困るのです。

> 単にマルチスレッドのJavaプログラムからブロッキングなしでよびたいだけ
> ならRSOAPだっていいし。
これですね。
URLリンク(www.okada.jp.org)
これに、R自体をマルチスレッドで動かす機能があるのでしょうか?


440:132人目の素数さん
07/10/19 07:22:04
マルチスレッド化考える前に、1つのスレッドでどの位データスペース消費するか考えるほうが先じゃねえ?
実メモリにワークスペース置ききらないマシンに実行させても嬉しくない気がする。

441:132人目の素数さん
07/10/19 09:37:23
>>438
自分はC++はそこそこ使えて、schemeはなんとか読めて、というくらいなのですが、
Rは両方のいいとこをとったような文法と、ライブラリが充実してるのがいいです。

ifelseはベクトル化されているからそっちを使えということですよね。
ありがとうございます。




442:434
07/10/19 12:24:27
>>440
一つ一つのスレッドは、せいぜい50X50の行列を解くだけなので、そんなにメモ
リは食わないはずなんです。少なくとも25MBは行かないと思う。

443:132人目の素数さん
07/10/19 18:40:57
処理内容がわからないのであてずっぽうですが
そのくらいだったら直接R使わないで一旦行列演算ライブラリでマルチスレッド化したほうが良くないかな?
その結果をユーザースレッドID付きでRのデータスペースに戻してきてRで処理した方が効率的な気がする。
まあ作る手間とのトレードオフだけど。

444:132人目の素数さん
07/10/20 02:01:14
>>443
そうですね。全部Javaで済ませることも検討します。

445:434
07/10/20 02:02:16
失礼、名前欄が抜けてました。

446:132人目の素数さん
07/10/20 22:08:31
スクリプト書くとき
自動補完してくれる機能はないのですか?

447:132人目の素数さん
07/10/22 17:18:56
>>446
そのためのess

448:132人目の素数さん
07/10/22 22:37:13
>>447
あれ?なんで俺が・・・?

449:132人目の素数さん
07/10/24 10:18:34
2x2行列がxy平面上の点をどう動かすかを図示するスクリプトを
書こうと思ってます。そこで質問なのですが、plot()で線分を表示する
のってどうやればいいですか?

450:132人目の素数さん
07/10/24 11:15:36
>>499
add=TRUEでもlines()でも好きなのを使え

451:132人目の素数さん
07/10/24 11:32:37
>>450
ありがとうございます。でもlines()でうまくいきません。
c(1,1) -> c(3,4)
c(1.1,1.1) -> c(4,5)
...
という感じの点から点への対応のリストがあって、これを図示したいのですが、
lines()って点を2つ与えると線をかいてくれるのですか?




452:132人目の素数さん
07/10/24 14:07:32
>>451
> plot(runif(10)*10,runif(10)*10)
> lines(c(1,3),c(1,4))
> lines(c(1.1,4),c(1.1,5))
普通に線を引けるけど。

453:132人目の素数さん
07/10/24 14:23:26
>>452
ありがとう。たしかに452が書いてくれた順序でやるとlines()も動きました。
でも、plot()よりも先にlines()を実行すると、lines()が正しく動きませんでした。

> lines(c(1,3),c(1,4))
以下にエラー plot.xy(xy.coords(x, y), type = type, ...) :
まだ plot.new が呼ばれていません

とか出ます。
でもとりあえずこれでできそうなので、やってみます。
ありがとうございました。


454:132人目の素数さん
07/10/24 23:05:55
CSVデータ読み込みについて。
形が不規則でちゃんとした四角形になって
ないとき全データを含んだ
Matrix型にしたい(所々の空白はNA)
んだけどどうしてもできない
なにかよい方法は?
かなりの大きさだし
縦横の大きさは前もって決めておきたくない(なぜなら数知る必要があるから)
あくまでソフト側で自動で判別できてくれて
全データを含んだMatrix型がほしい
どうすればいいのか?

455:132人目の素数さん
07/10/24 23:18:31
>>454
先にExcelで整形しておいてRExcel使え

456:454
07/10/25 18:05:38
RExcelエラーでまくり
マクロの文字列関数がおかしい
Excel2003で最新のやつインスコ
してこれだ
完全に>>455にだまされた

457:132人目の素数さん
07/10/25 18:40:13
3群のnon-parametricなdataが有ります。
これをpower analysis出来ますか?

458:132人目の素数さん
07/10/26 05:16:49
>>454
そういうケースならcsvを直接読み込むんじゃなくて、sdf(固定長)に変換
してからread.table()にすれば?俺ならCPANにあるText::CSV_XSまたは
Text::CSVのお世話になるな。もし、与えられたデータ形式がCSVという
縛りがないなら、最初からsdfを使った方がいいんじゃね。

もし、文字列データの中にカンマを決して含まないとか、ごく単純なCSVに
限定した話なら、Rだけで何とかなるけどね。

459:132人目の素数さん
07/10/26 06:08:50
>>455-456
おまえらカスだな。
RExcelだめなのは>>415-416で既出だろ。

460:132人目の素数さん
07/10/26 08:34:50
質問させて下さい。
グラフを上下逆転表示したいのですがそのようなコマンドはありますか?

仕入値、売上値を同時にグラフ表示するのですが重なってしまって見難いので
仕入値は下から上に向かって正
売上値は上から下に向かって正
というようにしたいのですが・・・

ちょっと考えたのは、売上値の最大値から各売上値のデータを引き算したデータを作って
それを描画するという事なんですが、もう少し簡単な方法がないかと・・・


461:132人目の素数さん
07/10/26 17:03:25
>>460
折れ線か棒グラフか?棒グラフの1つのカテゴリーを逆さにするのはアリだと思うけど、
折れ線グラフだと、そんな変な図はかえって見にくいと思う。


462:132人目の素数さん
07/10/27 18:58:04
レスありがとうございます。
par(new=T)してplotで点として描いてるんだけど、点の数が数万~数十万になるので前に描いたグラフが新しく描かれたグラフの下に消えてしまい・・・上下逆転できればいいなと思いまして。


463:132人目の素数さん
07/10/28 12:41:43
複数個のデータフレームからなるリストがあって、そこに新たに
データフレームを追加したいとき、どうすればよいですか?
list <- c(list, data_frame)
とするとlistが変になってしまうし、

list==> (df1, df2, df3, df4)
データフレームを追加
list==> (df1, df2, df3, df4, df5)
となってほしいのです。どうかよろしくお願いします。


464:132人目の素数さん
07/10/28 12:53:08
>>463

x <- list(NULL, NULL, NULL, (目的の数だけ))
としておいて、
x[[i]]としてアクセスする、

とできますが、これだと追加ができないのと、NULLの数が増えたときに
Rの中だけではスクリプトを作成できない(難しい?)です。
今はemacsのマクロでやってます。




465:132人目の素数さん
07/10/28 19:07:28
>>463,464
ん?
list <- data.frame(list, new_data_frame)
ってだけじゃない?


466:132人目の素数さん
07/10/29 03:56:37
>>465
ありがとうございます。
そうやると、データフレーム同士のデータが混ざってしまって
うまくいかないようなのですが。。。
とりあえず今はl <- list(NULL, NULL, .......)というのを手動で作成して
l[[i]]という感じで使っています。


467:132人目の素数さん
07/10/29 04:13:20
>>466
l <- list(NULL, NULL, .......)は不要と思うけど。
単純に[[i]]を使えばよいと思う。
> a <- list(data.frame(x=1:10,y=runif(10)),data.frame(x=1:10,y=runif(10)))
このaに新しいデータフレームを足したいのであれば、
> b <- data.frame(x=month.name[1:10],y=runif(10))
というbがあったとして、
a[[length(a)+1]] <- b
とすればよいだけ。

468:132人目の素数さん
07/10/29 19:41:20
>>466
混ざったらだめだったんだね…。
ならば
list <- c(list,list(data_frame))
ではどう?

469:132人目の素数さん
07/10/30 09:32:35
>>468
よくそんなの思いつくな。感心した。

470:132人目の素数さん
07/10/30 10:13:23
>>468
すげえ、、、、できました!
ありがとうございます!

でも、なんかトリッキーな感じですね。


471:132人目の素数さん
07/10/30 12:23:07
みんな、よくそんな難しい方法を考え付きますね
lst<-list()
lst[[1]]<-data.frame(x=1:10,y=runif(10))
lst$df2<-data.frame(x=1:10,y=runif(10))


472:467
07/10/30 13:03:39
>>470
>>471と同じく>>467の方法が正当派だと思うんだけど。。。
説明が回りくどかったのか?>>468の表記をまねれば、
番号なら、
list[[length(list)+1]] <- data_frame
名前付きなら、
list$hoge <- data_frame


473:132人目の素数さん
07/11/03 20:40:15
>>336
業界によるということは、重回帰分析を時系列のn+1番目の値の予測には
使わない>>334使うはその業界の慣習に過ぎず、当否の理論的裏づけは
ないのですね?

474:132人目の素数さん
07/11/05 22:08:04
行列の任意の行と行の足し算を簡単に行う方法,関数ってあるでしょうか?
例えば,次の(4x4)行列
1,2,3,4
2,3,4,5
3,4,5,6
6,7,8,9
の第2行目と第4行目の足し算を行ない,
1,2,3,4
8,10,12,14
3,4,5,6
という(3x4)行列を生成するようなもの。


475:132人目の素数さん
07/11/06 00:33:59
何がしたいのか分からんが、
AtamaTsukaeTako<-function(mat,r1,r2){
z<-rbind(mat[r1,]+mat[r2,],mat[c(-r1,-r2),])
z
}
> zz
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
> AtamaTsukaeTako(zz,1,2)
[,1] [,2] [,3]
[1,] 3 9 15
[2,] 3 6 9

こんなんか?

476:132人目の素数さん
07/11/06 13:04:30
>>475
ほんとに純粋な疑問なので気分を悪くしないで欲しい。
AtamaTsukaeTako <- function(mat,r1,r2){
rbind(mat[r1,]+mat[r2,],mat[c(-r1,-r2),])
}
とせずにわざわざzを経由するのはなぜ?

>>474
> a <- matrix(c(1:4,2:5,3:6,6:9),nrow=4,byrow=TRUE)
> a
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 2 3 4 5
[3,] 3 4 5 6
[4,] 6 7 8 9
> rbind(a[1,],a[2,]+a[4,],a[3,])
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 8 10 12 14
[3,] 3 4 5 6


477:132人目の素数さん
07/11/06 23:18:08
山形浩生が頼みごとをしている。
URLリンク(cruel.org)

> 求む求むウェーブレットのグラフ (eps形式)! メキシカンハットと
> Meyer. ファンシーなものは不要で、リンク先にあるのと同じ単純なものを
> eps 形式でいただければ幸甚。形式そろえたいのでセットでくださいな、と
> いうより両者を左右ならべて(メキシカンハットが左)横長のeps一本にし
> てくださいな。matlabかなんか持ってる人は一瞬で出るでしょ。

本に名前を載せる、または R の名を売るチャンスか?

478:132人目の素数さん
07/11/06 23:21:53
>>476
出力を明確にする。
デバッグが容易。
個人的趣味。

そんだけ

479:132人目の素数さん
07/11/10 15:05:04
ちょっと、技術的な話になりますが、
詳しい方教えて下さい。
残差にAR(1)過程を仮定したFGLSってこのソフトでどのようにやるのかご存知の方はいらっしゃいますか?

480:132人目の素数さん
07/11/11 06:53:12
関数名を()なしで実行するとそのソースが見られますが、
その中にで出てこない変な名前の関数があります。
これってどこをみれば実装がみられますか?


481:132人目の素数さん
07/11/11 08:33:34
>>480
Rのソース

パッケージならパッケージのソース

そのソースがありませんとか言うなよw

482:132人目の素数さん
07/11/11 12:47:15
.Primitiveとかどうしてくれんねん!w

483:132人目の素数さん
07/11/11 13:57:02
指数表示(4e+8)を整数表示にするにはどうすればいいのでしょうか?
少数は含んでいないのでoptions(digits=10)では対応できないみたいです。


484:132人目の素数さん
07/11/11 14:54:35
そんなのが必要な状況の方が異常な気がするが。
何やりたいの?

485:132人目の素数さん
07/11/11 15:15:35
特に何がやりたいわけではないのですが、
400,000,000 を整数表示するのは異常ですか?

指数表記だと落ち着かないんですよね。

486:132人目の素数さん
07/11/12 05:02:15
>>481
ありがとう。
bootライブラリのソースをダウンロードしてくるとその中にありました。
linuxのrpmでinstallした場合って、ライブラリについてはバイナリしか
installされないみたい。
なんかバグっぽいのがあるので(単なる勘違いの可能性も十分あり)ソースを
見てみます。ありがとうございました。


487:132人目の素数さん
07/11/12 14:22:39
>>486
一般的に、バイナリのrpmをインストールしてもソースは含まれませんよ。
ソースが必要ならsrc.rpmの方をダウンロードしないと。


488:132人目の素数さん
07/11/12 16:37:20
すみませんが、質問です。

Windows版のRですが、OS付属のCMDから R(Enter)で起動すると、問題なく動き
ます。しかし、Cygwin の bash から起動すると、

~ $ R
Fatal error: you must specify '--save', '--no-save' or '--vanilla'

というエラーが出ます。

これらのオプションをつけて起動すると、エラーは出なくなりますが、どうも
正常に動いていないようです。例えば

plot(1:10, 1:10)

でグラフが表示されません(CMDならウィンドウが現れてグラフが表示されます)。

これは一体なぜでしょう?そしてどう対処したらよいのでしょうか?
OSはWindowsXPです。


489:132人目の素数さん
07/11/12 16:59:30
>>488
Windowsのことは全く知らないで当てずっぽうだが、Rのオプションしては、
初期ファイルへのパスが通っていないと予想。プロットされてないのは、X
window systemがインストールされていないまたはきちんと設定されてな
いないと予想。

490:488
07/11/12 20:25:47
>>489
ありがとうございます。

初期ファイルへのパスですが、Cygwin環境のパスは、Windows標準のコマンド
プロンプトのパスにいろいろ付け加えたものなので、パスが通っていないとい
うことは考えにくいのです。

X Window についてですが、Windows版の R は、Cygwin環境から起動すると、そ
れを自分で判断して Xクライアントになるということでしょうか?かなり驚き
です。
確かに私は CygwinのX環境は、使うつもりがないのでインストールしていませ
ん。R にはCygwin環境からでも、通常のWindowsソフトとして起動してもらい
たいものです。何か起動オプションがあるかと思いましたが、見つかりません
でした。
どうしたものかなあ。X環境はかさばるので、できたら導入したくないのですが。


491:132人目の素数さん
07/11/12 21:58:14
>>490
Windowsのコマンドライン用にも関わらず、
Cygwinでコマンドを呼びだすとLinuxふうの環境変数が渡されちゃうからそのエラーが出るのでは?
当然Xクライアントにもならないとオモ

やるとしたらCygwinのbashでWindowsのアプリケーションを明示的に呼び出す方法があれば使うくらいじゃね?


492:132人目の素数さん
07/11/12 23:11:49
あれ、>>485って答えるに値しないぐらい基本的な質問ですか?(汗

493:132人目の素数さん
07/11/12 23:21:48
>>490
自分のところで試したら普通に動いたけど…。
Rのバージョンはいくつ?こちらは少し古くて2.2.1だけど
CygwinのbashからRと打つだけで動いてplotもできたよ。
Xウインドウ環境は入れてないよ。
パスはWindowsの方の環境で設定されてるよ。

494:488
07/11/12 23:22:16
>>491
ありがとうございます。分かりませんが、おそらくそれで正解のような気がし
ます。問題は、もう私の今の技術力では解決不能ということです。うう...。

とりあえずは諦めて、Windows標準のCMDから立ち上げます。ありがとうござい
ました。


495:488
07/11/12 23:28:24
うわ、入れ違いでした。

>>493
~ $ R --version
R version 2.4.1 (2006-12-18)
こんな感じです。

そちらでは
> plot(1:10, 1:10)
は表示されますか?

実はこちらでは、上の式はダメですが、R-tipsの28ページに載っているrglの図
2.24 のグラフは、不完全ながら表示されました。plotがすべてダメというわ
けではないようです。

単純に、バージョンを上げたら解決するのかも知れません。

すみませんが、今日はこれでPCを離れます。失礼します。


496:488
07/11/13 11:21:45
追伸。バージョンを上げてもダメですた。

~ $ R --version
R version 2.6.0 (2007-10-03)
Copyright (C) 2007 The R Foundation for Statistical Computing
ISBN 3-900051-07-0


497:132人目の素数さん
07/11/13 20:10:41
試したのはまさにplot(1:10, 1:10)です。
Cygwinの方に問題があるのでしょうかねえ。
こちらのものはだいぶ前に入れたので古いです。
たとえばbashのバージョンは2.05b-16でした。
(今は3.2.25-17なので相当古いですね…。
古い方がうまく動くとかでしょうか?)


498:488
07/11/13 22:20:43
>>497
ありがとうございます。

ちょっと分かりませんが、やはりCygwinから起動するとXクライアントになっ
てしまうのかもしれませんね。
まあ、それっぽい情報はぜんぜん見つからないのですが。

他に最新のCygwinとRをお使いの方はいらっしゃいませんか?
もしかしたら、ESSを使えば問題ないのかな、と思ったりしますが。


499:132人目の素数さん
07/11/13 22:49:03
R project's GNU R for Maemo - Theory of Measurements Wiki
URLリンク(kavaro.com)
動くのかしら?

500:132人目の素数さん
07/11/14 09:53:31
>>498
ESSも多分ダメだろw
ありゃshellだから。

ESSならMeadowでやるとすんなり使えるけど。

501:132人目の素数さん
07/11/14 09:59:47
自由度=i、P=0.05 のカイ二乗境界値を求める
コマンドって無い?
(所謂、統計本の巻末に載っているようなカイ二乗値の
 表で任意の自由度、危険率の境界値が得たい)
これって自分で式を組まなければいけないのでしょうか。

502:488
07/11/14 14:41:47
いろいろ参考リンクを見つけてきました。

cygwinでRはできる? なんでも掲示板アーカイブ(1)
URLリンク(www.okada.jp.org)

Cygwin とR のインストール
URLリンク(web.archive.org)
URLリンク(web.archive.org)

Cygwin00/Section10 - Windowsで始めるBioinformatics
URLリンク(tetralog.mydns.jp:8080)
tetraの外部記憶箱 - R on Cygwin
URLリンク(tetralog.mydns.jp:8080)
> ポイントは、以下の通り。
> Rのインストール先をCygwinと同一にする事。
> Rの設定ファイル(Rconsole)をホームディレクトリに置いておく。
> Rterm.exeを使う場合には、文字コードをShift-jisにする事。ターミナルに
> rxvtを使っているのであれば、「$ rxvt -km sjis」とするか、“.Xdefaults”
> 辺りに「Rxvt.multichar_encoding: sjis」と書き込んでおく。

---------------
ということで、再度挑戦してみました。

・Rの古いバージョン R 2.2.1 (December, 2005)を利用
 URLリンク(cran.md.tsukuba.ac.jp)
・Cygwinは最新
・c:\cygwinにRをインストールする

503:488
07/11/14 14:47:21

結果は、やはりダメですた...。

~ $ R
Fatal error: you must specify '--save', '--no-save' or '--vanilla'

上の記事では 2006-03-24 に成功しているのですから、それより昔のバージョ
ンを使ってみたのですが、うまく行きませんでした。Rのバージョンのせいでは
なかったようです。

また、CygwinからだとXクライアントになってしまう、という線も薄くなってき
ました。

-----

それゆけBioinformatics: Cygwin でR & Bioconductorを使う2
URLリンク(bioinfo-goto.seesaa.net)

この記事では、>>502の記事とは違い、R を c:\cygwin にはインストールして
いませんが、問題なくRterm が動いているようです。ちょっと古い
(2004-09-08) 記事ですが。


ますます分からなくなってきました。


504:132人目の素数さん
07/11/14 19:38:14
計算結果を小数点以下までずらずらと表示させたいのですが
どこの設定で変えれるのでしょうか
R 2.2.0を使っています

505:132人目の素数さん
07/11/14 19:59:16
>>504
options(digits=好きな数字)


506:132人目の素数さん
07/11/14 23:15:25
>>505

>>485はどうでしょう?

507:132人目の素数さん
07/11/14 23:38:22
>>506
自分は詳しくないんでアレだけど、
もしかしたら >>393->>396 の多倍長整数ライブラリしかないかも。

もしそうなら結構不便ですね。
この辺はPythonでNumpyとかを使ってた方が楽だった。


508:132人目の素数さん
07/11/15 00:21:07
>>507
ありがとうございました。
ちょっと不便ですね。

509:132人目の素数さん
07/11/15 00:58:34
>>503
まだ解決しないんですね…。
CygwinからRguiと打つとWindowsのRは起動するのでしょうか?
それともそれもだめなのでしょうか?
また、起動オプションで--no-saveだけで動くなら起動時に
画面に無保証であるとかの文言は日本語で出るのでしょうか?


510:132人目の素数さん
07/11/15 01:06:51
CYGWIN側でパスを通してないんじゃないでしょうか


511:488
07/11/15 01:22:06
みなさん、ありがとうございます。

>>500
Meadowは重くて、あまり好きではないのです。

>>509
> CygwinからRguiと打つとWindowsのRは起動するのでしょうか?
これはちゃんと起動します。plot(1:10, 1:10)も問題なく実行できます。

> また、起動オプションで--no-saveだけで動くなら起動時に
> 画面に無保証であるとかの文言は日本語で出るのでしょうか?
はい、日本語でちゃんと出ます。

>>510
パスが通っていなければ、そもそもエラーどころか起動しないのでは?
Rguiは問題なく起動できますし。


512:132人目の素数さん
07/11/15 01:29:26
そだね
でもなんでRGUIをcygwin経由で呼び出すのかがわかりませんですね

513:132人目の素数さん
07/11/15 01:30:00
LIBが通ってないのでは?

514:132人目の素数さん
07/11/15 02:39:05
>>512
パスがちゃんと通っているかの確認だけ。

さて、Cygwinをバージョンアップしてみたが、Rは問題なく動いた。
(Rは2.2.1のまま)

>>513
setで見る限りLIBの設定などないのだが、ちゃんと動いてる。

さらで入れるのとバージョンアップでは何か違うのか?それとも他の原因か?

515:132人目の素数さん
07/11/15 03:07:43
cygwinでexportしてないんじゃないのLIB関係のディレクトリ
setってwindowsのほうの話でしょ

516:132人目の素数さん
07/11/15 03:15:39
ひょっとして
bashのスクリプトファイル作らずに単純にCygwinからコマンド入力してるだけ?

517:132人目の素数さん
07/11/15 09:21:46
>>501

qchisq(0.05,i)


518:132人目の素数さん
07/11/15 09:28:35
>>511

とりあえず、bashから
$ export
で出る環境変数一覧、晒してみては?
ただし、個人情報が入る可能性もあると思うので書き込む際は慎重に。


519:132人目の素数さん
07/11/15 09:42:27
>>515
exportでもほとんど同じ。LDに関するものはなし。
さて何が問題なのやら。

520:501
07/11/15 09:46:46
>>517
初心者の質問なのにありがとー。
おかげで助かりました。

521:505
07/11/15 09:52:48
>>506
見落としてた。すまん。
> a <- 400000000
> a
[1] 4e+08
> formatC(a,format="fg")
[1] "400000000"
> formatC(a,format="fg",big.mark=",")
[1] "400,000,000"

確かに4e+08はScientific notationかもしれないが、分野によっては
400000000や400,000,000の方が歓迎されることには同意。

522:488
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


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch