[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 04/17 13:22 / Filesize : 381 KB / Number-of Response : 837
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【R言語】統計解析フリーソフトR 第4章【GNU R】



1 名前:132人目の素数さん mailto:sage [2011/01/09(日) 17:31:49 ]
R は統計計算とグラフィックスのための言語・環境です。
統計計算で重宝するデータ型や、複数要素を処理する演算や関数、
解析結果を表示するグラフィックなど、多彩な機能を提供します。

●関連サイト
The R Project
www.r-project.org/
RjpWiki
www.okada.jp.org/RWiki/
リンク集
www.okada.jp.org/RWiki/?%A5%EA%A5%F3%A5%AF%BD%B8

191 名前:132人目の素数さん mailto:sage [2011/11/01(火) 11:47:20.47 ]
beebee2see.appspot.com/i/azuYwLSFBQw.jpg
すまんこれ教えてくれ


192 名前:132人目の素数さん mailto:sage [2011/11/01(火) 12:23:35.93 ]
>>191
見れねーよ

193 名前:132人目の素数さん mailto:sage [2011/11/01(火) 12:26:19.61 ]
diagを使わずにforで対角行列作れって言われた
九行九列で

194 名前:132人目の素数さん mailto:sage [2011/11/01(火) 13:07:16.47 ]
>>193
宿題は自分でやれ。
無意味な課題であることには同情するが。

195 名前:132人目の素数さん mailto:sage [2011/11/01(火) 13:36:14.59 ]
ヒントだけ
> x <- array(0, c(9, 9))
> x[1 + 0:(9 - 1) * (9 + 1)] <- c("九","行","九","列","の","対","角","行","列")
> x
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
[1,] "九" "0" "0" "0" "0" "0" "0" "0" "0"
[2,] "0" "行" "0" "0" "0" "0" "0" "0" "0"
[3,] "0" "0" "九" "0" "0" "0" "0" "0" "0"
[4,] "0" "0" "0" "列" "0" "0" "0" "0" "0"
[5,] "0" "0" "0" "0" "の" "0" "0" "0" "0"
[6,] "0" "0" "0" "0" "0" "対" "0" "0" "0"
[7,] "0" "0" "0" "0" "0" "0" "角" "0" "0"
[8,] "0" "0" "0" "0" "0" "0" "0" "行" "0"
[9,] "0" "0" "0" "0" "0" "0" "0" "0" "列"
2行目をfor文に書き換えればOK

196 名前:132人目の素数さん mailto:sage [2011/11/01(火) 21:38:31.87 ]
パズルとしてdiag、for以外の方法でやってみた

n=9;matrix(rep(rep(c(1,0),c(1,n)),n),n,n)

197 名前:132人目の素数さん mailto:sage [2011/11/01(火) 22:18:26.30 ]
>>196
それは多分、定石に近いやり方だと思う。

APLでは同じロジックで以下のように書く。

n nρ1,(n←9)ρ0

198 名前:132人目の素数さん mailto:sage [2011/11/02(水) 01:29:13.55 ]
一直線に並べた時のパターンを作っているのか
かしこいな

199 名前:132人目の素数さん mailto:sage [2011/11/02(水) 10:30:18.51 ]
>>196
rep()の回数にベクトルを指定できるとは知らなかった。
昔からだったっけ?repのexample()を見たら、listのrepとかがある。
もはや何でも有りだなw



200 名前:132人目の素数さん mailto:sage [2011/11/02(水) 15:09:25.23 ]
Rでも>197のAPL版みたいにできるんだなあ。warningはでるけど。
> n=3;matrix(c(1,rep(0,n)),n,n)
[,1] [,2] [,3]
[1,] 1 0 0
[2,] 0 1 0
[3,] 0 0 1
Warning message:
In matrix(c(1, rep(0, n)), n, n) :
データ長 [4] が行数 [3] を整数で割った、もしくは掛けた値ではありません

201 名前:132人目の素数さん mailto:sage [2011/11/02(水) 18:35:46.71 ]
rep(0,n)じゃなくて rep(0,n-1)ではなくて?

202 名前:132人目の素数さん mailto:sage [2011/11/02(水) 20:41:59.14 ]
>>200
そこでWarning出るところにRの設計思想があるのかも。

Rの源流に触れるつもりでAPLの教科書を読んだんだけど、
初っぱなのサンプルでこんな事やっているから

(( ̄1+ρc),27)ρc←'APL IS HAPPY '

APL IS HAPPY APL IS HAPPY A
PL IS HAPPY APL IS HAPPY AP
L IS HAPPY APL IS HAPPY APL
IS HAPPY APL IS HAPPY APL
IS HAPPY APL IS HAPPY APL I
S HAPPY APL IS HAPPY APL IS
HAPPY APL IS HAPPY APL IS
HAPPY APL IS HAPPY APL IS H
APPY APL IS HAPPY APL IS HA
PPY APL IS HAPPY APL IS HAP
PY APL IS HAPPY APL IS HAPP
Y APL IS HAPPY APL IS HAPPY

203 名前:132人目の素数さん mailto:sage [2011/11/02(水) 20:45:02.50 ]
>>202
> (( ̄1+ρc),27)ρc←'APL IS HAPPY '

こっちが本来だった。

(12,1+2×ρc)ρc←'APL IS HAPPY '

204 名前:132人目の素数さん [2011/11/03(木) 02:20:32.86 ]
Rでガンマ分布の最尤推定量求めたいんだけどどうすればいいんでしょうか



205 名前:187 mailto:sage [2011/11/03(木) 09:38:31.29 ]
>>188,189
遅くなって申し訳ありませんがありがとうございました。
byを使ってかなり高速化することができました。

ところでbyを使って取得すると

$AAAAA
VAL1 VAL2 VAL3 VAL4
VAL1 1.000 xxxx yyyy zzzzz
VAL2 ....

となりますがすべてのCODE2についてVAL1とVAL2~VAL4の相関のみを取り出すには
どうすればよいでしょうか?
byの返り値をresultとすると
for (i in 1:length(names(result))
result[[i]][ , 2:4]
}

とループを回すしかありませんか?
よろしくお願いします



206 名前:132人目の素数さん mailto:sage [2011/11/03(木) 10:38:07.92 ]
>>205
どんだけforが好きなんだよw
forの方がむしろ思いつかんわ

207 名前:132人目の素数さん [2011/11/03(木) 16:14:38.08 ]
ああいえば for you
forever are you

208 名前:132人目の素数さん mailto:sage [2011/11/04(金) 00:56:32.12 ]
>>205

result[[1:n]][ , 2:4]

ってやったらどうなりますか?


209 名前:187 mailto:sage [2011/11/04(金) 23:43:30.93 ]
>>208
次元が違うと怒られます。。。。



210 名前:132人目の素数さん [2011/11/06(日) 16:00:11.33 ]
基礎的な質問で申し訳ないのですが
膨大なデータから、-1と1を判別して予測する集団学習で
ランダムフォレスト、バギング、ブースティング、SVMの他に有用そうなものってありますか?

ググっても上の4つくらいしか出ないのですが十分ですかね。

211 名前:132人目の素数さん mailto:sage [2011/11/06(日) 22:20:02.20 ]
エクセルやNumbersに比べてRって見た目しょぼすぎだなwww味気なさ過ぎ
もうちょっとグラフィックとかマシなのある?Mac使いとしはやっぱ見た目は重要。


212 名前:132人目の素数さん mailto:sage [2011/11/07(月) 00:01:59.45 ]
>>211
Rはオブジェクト指向言語、BASIC、C、C++と比べて遥かに使いやすいし現実的な数値計算で使える。

#Excelと比較してC言語は地味でしょぼい
と嘆かれても困ったもんだ。RはExcelやNumbersとは用途が違う。

但し、重複する所もある。
具体的にはExcelのオプションの分析機能はRの機能と重なる。
使い分けが必要なんだな。

213 名前:132人目の素数さん mailto:sage [2011/11/07(月) 00:06:22.28 ]
>>211
え?マジで言ってるとしたら勉強不足としか思えないのだが・・・
フォントを代えるなり、latticeやggplot2等のパッケージを試してみるといいよ
参照:ttp://rgm2.lab.nig.ac.jp/RGM2/

これは蛇足だが、学術ソフトの画像出力として「味気ない」というのは明らかに利点
大事なのは見易さと正確性であって、派手なグラフが良いとか考えていると周りから痛い子扱いされるよ

214 名前:213 mailto:sage [2011/11/07(月) 00:08:09.72 ]
あぁ、アプリ画面等がしょぼいって事でしたら、>>212さんの意見を参考にして下さい

215 名前:132人目の素数さん mailto:sage [2011/11/07(月) 00:25:08.30 ]
俺のお薦めはR Commanderかな。これはRをGUIで使えるようにしたものなの

cwoweb2.bai.ne.jp/~jgb11101/files/R-commander.pdf

優れている点はR Commanderのメニューが
データ、統計量、グラフ、モデル、分布
に分かれているのだけれど、これって数学的な"分析"の手順に沿ったメニュー構成になっている事に気が付く。

ディープな分析をしたい時はRを使うし、事務的な作業をしたい場合はExcelを使う。
世の中の大半はExcelで十分だと思う。Rを使いこなせる人たちは高級な。

216 名前:132人目の素数さん mailto:sage [2011/11/07(月) 02:59:23.82 ]
>>213
実にしょぼい

217 名前:132人目の素数さん mailto:sage [2011/11/07(月) 03:00:31.75 ]
やっぱ派手さも大切だわ

218 名前:132人目の素数さん mailto:sage [2011/11/07(月) 07:58:28.74 ]
分析する前が膨大な量のデータで、分析後も派手なグラフの結果では本質が掴めているとは言えないし読む人間も判断できない。
それでは分析する価値は無い。
例えば、ロジスティック回帰分析の場合、入力は膨大でもアウトプットはyesかno程度だよ。

まあ、派手なグラフィックパッケージを探したら?あるんじゃないの?

219 名前:132人目の素数さん mailto:sage [2011/11/07(月) 10:47:44.35 ]
>>218
趣旨には賛同する。

> ロジスティック回帰分析の場合、入力は膨大でもアウトプットはyesかno程度
おーい。凡ミスか本気でそう思っているのかどっちだ?



220 名前:132人目の素数さん mailto:sage [2011/11/07(月) 12:18:25.23 ]
>>218
なぜ結果がグラフィカルというだけで本質が掴めてるとは言えないの?
結果は変わらないだろうにww
あなた自身が本質を掴めてないのではww

221 名前:132人目の素数さん mailto:sage [2011/11/07(月) 14:01:31.17 ]
>>220
横から参戦させてもらうが、そもそもデータ分析の目的は、
データに含まれる枝葉末節を取り除き、データの中に隠れている本質を洗い出すことにある。
苦労して洗い出した本質にまた余計なものを加えて汚すのはこれ如何に?

222 名前:132人目の素数さん [2011/11/07(月) 16:20:49.99 ]
どなたかパッケージのtuneRに詳しい人いないですか?

223 名前:132人目の素数さん mailto:sage [2011/11/07(月) 18:42:59.29 ]
>>222
リゲス先生が詳しいと思うよw

224 名前:218 mailto:sage [2011/11/07(月) 23:07:11.83 ]
>>219
"yesかno程度"の"程度"にいろんな意味がこめられているから大目に見てよ(^_^)。


225 名前:187 mailto:sage [2011/11/07(月) 23:10:40.47 ]
とりあえずunlistでベクトルに分解してから、
必要な要素だけを取り出すようにしました。
ループをまわさないのでだいぶ高速化されました。
ありがとうございまいた。

226 名前:218 mailto:sage [2011/11/07(月) 23:13:34.77 ]
>>220
>なぜ結果がグラフィカルというだけで本質が掴めてるとは言えないの?
誤解があったようですまない。
別に可視化(グラフィカル)の研究分野を否定しているわけではないよ。

人間の目で見て確認するのは結構有効なんだよね。
一例を探してみました。
次のURLの画像を見てもらいたいのだけれど

www-kairo.csce.kyushu-u.ac.jp/~norikazu/svm.png

左側の2次元平面上の青と赤の点を"シンプルな人工知能"で判別する事はできないんだ。
ところがSVM(サポートベクターマシン)と呼ばれる人工知能を用いるとこれを右側の3次元の問題に置き換える事で判別できるようにするんだ。

こういう判別ができているのか?出来ていないのか?は人間の目で判断して使い分けた方が良い場合がある。
だから可視化は一つの研究分野として重視されているんだ。

227 名前:218 mailto:sage [2011/11/07(月) 23:20:49.19 ]
但しグラフィカルには限度がある。
>>221 さんの主張にあるようにR使いの人たちは大体、数百次元のデータから4次元や5次元位に絞り込む。
でもグラフィカルの世界では基本的に3次元(z軸,y軸,z軸)が限界なんだよね。
4次元以上は色や形に置き換えて可視化する事になる。そうなると実は分かりにくいんだよ。

先のURLの人工知能の例でも所詮2次元から3次元へ問題を置き換えているに過ぎない。
分析の世界をまじめに可視化するとかなりハードルが高くなるんだよね。
勿論、高次元を可視化する手法としてSOMという方法も存在するよ。

228 名前:132人目の素数さん mailto:sage [2011/11/08(火) 09:30:33.83 ]
面白い話が聞けた

229 名前:132人目の素数さん mailto:sage [2011/11/08(火) 09:45:20.37 ]
>>218の豹変ぶりに笑った
データの可視化の話と、派手なグラフィックで装飾する話は別の話だと思うが。



230 名前:218 mailto:sage [2011/11/08(火) 22:42:06.35 ]
>>229
ああ、そうなのか。まじめに答えちまったい(^_^)。

でもn次元を2次元に強引にマッピングして可視化するSOMって人間が感覚的にデータの善し悪しを判断する時に結構使えると思うんだよね。
まあ、いいや。

231 名前:132人目の素数さん mailto:sage [2011/11/09(水) 09:17:28.99 ]
結局さ、本質を取り出すことに意義を感じる研究者と、
データで相手を説得することに意義を感じるビジネスマンは、
相容れないと思うんだ。円グラフを立体化して一部を切り出したり、
棒グラフを無意味に立体化したり、グラデーションで彩色したりというのは、
ビジネスマンに必要かも知れないけど、研究者には必要がない。

232 名前:132人目の素数さん mailto:sage [2011/11/09(水) 22:27:50.28 ]
質問があります。
MySQLからデータを取得し、データフレームに読み込ませたいのですが、
日付時刻のカラムがあり、どう読み込ませるのか分からず困っています。
-----
Updated [TAB] Rate
2011-11-08 15:03:00 [TAB] 77.645
2011-11-10 02:04:00 [TAB] 77.6255
2011-11-09 08:03:00 [TAB] 77.585
-----
単にread.tableでは読み込めませんでした。
Rは初めて使うので基礎的な事しかわかりませんが、どうかご教授ください。



233 名前:132人目の素数さん mailto:sage [2011/11/10(木) 15:56:58.04 ]
>>232
直にMySQLならデータベースに直にSQLアクセスするパッケージを使う必要があるのでは?RODBCだっけ?

テキストに書き出して読み込むなら、read.tableがつかえると思けど時間が混じると読み込んでから変換が必要だと思う。

いずれも、Rデータ自由自在に書いてあると思う




234 名前:132人目の素数さん mailto:sage [2011/11/15(火) 11:15:58.60 ]
1.i行j列成分がi^2+j^3で与えられる10行10列の行列をfor文を用いて作りなさい。
2.a=1000:1を作成してこれを昇順に並び替えなさい。
3.A=matrix(400:1,20,20)を作成し、この行列を第1列の値が昇順に並ぶように行を並び替えなさい

235 名前:132人目の素数さん mailto:sage [2011/11/15(火) 11:16:21.60 ]
↑の回答わかる方お願いします。

236 名前:132人目の素数さん mailto:sage [2011/11/15(火) 14:26:46.90 ]
>>234
また宿題か。
まさか試験中に書き込んでる?

237 名前:132人目の素数さん mailto:sage [2011/11/15(火) 22:14:50.47 ]
>>234
> 1.i行j列成分がi^2+j^3で与えられる10行10列の行列をfor文を用いて作りなさい。

しかし、Rでfor文ってその教授はバカじゃないの?

常識的に
outer((1:10)^2,(1:10)^3,'+')
ってやるものじゃないのか?

238 名前:132人目の素数さん mailto:sage [2011/11/16(水) 00:17:57.03 ]
>>234
1. a <- matrix(0, 10, 10); for (i in 1:10) {for (j in 1:10) {a[i, j]=i^2+j^3}}
2. rev(a)
3. A[20:1,]


239 名前:132人目の素数さん mailto:sage [2011/11/17(木) 09:59:23.86 ]
R初心者として質問です。

Rを外部プロセスから呼び出したり、
シェルからRプログラムを渡して標準出力で受け取ったりはできるのでしょうか。

なにとぞよろしくお願いします。



240 名前:132人目の素数さん mailto:sage [2011/11/17(木) 12:17:43.67 ]
>>239
$ echo 'print(pi)' |r
[1] 3.141593
とか
$ Rscript -e 'print(pi)'
[1] 3.141593


241 名前:240 mailto:sage [2011/11/17(木) 12:20:00.76 ]
>>239
> 標準出力で受け取ったり
無意味な例だけど、
$ echo 'print(pi)' |r | sed 's/3/A/g'
[1] A.14159A

242 名前:132人目の素数さん mailto:sage [2011/11/17(木) 18:28:14.48 ]
>>240-241
ありがとうございました。
活用します。

243 名前:132人目の素数さん mailto:sage [2011/11/18(金) 10:01:50.10 ]
>>239
シェルスクリプトから、短いRスクリプトを呼ぶなら、
ヒアドキュメントを使う方法が個人的に好き。

R --vanilla --slave <<_END_OF_R_ > output_of_R.txt
print(pi)
_END_OF_R_

別に、Rに限らず、PerlでもPythonでもこの方法は使えますが、、、

244 名前:132人目の素数さん mailto:sage [2011/11/18(金) 10:12:24.08 ]
>>243
おぉ、Rって標準入力からそのまま普通に使えたのか


245 名前:132人目の素数さん [2011/11/18(金) 18:03:12.10 ]
電波テロ装置の戦争(始)
エンジニアと参加願います公安はサリンオウム信者の子供を40歳まで社会から隔離している
オウム信者が地方で現在も潜伏している
それは新興宗教を配下としている公安の仕事だ
発案で盗聴器を開発したら霊魂が寄って呼ぶ来た
<電波憑依>
スピリチャル全否定なら江原三輪氏、高橋佳子大川隆法氏は、幻聴で強制入院矛盾する日本宗教と精神科
<コードレス盗聴>
2004既に国民20%被害250〜700台数中国工作員3〜7000万円2005ソウルコピー2010ソウルイン医者アカギ絡む<盗聴証拠>
今年5月に日本の警視庁防課は被害者SDカード15分を保持した有る国民に出せ!!<創価幹部>
キタオカ1962年東北生は二十代で2人の女性をレイプ殺害して入信した創価本尊はこれだけで潰せる<<<韓国工作員鸛<<<創価公明党 <テロ装置>>東芝部品)>>ヤクザ<宗教<同和<<公安<<魂複<<官憲>日本終Googl検索

