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
159 名前:132人目の素数さん mailto:sage [2011/09/01(木) 15:41:46.21 ] R
160 名前:132人目の素数さん mailto:sage [2011/09/05(月) 16:54:51.22 ] 、
161 名前:132人目の素数さん mailto:sage [2011/09/05(月) 17:18:37.28 ] matlab使い慣れてる人向けの R入門書ってないでしょうか
162 名前:132人目の素数さん mailto:sage [2011/09/05(月) 20:58:24.38 ] Ramsay, J.O., Hooker, Giles, Graves, Spencer (2010) Functional Data Analysis with R and MATLAB (Use R) Springer-Verlag Jan Graffelman (2010) Multivariate Analysis With Matlab And R CRC Press Online
163 名前:132人目の素数さん mailto:sage [2011/10/02(日) 01:52:40.21 ] 基本的なことで申し訳ありません。 ワークスペースを保存しようとすると1kbのファイルしか保存されず、保存に失敗します。 原因がわかればよろしくお願いします。
164 名前:163 mailto:sage [2011/10/02(日) 02:08:38.40 ] すいません。圧縮されているんですね。 スレ汚しすいません。
165 名前:132人目の素数さん mailto:sage [2011/10/04(火) 02:54:00.77 ] g <- function(x) x^2 plot(g) こんな感じで半径1の円を描きたいのです。 教えてください。
166 名前:132人目の素数さん mailto:sage [2011/10/04(火) 09:53:36.95 ] >>165 symbols(0,0,circles=1,inches=FALSE) お望みはこんな感じ?
167 名前:132人目の素数さん mailto:sage [2011/10/04(火) 11:45:17.26 ] >>166 ありがとうございます。 symbols(0,0,circles=1,inches=F, xlim=c(0,2), ylim=c(0,2)) 図示されたイメージの縦横比(大きさ)を変えると 円の大きさも変化してしまうのですが… できれば、sqrt(x^2+y^2)の式を用いて描きたいです
168 名前:152 mailto:sage [2011/10/04(火) 12:39:57.11 ] >>167 >sqrt(x^2+y^2)の式を用いて描きたい じゃあそうすればいいじゃん。なぜためらう? > x <- seq(-1,1,length.out=100) > y <- sqrt(1^2-x^2) > plot(x,y,type="l") これで半円だろ。 > plot(c(x,x),c(y,-y),type="l") これで円になるだろ。
169 名前:132人目の素数さん mailto:sage [2011/10/04(火) 12:40:50.47 ] 152ってなんだ、166の間違い
170 名前:132人目の素数さん mailto:sage [2011/10/04(火) 12:49:40.40 ] >>168 ありがとうございます。勉強になりました。
171 名前:132人目の素数さん mailto:sage [2011/10/04(火) 12:54:05.14 ] >>170 念のために、ちょっと改良 > plot(c(x,rev(x)),c(y,-y),type="l") 用途によるけど、円を描画したければ、symbolsを使った方が、 アスペクト比に影響されずに正円になるのでよいと思うが。 xy座標で円を描くと、asp=1にでもしない限り、普通は楕円になってしまう。
172 名前:132人目の素数さん mailto:sage [2011/10/12(水) 10:45:20.34 ] パッケージurcaのur.dfでlags=10, selectlags=c("AIC") のようにAICやBICを使うと、 selectlagsをFixedしてラグを変えて一通り試しても AICやBICを用いた計算に一致する結果がない、 自分で計算したBICとでは選択されたラグが一致しないなど どこか間違っている気がします。 ソースを見ても critRes <-AIC(result, k = switch(selectlags, AIC = 2, BIC = log(length(z.diff)))) lags <- which.min(critRes) となっていて、当方の利用の仕方に間違いがあるのかどうかも分かりません。 どなたか、この点についてご教示いただければと思います。
173 名前:132人目の素数さん mailto:sage [2011/10/23(日) 19:16:11.40 ] 確率の推定を行いたい ロジスティック回帰のような、説明変数に対して単調増加する線形じゃなくて 多分ガウス曲線みたいな感じになると思うのだけれども なんか適当なパッケージないですかね?
174 名前:132人目の素数さん mailto:sage [2011/10/24(月) 21:24:37.50 ] 質問です。 都道府県 学年 テスト点数 京都 1 85 大阪 2 90 京都 3 70 奈良 2 60 東京 _3 90 ・・・ というようなデータフレームDFが存在します。 これを各都道府県別に学年毎のテストの平均点を算出したいのですが、 どうすれば良いのでしょうか? 最初に都道府県別にデータフレームを分割すれば tapply関数などで集約できるのですが、いかんせんfor loopで回すので 時間がかかります。ループを利用しないような簡単な計算方法はないでしょうか? 府県名 <- sort(unique(DF[,1])) for ( i in 府県名 ){ }
175 名前:174 [2011/10/24(月) 21:27:18.06 ] すいません。 途中で送信してしまいました。 現在は 府県名 <- sort(unique(DF[,1])) for ( i in 府県名 ){ temp <- sub(DF, DF$府県名==i) result <- tapply(temp, temp$テスト点数, mean) } のようにしてますがいかんせんループで時間がかかります。 よろしくお願いいたします。
176 名前:132人目の素数さん mailto:sage [2011/10/24(月) 22:11:15.94 ] R言語は知らないのですが、考え方だけ。 整数型配列を二つ用意します。大きさは両方とも6*47=282です。 名前はsum、counter。最初は全て0を入れておきます。 配列の1番目は、北海道の1年に対応させ、2番目は青森の1年...47番は沖縄の一年。 48番は北海道の2年...282番目は沖縄の6年。 あるいは、1番は北海道の1年、2番は北海道の2年、...、6番は北海道の6年、... 277番が沖縄の1年、...282番は沖縄の6年。 どちらでもかまいません。 一人目のデータを読み込み、京都1年に対応するデータのsumを点数の分だけ増やし、counterは1増やす。 これを全データで行います。一度スキャンするだけです。 この目的には、ソートは必要ありません。
177 名前:174 mailto:sage [2011/10/24(月) 22:25:22.55 ] >>176 ありがとうございます。 Cならそれで十分なのですが、Rの場合ベクトルで扱うのでループ処理は遅くなるらしいのです。 もう一点質問です。 CODE CD VAL 0001 101 3 0001 201 4 0001 333 5 0002 201 2 0002 333 7 ・・・ というデータフレームがある場合に CODE VAL[101] VAL[102] ........ VAL[201] ............. 0001 3 0 ........ 4 ............... というようなデータフレームに変換するにはどうすればよいでしょうか。 これも現在はループを利用して処理をしております よろしくお願いいたします。
178 名前:132人目の素数さん mailto:sage [2011/10/24(月) 22:51:31.71 ] データフレーム名をDFとして、中身が pref grade score kyoto 1 kyoto 1 85 oosaka 2 90 kyoto 3 70 nara 2 60 tokyo _3 90 ・・・ として、 tapply(DF$score, list(grade=DF$grade, pref=DF$pref), mean, na.rm=TRUE) みたいのではいかんのですか? いや、私もよくわからんので、Rコマンダーにお伺いをたててみたんですがね。
179 名前:132人目の素数さん mailto:sage [2011/10/25(火) 02:06:48.72 ] >>178 ヘルプを見るとインデックスはlist of factorS とあるから、複数のベクトルをいれれるんだね。勉強になりました。 tapply(X, INDEX, FUN = NULL, ..., simplify = TRUE) Arguments X an atomic object, typically a vector. INDEX list of factors, each of same length as X. The elements are coerced to factors by as.factor.
180 名前:132人目の素数さん mailto:sage [2011/10/25(火) 02:12:24.16 ] >>177 cran.r-project.org/web/packages/HSAUR2/vignettes/Ch_analysing_longitudinal_dataI.pdf の三ページのreshape()かな
181 名前:132人目の素数さん mailto:sage [2011/10/25(火) 02:20:33.81 ] >>177 >CODE CD VAL >0001 101 3 >0001 201 4 >0001 333 5 >0002 201 2 >0002 333 7 >・・・ > >というデータフレームがある場合に >CODE VAL[101] VAL[102] ........ VAL[201] ............. >0001 3 0 ........ 4 ............... reshape(data, idvar="CODE", v.name="VAL", time="CD") でどうでしょう。
182 名前:132人目の素数さん mailto:sage [2011/10/25(火) 02:28:43.43 ] >>181 reshape(data, idvar="CODE", v.name="VAL", timevar="CD", direction="wide") でした。
183 名前:132人目の素数さん mailto:sage [2011/10/25(火) 09:18:31.89 ] サポートベクターマシンにて入力変数が多く、 精度を上げるための特徴選択を行おうと思い、 そのためのパッケージとして、"penalizedSVM"が あると知りました(元々BioInformatics用みたいですが)。 r.789695.n4.nabble.com/Stepwise-SVM-Variable-selection-td3178718.html cran.r-project.org/web/packages/penalizedSVM/index.html しかし日本語の解説やリファレンスが皆無で、 英語でも分かりやすい解説がなく、 パッケージの公式リファレンスでは自分にはイミフでした。 cran.r-project.org/web/packages/penalizedSVM/penalizedSVM.pdf どなたか実際にお使いの方がいれば、具体的に どのように使用するか教えていただけないでしょうか。
184 名前:17 mailto:sage [2011/10/25(火) 22:44:03.74 ] 皆様ありがとうございました。 2つとも無事うまく解決できました。 やっぱりよくヘルプを読む必要がありますね。 精進します。
185 名前:132人目の素数さん mailto:sage [2011/10/26(水) 00:50:54.90 ] >>174 の例で、各都道府県別+学年毎に分けたグループそれぞれについて 1対1の全組み合わせのt.testを一気に行う方法があるでしょうか? (loopで回す関数を自作したりしない出来合の方法で)
186 名前:132人目の素数さん mailto:sage [2011/10/26(水) 07:28:10.01 ] >>185 それは、R以前の問題として、不適切だと思うのですが。 あるいは駄目な例としてやるってことかな? 二元配置の分散分析か、何らかの多重比較ではだめなんでしょうか?
187 名前:132人目の素数さん [2011/10/31(月) 21:41:20.58 ] CODE_1 CODE_2 VAL1 VAL2 VAL3 VAL4 ______________________ AAAAA 122 NA 2.5 3.8 NA AAAAA 154 2.4 1 4 5 AAAAA 166 3.4 4.0 4 5 AAAAA 178 NA 33 NA NA ・ ・ BBBBB 122 4 3.4 4.3 1 BBBBB 123 NA 2 4 4 BBBBB 154 2 5 5 6 ・ ・ というようなデータをもつデータフレーム これをCODE_2毎に相関を算出したいと考えております。 現在は allcode <- sort(unique(DF$CODE_2)) for ( c_code in 1:length(allcode)) { TEMPDF <- subset(DF, DF$CODE_2==allcode[c_code]) cor(TEMPDF[, -1][, -1], use = "pairwise.complete.obs") ・・・ } でおこなっているのですが、いかんせんCODE_2の数が多く、 ループ数が非常におおくなります。 解決策などありますでしょうか? よろしくお願いします
188 名前:132人目の素数さん mailto:sage [2011/11/01(火) 08:20:00.30 ] >>187 code_2を因子化、tapply cor
189 名前:132人目の素数さん mailto:sage [2011/11/01(火) 10:39:24.41 ] by(DF[3:5], DF$CODE_2, cor) でいいんじゃないの?
190 名前:132人目の素数さん mailto:sage [2011/11/01(火) 11:23:41.66 ] >>189 >>187 じゃないけど、by()ってこんなに便利だったのか。 > V=c(NA,round(runif(10)*10,1)) > dat <- data.frame(C1=sample(LETTERS,50,replace=TRUE), + C2=sample(100:105,50,replace=TRUE), + V1=sample(V,50,replace=TRUE), + V2=sample(V,50,replace=TRUE), + V3=sample(V,50,replace=TRUE), + V4=sample(V,50,replace=TRUE)) > by(dat[,3:6],dat$C2,cor) dat$C2: 100 V1 V2 V3 V4 V1 1 NA NA NA V2 NA 1 NA NA V3 NA NA 1 NA V4 NA NA NA 1 ------------------------------------------------------------ dat$C2: 101 V1 V2 V3 V4 V1 1 NA NA NA V2 NA 1 NA NA V3 NA NA 1.0000000 -0.4458286 V4 NA NA -0.4458286 1.0000000 ------------------------------------------------------------ dat$C2: 102 V1 V2 V3 V4 V1 1.0000000 NA 0.1731169 NA V2 NA 1 NA NA V3 0.1731169 NA 1.0000000 NA V4 NA NA NA 1 [以下略]
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] でやろうかと思っていますが データ数がデータ数なのでもっと高速な方法がありましたらご教授ください お願いいたします