[表示 : 全て 最新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

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

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

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

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


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


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


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

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

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

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


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

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


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

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

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

現状は

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

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

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

お願いいたします

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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




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

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

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

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

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

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

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

ありがとうございました


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


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

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

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

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

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

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

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

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

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

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

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


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

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



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

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

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


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

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


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

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


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


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

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

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



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

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


292 名前:291 [2011/12/30(金) 18:01:59.90 ]
自己解決しました。
abline(v=as.numeric(strptime("2009年12月21日","%Y年%m月%d日")))
でOKでした。


293 名前:132人目の素数さん mailto:sage [2012/01/01(日) 13:50:09.79 ]
>>290
rとRの区別もつかんのか

294 名前:132人目の素数さん mailto:sage [2012/01/01(日) 14:22:08.14 ]
>>293
rもリンクされてなかったっけ?

295 名前:132人目の素数さん mailto:sage [2012/01/01(日) 16:37:59.98 ]
>>294
rはRとは別のソフト
$ r --version |head -1
r ('littler') version 0.1.5
$ R --version |head -1
R version 2.14.1 (2011-12-22)

296 名前:132人目の素数さん mailto:sage [2012/01/01(日) 23:50:07.45 ]
ややこしいなあ。

297 名前:132人目の素数さん mailto:sage [2012/01/02(月) 01:26:00.73 ]
>>296
これをややこしいと思う人は、
incase-sensitiveな文化に脳を冒されている人

298 名前:132人目の素数さん mailto:sage [2012/01/04(水) 14:54:08.36 ]
>>295
Mac OS X版だと同一ファイルにリンクされてた。
/usr/bin/R -> /Library/Frameworks/R.framework/Resources/bin/R
/usr/bin/r -> /Library/Frameworks/R.framework/Resources/bin/R
でも大文字Rのほうが標準っぽいな。

>>297
case-insensitiveだな。

299 名前:132人目の素数さん mailto:sage [2012/01/04(水) 16:16:24.48 ]
>>298
MacPorts版のMacOSX版(ややこしいな)だとどうだろう。

300 名前:132人目の素数さん mailto:sage [2012/01/10(火) 23:18:34.13 ]
簡単そうでなかなかできないので相談させてください。
> a <- matrix(1:9,3)
> (b <- list(a,a))
[[1]]
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9

[[2]]
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
こんなリストがあったとして、これを3次元array
,,1
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9

,,2
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
こんな感じに変換するにはどうすればよいですか?
やりたいことは、b[1,1,]とかb[1,2,]とか、
リストの要素である行列を貫いて、行列の各セルの値(ベクトル)を取り出したいのです。
arrayであれば、例えばb[3,3,]でc(9,9)が取り出せるはず。



301 名前:132人目の素数さん mailto:sage [2012/01/11(水) 01:10:41.37 ]
## ベクトルまで分解するunlistを使うとできたっぽいけど期待されている答えではないかも、、

a <- matrix(data = 1:9, nrow = 3)

(b <- list(a,a))

unlist(b)

test.array <- array(data = unlist(b), dim = c(3,3,2))

test.array

test.array[3,3,]


## ちなみに、リストのまま処理してはだめ?
sapply(X = b, FUN = function(y) {y[3,3]})

302 名前:132人目の素数さん mailto:sage [2012/01/11(水) 01:53:23.83 ]
>>301
多謝!
listのままだとその先の操作に進みにくかったので、arrayを検討していました。
unlist()は盲点でした。ありがとうございます。
> res <- matrix(rep(list(NA),9),3)
> class(res[1,1])
[1] "list"
> for(i in 1:3){for(j in 1:3){res[i,j] <- list(test.array[i,j,])}}
> res
[,1] [,2] [,3]
[1,] Integer,2 Integer,2 Integer,2
[2,] Integer,2 Integer,2 Integer,2
[3,] Integer,2 Integer,2 Integer,2
> unlist(res[2,2])
[1] 5 5
ばっちりです。各セルに元データのセルの値を集めることが出来ました。
本番のデータでやってみます。

> for(i in 1:3){for(j in 1:3){res[i,j] <- list(sapply(b,function(y){y[i,j]}))}}
リストのままでも出来てしまいました。すみません。

303 名前:132人目の素数さん [2012/01/15(日) 00:10:57.15 ]
CだとかRだとかのような1文字の名前ではサーチするのが難しい。

304 名前:132人目の素数さん [2012/01/15(日) 12:02:12.63 ]
その程度しか検索単語が思い浮かばないようでは()難しい

305 名前:132人目の素数さん mailto:sage [2012/01/15(日) 19:09:49.95 ]
>>303
まぁ
r-project
r-script
r 統計
このあたりですね


306 名前:132人目の素数さん mailto:sage [2012/01/16(月) 12:50:23.28 ]
>>303
まぁまずはRSiteSearch()だろ。
そんで、ttp://www.rseek.org/ とか。
最後に>>305の検索語でgoogleを使えばいいんじゃない?
○○を実装したパッケージを探すなら、「cran ○○」で検索する。

307 名前:132人目の素数さん [2012/01/17(火) 00:15:09.67 ]
すんません、正方行列AのA^{-1/2}ってどう計算すれば良いですかね?

308 名前:132人目の素数さん [2012/01/17(火) 12:46:55.11 ]
>>307
言いたいことは、こういうこと?
正方行列Aが逆行列を持ち、A^{-1} の固有値が m,n なら、
A^{-1/2} = (A^{-1}+ mnI)/(m+n)

違ってたら、ごめん。


309 名前:308 [2012/01/17(火) 12:48:44.46 ]
あ、違ってた。
A^{-1/2} の固有値が m,n なら、
A^{-1/2} = (A^{-1}+ mnI)/(m+n)

かな。


310 名前:308 [2012/01/17(火) 20:39:11.48 ]
>>307
>>308,309 が、しっちゃかめっちゃかだったので捲土重来を目指して…
A^t 転置、A^* 複素共役 として、

A が、A^t* A = A A^t* を満たし、A のすべての固有値が正だったら、
(U^t*)U = I を満たす行列 U と対角行列 D を使って、
A = UDU^{-1} と書けるから、
A^{-1/2} = UD^{-1/2}U^{-1}
(ただし、D^{-1/2} は、D の各対角成分d_{i,i}に対し、
D^{-1/2} の各対角成分 x_ {i,i} = 1/√d_{i,i} としたもの。)

という理解であってるのかな。




311 名前:308 [2012/01/17(火) 22:19:59.38 ]
>>307
R-Sources ttp://cse.naro.affrc.go.jp/takezawa/r-tips/r/20.html
見たけど、これで行けるんじゃね?

> A <- matrix(c(1,2,0,3), 2, 2)
> B <- eigen(A)$vectors %*% diag(1/sqrt(eigen(A)$values)) %*% solve(eigen(A)$vectors)
> solve(A)
[,1] [,2]
[1,] 1.0000000 0.0000000
[2,] -0.6666667 0.3333333
> B %*% B
[,1] [,2]
[1,] 1.0000000 0.0000000
[2,] -0.6666667 0.3333333

> A %*% B %*% B
[,1] [,2]
[1,] 1.000000e+00 0
[2,] 2.217736e-16 1

最後のがキッチリ単位行列にならないのは、
丸め誤差の所為だから仕方ないと思われ。


312 名前:308 [2012/01/17(火) 22:26:17.13 ]
> A <- matrix(c(3,2,0,3,4,1,0,2,3), 3, 3)
> B <- eigen(A)$vectors %*% diag(1/sqrt(eigen(A)$values)) %*% solve(eigen(A)$vectors)
> eigen(A)$values
[1] 6.3722813 3.0000000 0.6277187
> solve(A)
[,1] [,2] [,3]
[1,] 0.8333333 -0.75 0.5
[2,] -0.5000000 0.75 -0.5
[3,] 0.1666667 -0.25 0.5
> B %*% B
[,1] [,2] [,3]
[1,] 0.8333333 -0.75 0.5
[2,] -0.5000000 0.75 -0.5
[3,] 0.1666667 -0.25 0.5


313 名前:132人目の素数さん mailto:sage [2012/01/18(水) 10:57:06.79 ]
>>312
> A %*% B %*% B
[,1] [,2]
[1,] 1.000000e+00 0
[2,] 3.330669e-16 1
> zapsmall(A %*% B %*% B)
[,1] [,2]
[1,] 1 0
[2,] 0 1


314 名前:308 [2012/01/18(水) 12:32:51.26 ]
>>312
おお、そんな関数があったとは。


315 名前:308 [2012/01/18(水) 12:33:01.61 ]
>>313
おお、そんな関数があったとは。


316 名前:308 [2012/01/18(水) 22:59:15.60 ]
>>314
おお、そんな関数があったとは。


317 名前:308 [2012/01/18(水) 22:59:44.42 ]
>>315
おお、そんな関数があったとは。


318 名前:308 [2012/01/18(水) 23:01:26.21 ]
>>316
おお、そんな関数があったとは。


319 名前:308 [2012/01/18(水) 23:08:57.17 ]
>>317
おお、そんな関数があったとは。


320 名前:308 [2012/01/18(水) 23:35:40.76 ]
>>318
おお、そんな関数があったとは。




321 名前:308 [2012/01/19(木) 08:20:42.49 ]
>>319
おお、そんな関数があったとは。


322 名前:308 [2012/01/19(木) 08:22:06.35 ]
>>320
おお、そんな関数があったとは。


323 名前:308 [2012/01/19(木) 08:23:29.36 ]
>>321
おお、そんな関数があったとは。


324 名前:132人目の素数さん mailto:sage [2012/01/19(木) 08:24:58.31 ]
>>312
おお、そんな関数があったとは。


325 名前:132人目の素数さん mailto:sage [2012/01/19(木) 08:25:39.88 ]
>>313
おお、そんな関数があったとは。


326 名前:308 [2012/01/19(木) 08:26:49.60 ]
>>322
おお、そんな関数があったとは。


327 名前:132人目の素数さん mailto:sage [2012/01/19(木) 16:46:26.30 ]
>>323
おお、そんな関数があったとは。


328 名前:132人目の素数さん mailto:sage [2012/01/19(木) 18:16:15.47 ]
>>313
おお、そんな関数があったとは。


329 名前:308 [2012/01/19(木) 19:21:49.25 ]
>>312
おお、そんな関数があったとは。


330 名前:132人目の素数さん mailto:sage [2012/01/19(木) 21:24:53.73 ]
>>305
あと、R sourceとかね。



331 名前:132人目の素数さん mailto:sage [2012/01/19(木) 21:40:30.51 ]
>>330
おお、そんな関数があったとは。


332 名前:132人目の素数さん mailto:sage [2012/01/19(木) 22:15:43.34 ]
>>330
おお、そんなsourceがあったとは。


333 名前:132人目の素数さん [2012/01/19(木) 22:16:42.63 ]
>>330
おお、そんなsourceがあったとは。


334 名前:132人目の素数さん [2012/01/19(木) 22:17:29.69 ]
>>330
おお、そんなsourceがあったとは。


335 名前:132人目の素数さん [2012/01/19(木) 22:18:01.01 ]
>>330
おお、そんなsourceがあったとは。


336 名前:132人目の素数さん [2012/01/19(木) 22:18:19.65 ]
>>330
おお、そんなsourceがあったとは。


337 名前:308 mailto:sage [2012/01/19(木) 22:19:02.38 ]
>>330
おお、そんなsourceがあったとは。


338 名前:308 mailto:sage [2012/01/19(木) 22:19:42.03 ]
>>330
おお、そんなsourceがあったとは。


339 名前:308 mailto:sage [2012/01/19(木) 22:20:11.53 ]
>>330
おお、そんなsourceがあったとは。


340 名前:132人目の素数さん mailto:sage [2012/01/19(木) 23:14:29.36 ]
おおそんウェールズだったとは。



341 名前:308 mailto:sage [2012/01/20(金) 04:32:17.58 ]
おまえら、いい加減にしなさい。

342 名前:132人目の素数さん mailto:sage [2012/01/20(金) 05:22:51.54 ]
おまえら、いい加減にしなさい。

343 名前:313 mailto:sage [2012/01/20(金) 20:36:44.68 ]
スレが伸びていると思ったら、お前ら。。。

でも、実際の話、zapsmall()を知らないで、
条件分岐における数値型の同値の比較を
どうやって今まで書いていたのだろうと不思議に思う。

344 名前:132人目の素数さん [2012/01/20(金) 20:42:23.02 ]
>>307
こいつ自分で質問の意味わかってのかいな?

345 名前:132人目の素数さん [2012/01/20(金) 23:50:31.94 ]
>>343
他の言語と同じように書いてたよ。


346 名前:132人目の素数さん [2012/01/20(金) 23:57:15.16 ]
>>343
abs(x-y) < 10^-14 とか


347 名前:132人目の素数さん [2012/01/23(月) 09:35:12.79 ]
簡単なことですが質問させてください。
10*3の配列があり,1列目と2列目,1列目と3列目の計算し,
元の配列に戻したいばあい,どのように配列指定をしてやれば良いのでしょうか?

たとえば
x <- matrix(1:30, ncol=3)
で,
4列目に
x[,1]+x[,2]
5列目に
x[,1]*x[,2]

おそらく
x <- matrix(x[,1]+x[,2], x[,1]*x[,3], ???????)
で,「???????」を指定すればいいと思うのですが,,,,


よろしくお願いします

348 名前:132人目の素数さん mailto:sage [2012/01/23(月) 09:52:39.90 ]
>>347
> cbind(x,x[,1]+x[,2],x[,1]*x[,2])
[,1] [,2] [,3] [,4] [,5]
[1,] 1 11 21 12 11
[2,] 2 12 22 14 24
[3,] 3 13 23 16 39
[4,] 4 14 24 18 56
[5,] 5 15 25 20 75
[6,] 6 16 26 22 96
[7,] 7 17 27 24 119
[8,] 8 18 28 26 144
[9,] 9 19 29 28 171
[10,] 10 20 30 30 200
こういうこと?

349 名前:347 [2012/01/23(月) 10:02:32.95 ]
早速ありがとうございます
>348

matrix()を使わなければいけないと悩んでいた私が馬鹿でした。
matrizだと横展開にしかならず苦悩しておりました。

350 名前:348 mailto:sage [2012/01/23(月) 12:02:36.25 ]
>>349
いや、cbind()かmatrix()かは好みの問題だと思うぞ。
> matrix(c(x,x[,1]+x[,2],x[,1]*x[,2]),ncol=5)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 11 21 12 11
[2,] 2 12 22 14 24
[3,] 3 13 23 16 39
[4,] 4 14 24 18 56
[5,] 5 15 25 20 75
[6,] 6 16 26 22 96
[7,] 7 17 27 24 119
[8,] 8 18 28 26 144
[9,] 9 19 29 28 171
[10,] 10 20 30 30 200



351 名前:132人目の素数さん mailto:sage [2012/01/23(月) 13:13:39.14 ]
RStudio最新版(0.94.110)はR-2.14以降も動作していますか?
RStudioご利用の方いましたら、ご一報お願いします

352 名前:132人目の素数さん mailto:sage [2012/01/23(月) 13:28:06.82 ]
>>351
$ dpkg -l rstudio r-base |tail -2
ii r-base 2.14.1-1oneiric0 GNU R statistical computation and graphics system
ii rstudio 0.94.110 RStudio
問題なし。







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

前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