246 名前:132人目の素数さん [2011/11/18(金) 18:03:58.46 ]
魂は幾何学


誰か(アメリカ)気づいた
ソウルコピー機器

247 名前:132人目の素数さん mailto:sage [2011/11/19(土) 03:14:20.46 ]
persp関数により3次元グラフを描画しているのですが、borderの幅が小さいためか、グラフが真っ黒になってしまいます。
この幅を変更する方法はありますか?また、他の解決方法がありましたら、教えてください。

248 名前:132人目の素数さん mailto:sage [2011/11/19(土) 11:32:20.50 ]
>>247
グラフを大きくした方がよさげだけど、
pdf(file="247.pdf",width=14,height=14)
persp(...)
dev.off()
ぐらいから、サイズを試行錯誤してみれば?
borderの幅が線幅のことなら、lwdなどで指定する。

249 名前:132人目の素数さん mailto:sage [2011/11/19(土) 19:55:55.59 ]
>>248
コメントありがとうございます。
サイズや、線幅を変えて試行錯誤してみましたが、どうもborderの線と線の間隔が狭いのが原因のようです。
この線と線の間隔の設定はできないのでしょうか?よろしくお願いします。



250 名前:132人目の素数さん mailto:sage [2011/11/21(月) 08:56:04.33 ]
>>249
むしろ、border=NAとか

251 名前:132人目の素数さん [2011/11/25(金) 21:55:00.40 ]
>>215
統計数理研究所で、昨日からRの無料講習会が開かれているようですね。
日程:2011年11月24日(木)− 11月26日(土)
場所:統計数理研究所(東京都立川市)3階セミナー室 2 (D304)
データ解析環境Rの整備と利用
mid.ism.ac.jp/stats/msg01502.html

252 名前:132人目の素数さん mailto:sage [2011/11/26(土) 00:49:00.80 ]
いや、講習会じゃないんだけど…

253 名前:132人目の素数さん mailto:sage [2011/12/05(月) 12:21:38.19 ]
>>238
ありがとうございました

254 名前:132人目の素数さん mailto:sage [2011/12/05(月) 12:21:47.65 ]
解答分かる方お願いします

<演習問題1>
i番目の要素がi^2+1で与えられ各要素に名前が付いている次のベクトルを作りなさい。
(注:a[2]=5等のように直接値を決めるのはやめること。)
A B C D E F G H I J K L M N O P Q R S T U V
2 5 10 17 26 37 50 65 82 101 122 145 170 197 226 257 290 325 362 401 442 485


<演習問題2>
matrix(1:100,10,10)を作り、行の順番を入れ替え、そして行と列に名前を付けることで
次の行列を作りなさい。
a b c d e f g h i j
A 10 20 30 40 50 60 70 80 90 100
B 9 19 29 39 49 59 69 79 89 99
C 8 18 28 38 48 58 68 78 88 98
D 7 17 27 37 47 57 67 77 87 97
E 6 16 26 36 46 56 66 76 86 96
F 5 15 25 35 45 55 65 75 85 95
G 4 14 24 34 44 54 64 74 84 94
H 3 13 23 33 43 53 63 73 83 93
I 2 12 22 32 42 52 62 72 82 92
J 1 11 21 31 41 51 61 71 81 91


<演習問題3>
第i,j要素がi^5+jで与えられる10行10列の行列をfor文を使って作りなさい。


<演習問題4>
A=matrix(1:100,10,10)を作り
第3列目の平均を計算しなさい。

255 名前:132人目の素数さん mailto:sage [2011/12/05(月) 13:03:09.46 ]
教員がココを見ていたら、>>254には単位をやらないことを勧める。

>>254
解答は1つではなく、人によって全く異なる解答例になる。
「100字以内で答えよ」という問題の解答が1人1人異なるのと同じ。
誰かがここに解答を示すかも知れないが、
ここの解答を写したことは、自分で独自に改変しない限り、バレるよ。

256 名前:132人目の素数さん mailto:sage [2011/12/05(月) 13:51:41.75 ]
興味ない授業だが、取らなきゃいけない科目とかなのかな?


257 名前:132人目の素数さん mailto:sage [2011/12/05(月) 23:50:31.46 ]
>>254
ヒント
names関数、xxxnames関数
LETTERS[1:10]、letters[1:10]
(LETTERS、letters は、組み込みの定数ベクター)

258 名前:132人目の素数さん mailto:sage [2011/12/06(火) 06:25:24.35 ]
>>254
統計学の講義⁇


259 名前:132人目の素数さん mailto:sage [2011/12/06(火) 21:50:20.66 ]
質問させてください

データフレームDFがあって
DF[, 1] にはコードが、
2列目以降は価格が入っています
2列目から501列目まで各時点の値です
行数は2000個程度です

このデータフレームから2つ選んで価格を足し合わせたいのですが
簡潔な方法はありますでしょうか?

現状は

a <- combn(DF[, 1], 2)
temp_a <- merge(t(a[,1]), DF)
temp_b <- merge(t(a[,2]), DF)

res <- temp_a[, -1] + temp_b[, -1]

でやろうかと思っていますが
データ数がデータ数なのでもっと高速な方法がありましたらご教授ください

お願いいたします



260 名前:132人目の素数さん mailto:sage [2011/12/07(水) 16:15:54.22 ]
>>259
rownames(DF) <- DF[,1]
colSums(DF[t(combn(DF[,1],2)),])
ということ?

261 名前:132人目の素数さん [2011/12/07(水) 21:14:27.18 ]
すみません、こんな質問していいのか分からないのですが、
検索しても分からなかったので質問させてください

自分は参考書を本屋でめくった程度のものなのですが、
PHPとR言語は連携できるのでしょうか?
また、CやPythonなどプログラミング言語にて簡単なもので言えばユークリッドとかベイズとかアルゴリズム化で処理できますが、
R言語の場合処理速度などはどの程度のものなのでしょうか?
Cなどで統計ものを書くよりも、R言語の方がシンプルなような印象を受けたのですが、あまり連携しているのを見かけません
何かR言語にデメリットがあって連携しないのかなと思ったのですが

262 名前:132人目の素数さん mailto:sage [2011/12/07(水) 22:30:28.03 ]
>>260
それだと、
colSums(DF[,2:501])*(2000-1)
と同じじゃね?

>>259
「2つ選んで価格を足し合わせ」る、っていうのが、イマイチ具体的に理解できない。もっと正確に書いてくれないだろうか
それに、なぜ全行について2つの全組み合わせが必要なの?

263 名前:259 mailto:sage [2011/12/07(水) 23:20:26.01 ]
>260,262
ありがとうございます

例がわかりにくかったようで申し訳ないです

ランダム変数randuを用いた例だと

DF <- data.frame(randu)
一列目がコードと仮定します
colnames(DF) <- c("CODE", "VAL1", "VAL2")

rownames(DF) <- DF[, 1]
combi <- combn(rownames(DF), 2)
DF1 <- DF[t(combi)[, 1], -1]
DF2 <- DF[t(combi)[, 2], -1]

DFZ <- data.frame(t(combi), DF1 + DF2)
colnames(DFZ)[1:2] <- c("CODE1", "CODE2")

欲しいのはDFZで今回はranduを用いたので列はコードを除けば2つで
行数は400C2の約8万ですが
実際のデータは元データは行数2000 列数500ほどなので
結構時間がかかります

これより高速化はむずかしいでしょうか?
よろしくお願いいたします。

264 名前:きど [2011/12/07(水) 23:22:43.57 ]
Rのテンドログラムの保存の方法を知りたいのですが。USBなど。。。

265 名前:132人目の素数さん mailto:sage [2011/12/08(木) 01:04:05.71 ]
>>263
詳細、ありがとうございました

確実に言えるのは、デカいデータなので、後に使う予定がないのならDF1/DF2は作るなっ
てことかな (object保持の負荷が大きい)。他にも不要なobjectはrm()しておく
tcombi <- t(combi) # これは 2000C2 でも瞬時
DFZ <- cbind(tcombi, DF[tcombi[, 1], -1] + DF[tcombi[, 2], -1])
とするだけでも、「少しは」速くなるはず

DFZも丸ごと全部作らないで、tcombiを適当に分割したのを使って部分的に作っては
その都度ファイルに追記書き出しして、最終的にファイルから読み込んで df 化する方が
速いかも(テストしてないけど)

もう既に試されたかもしれない、ありふれた考えなので申し訳ないが...

266 名前:132人目の素数さん mailto:sage [2011/12/08(木) 09:17:07.19 ]
>>264
画像ファイルへの出力方法を調べてください。
検索キーワードは「R グラフィックディバイス」です。
postscript(), png()などさまざまなものがあります。
X11()などスクリーン上のディバイスをコピーするなら、
dev.copy2eps(file="hoge.eps")
で、作業ディレクトリにeps画像ファイルが保存されます。
USBメモリへ保存したいなら、パス付きでファイル名を書けばよいです。
USBのマウント先が/Volume/FUGAなら、
dev.copy2eps(file="/Volume/FUGA/hoge.eps")
とします。
あなたが自分の環境を秘密しているので、助言できるのはこのくらいです。
詳細は、グーグル先生にお尋ねください。

267 名前:259 mailto:sage [2011/12/08(木) 23:19:36.17 ]
>>265

全部でやると32bitなものでメモリの使用量が4GBを超えてしまいましたので
提示いただいた分割する方法でファイルに書き出して対応できました
ありがとうございました

268 名前:132人目の素数さん mailto:sage [2011/12/08(木) 23:34:00.09 ]
>>267
32bitの壁が問題になるなら64bitつかった方がよいと思うのだけど。
自分はRのために3GB→6GBにメモリ増設した。

269 名前:132人目の素数さん mailto:sage [2011/12/09(金) 22:44:47.03 ]
>> 267
よかったですね

参考のため、もし差し支えなければ、どれくらいの時間がかかったのか、
動作環境も含めて教えていただけないでしょうか?




270 名前:132人目の素数さん [2011/12/10(土) 23:33:27.19 ]
自然言語処理など、テキストを処理し、統計計算をしたいのですが、PythonとRとはどのように違うのでしょうか?
やっぱ専門であるのでR言語の方がいいのでしょうか?
PHP、データベースからデータを得て、処理結果を送り返すためのシステム部分にPythonかRを使いたいと考えています

RとPythonを比較すること自体おかしいのかもしれませんが、上記のような処理の為の本を見ると、この2つが良く出てきます
Pythonはプログラミング言語であるので、PHPとかとは処理の連携が簡単でしょうけど、R言語についてはプログラミングをしていても(そういう環境下では)殆ど情報が出てこない、名前を聞かないもので


271 名前:132人目の素数さん mailto:sage [2011/12/10(土) 23:48:50.77 ]
>>270
統計計算のレベルによるだろうけど、本格的に統計処理を入れるなら、
Rを利用した方が楽だろう。PHP-Python-Rという風に使ってもよいのでは。
rpy2とか検索してみて

272 名前:132人目の素数さん [2011/12/11(日) 00:12:09.89 ]
>>271
返答ありがとうございます
確かに、記述方法がRは非常にシンプルだと本屋で調べてみて思いました
Pythonはまだ学習し始めたところですが、PHP、Cなどで書くととんでもないというのがもの凄く簡単に書かれていて驚きました

ところで、今R言語について調べていたら、対話式がメインとか書かれているようでした
R言語は、他の言語のようにテキストエディタで記述し、自動処理出来るのではないのでしょうか?

PHPなどと違い、ブラウザに表示とか、Linux上でファイルやディレクトリを操作したりとかは無理かもしれませんが、
PHPからRで書かれたファイルを呼び出し処理をし、結果を受け取り・・・といったことをやりたいと思っていたのですが

rpy2を今から検索してみます

273 名前:259 mailto:sage [2011/12/12(月) 22:04:22.39 ]
>>268
個人の環境ではないので簡単には64bitには変えられないのです

>>269
この処理だけではないので一概には言えませんが、一断面10分程度です
環境はcentOS6で xeonE3110です

ありがとうございました


274 名前:132人目の素数さん [2011/12/13(火) 06:18:01.69 ]
え?Python???と思ってググったら、
いまどきは、こんな言語がPythonと呼ばれているのか。


275 名前:132人目の素数さん mailto:sage [2011/12/14(水) 22:48:13.92 ]
2変数の非線形連立方程式の解き方教えていただけませんでしょうか?

276 名前:132人目の素数さん mailto:sage [2011/12/15(木) 23:27:48.29 ]
ちょっと教えてください

# 疑似観測値 (行方向はパターン、列方向は時系列)
DF <- data.frame(t(t(colnames(randu))),t(randu))
colnames(DF) <- c("PATTERN", gsub("X", "", colnames(DF)[-1]))

# 移動平均の計算 (40サンプル分)
ma_filter <- rep(1, 40) / 40
MADF <- data.frame(DF[,1], t(filter(t(DF[, -1]), filter = ma_filter, method = "convolution", sides = 1)))
colnames(MADF) <- colnames(DF)

# 移動平均の標準偏差(2sigma)の計算
for( i in 41:ncol(MADF)){
if(i == 41){
std <- apply(MADF[, (i-39):i], 1, sd)
} else{
temp <- apply(MADF[, (i-39):i], 1, sd)
std <- rbind(std, temp)
}
}
MASIGMADF <- data.frame(DF[,1], t(rep(NA,39)), t(std*2))
colnames(MASIGMADF) <- colnames(MADF)

# データのある部分だけを抽出
DF <- DF[, c(1,80:ncol(DF))]
MADF <- MADF[, c(1,80:ncol(MADF))]
MASIGMADF <- MASIGMADF[, c(1,80:ncol(MASIGMADF))]

上記のような時系列データとその移動平均および標準偏差があると仮定します
このとき、時系列の観測データが初めて移動平均+標準偏差の値を超えた時点から
再び移動平均に収束するまでをTRUE、それ以外をFALSEとするようなフラグのデータフレーム(形式はDFと同じ)を作成したいのですが、
良い方法はありますでしょうか

277 名前:132人目の素数さん mailto:sage [2011/12/19(月) 15:08:40.40 ]
来年から文系大学生です。
R言語って文系学部でも使いますか?
あと、使えると就職や進学に有利でしょうかね?

278 名前:132人目の素数さん mailto:sage [2011/12/19(月) 15:33:46.79 ]
>>277
文系とは具体的に、どの分野?
経済学や社会学など社会科学分野なら統計解析は必須だろうし、
その他の文系でも、心理学、計算言語学、数理地理学とかデータ処理を扱うなら、
統計解析は必須だろう。統計解析を行うなら、R言語を使うこともあるだろう。

Rを自由自在に使えると就職や進学に有利かと問われれば、多くの場合、否でしょう。

279 名前:132人目の素数さん mailto:sage [2011/12/19(月) 19:22:08.37 ]
>>278
経済学。
十分条件じゃなくて、必要条件であるみたいですね。
れすトンクス。




280 名前:132人目の素数さん [2011/12/21(水) 02:29:25.07 ]
すんません、Rまだまだ初心者なのですが、元データをフーリエ変換したデータにおける正準相関分析をしたくて、デフォで入っているcancorとかでなく、データのこともあり自分で作らなきゃならなくて

function(a,b,c,d,m,n){
e<-matrix(Re(fft(a[1:n]-mean(a[1:n]))),1,n,byrow=T) #4つのデータのfftをそれぞれ行列に入れる
f<-matrix(Re(fft(b[1:n]-mean(b[1:n]))),1,n,byrow=T)
g<-matrix(Re(fft(c[1:n]-mean(c[1:n]))),1,n,byrow=T)
h<-matrix(Re(fft(d[1:n]-mean(d[1:n]))),1,n,byrow=T)
j<-matrix(0,4,n) #上記で作ったデータを1つの行列に入れる
j[1,]<-e
j[2,]<-f
j[3,]<-g
j[4,]<-h
k<-j[,m] #m列目の成分を取り出す
o<-(1/n)^2*k%*%t(k) #粗いですがスペクトル密度関数の推定量をもとめる
p<-o[c(1,2),c(1,2)]
q<-o[c(1,2),c(3,4)]
r<-o[c(3,4),c(3,4)];u<-solve(p);v<-solve(r);w<-t(q);
s<-eigen(u%*%q%*%v%*%w) #固有値問題を解く
return(list(j[1,],j[,m],o,p,q,r,s))}
という関数を定義して実行すると
以下にエラー solve.default(p) :
システムは数値的に特異です:条件数の逆数 = 3.72483e-17
とでるんですが、どうなおせばよいでしょうか。

281 名前:132人目の素数さん mailto:sage [2011/12/22(木) 22:26:52.11 ]
>>273
273みたいな使い方はそのコンピュータではアブノーマルなの?
なんでCentOS6なのにまだ32bitなの? 管理者バカなんじゃないの。
今、パソコンが安いから実験機として買ってメモリてんこ盛りにして64bitOSを作ろうって提案したら?
あとせっかくだからマルチブートの仕方を覚えて、32bitと64bitを共存させて、他にもOSを入れられる
ように設定しておけばいい。
ttp://nttxstore.jp/_II_P813280396

282 名前:132人目の素数さん [2011/12/23(金) 09:51:58.81 ]
www.r-project.org/
R version 2.14.1 (December Snowflakes) has been released on 2011-12-22.

ってDownloadのところには2.14.0しかないんだけど、
Download R-2.14.1 RC build for Windows (46 megabytes, 32/64 bit)
じゃなくて、正式なリリース版の2.14.1って、どこで落とせますか?


283 名前:132人目の素数さん mailto:sage [2011/12/23(金) 10:18:18.71 ]
>>282
ttp://cran.r-project.org/src/base/R-2/R-2.14.1.tar.gz

284 名前:132人目の素数さん mailto:sage [2011/12/23(金) 10:26:11.01 ]
>>283
あー、ソースレベルって事すか。
バイナリリリースはちょっと待てっていうことですかね。
ありがとうございました。


285 名前:132人目の素数さん mailto:sage [2011/12/23(金) 23:31:39.85 ]
>>280
ginv では?

286 名前:132人目の素数さん mailto:sage [2011/12/25(日) 10:11:34.88 ]
>>282
essrc.hyogo-u.ac.jp/cran/
とかに
Download R 2.14.1 for Windows (45 megabytes, 32/64 bit)
が入りましたよ


287 名前:132人目の素数さん mailto:sage [2011/12/25(日) 16:26:21.07 ]
>>286
さんくす。めりくり。らいよろ。


288 名前:132人目の素数さん [2011/12/27(火) 02:47:24.36 ]
わからなかったので教えてください。
階層型クラスタ分析には、サンプル(ケース)に対してクラスタリングするのか、
変数に対してクラスタリングするのかでわかれるかと思いますが、
Rではサンプルに対してしかクラスタ分析できないのでしょうか?

289 名前:132人目の素数さん [2011/12/30(金) 12:46:23.67 ]
UNIXにインストールされているRのシェルからの起動の仕方を教えて下さい。



290 名前:132人目の素数さん mailto:sage [2011/12/30(金) 14:45:51.73 ]
>>289
r

291 名前:132人目の素数さん [2011/12/30(金) 18:00:57.18 ]
横軸を date オブジェクト、縦軸を数値とする折線グラフを描いたのですが、
垂直線を追加しようとしても上手く入りません。
偉い人、解説をよろしくお願いします。

x <- strptime(c("2009年12月14日","2009年12月21日","2009年12月28日","2010年1月4日"),"%Y年%m月%d日")
y <- c(10,20,5,15)
plot(x,y,type="b")
abline(v=strptime("2009年12月21日","%Y年%m月%d日"))







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<381KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef