【R言語】統計解析フリーソフトR 第4章【GNU R】
■ このスレッドは過去ログ倉庫に格納されています
0001132人目の素数さん
2011/01/09(日) 17:31:49統計計算で重宝するデータ型や、複数要素を処理する演算や関数、
解析結果を表示するグラフィックなど、多彩な機能を提供します。
●関連サイト
The R Project
http://www.r-project.org/
RjpWiki
http://www.okada.jp.org/RWiki/
リンク集
http://www.okada.jp.org/RWiki/?%A5%EA%A5%F3%A5%AF%BD%B8
0152132人目の素数さん
2011/08/12(金) 01:53:48.61> seq(from=0,to=0.2,by=0.05)
[1] 0.00 0.05 0.10 0.15 0.20
> factorial(5+20-1)/factorial(20)/factorial(5-1)
[1] 10626
この程度の組み合わせなら全て計算して合計が1のものを選んだ方が早いかも。
0153152
2011/08/12(金) 02:20:56.85> n <- seq(from=0,to=0.2,by=0.05)
> m <- expand.grid(n,n,n,n,n,n)
> m.s <- apply(m,1,sum)
> a <- m[m.s==1,]
> head(a)
Var1 Var2 Var3 Var4 Var5 Var6
3125 0.20 0.20 0.20 0.20 0.20 0.00
5625 0.20 0.20 0.20 0.20 0.15 0.05
6125 0.20 0.20 0.20 0.15 0.20 0.05
6225 0.20 0.20 0.15 0.20 0.20 0.05
6245 0.20 0.15 0.20 0.20 0.20 0.05
6249 0.15 0.20 0.20 0.20 0.20 0.05
0154132人目の素数さん
2011/08/12(金) 03:46:54.73パターンは次の108通り。合計が20未満の場合は、足りない数だけ1を加える。変数が20個未満の場合は、足りない分だけ0を加える。
例:432→合計が9なので、1を11個加え、43211111111111、さらに数字の数が14個なので、0を6つ加え、「43211111111111000000」が真のパターン
44444 , 44443 , 444422 , 44442 , 4444 , 444332 , 44433 , 444322 , 44432 ,
4443 , 4442222 , 444222 , 44422 , 4442 , 444 , 443333 , 443332 , 44333 ,
4433222 , 443322 , 44332 , 4433 , 4432222 , 443222 , 44322 , 4432 , 443 ,
44222222 , 4422222 , 442222 , 44222 , 4422 , 442 , 44 , 433333 , 4333322 ,
433332 , 43333 , 4333222 , 433322 , 43332 , 4333 , 43322222 , 4332222 ,
433222 , 43322 , 4332 , 433 , 43222222 , 4322222 , 432222 , 43222 , 4322 ,
432 , 43 , 422222222 , 42222222 , 4222222 , 422222 , 42222 , 4222 ,
422 , 42 , 4 , 3333332 , 333333 , 3333322 , 333332 , 33333 , 33332222 ,
3333222 , 333322 , 33332 , 3333 , 33322222 , 3332222 , 333222 , 33322 ,
3332 , 333 , 332222222 , 33222222 , 3322222 , 332222 , 33222 , 3322 , 332 , 33 ,
322222222 , 32222222 , 3222222 , 322222 , 32222 , 3222 , 322 , 32 , 3 ,
2222222222 , 222222222 , 22222222 , 2222222 , 222222 , 22222 , 2222 , 222 , 22 , 2 ,1
各パターン毎に、変数の名前の入れ替えを考えると、合計35,561,166,195通りあると思われる。
0155132人目の素数さん
2011/08/16(火) 17:26:31.500156132人目の素数さん
2011/08/16(火) 20:01:09.46http://sites.google.com/site/geogebrajp/
0157132人目の素数さん
2011/08/17(水) 15:07:10.21式は最大で4つほど、xとyに関しては整数を想定しています。
z=ax+by … (i)
z=cx+dy … (ii)
単純に総当りで(x,y)に対して、zを最小化する式を選ぶだけなら適当に関数を作ればいけそうですが(スマートではないですね…)、その境界をどうやったらグラフに引けるかがわかりません。
どなたか教えてくだされば幸いです。
よろしくお願いします。
0158132人目の素数さん
2011/08/17(水) 18:16:26.16>z=ax+by … (i)
>z=cx+dy … (ii)
この式でzが等しくなるax+by=cx+dyを引けばよいです。
>式は最大で4つほど
組み合わせが6組あるから6本引いてください。
>xとyに関しては整数を想定しています。
境界線を引くときは整数という条件を無視し、
グラフを見る時に整数が線のどちら側にあるか判断してください。
0159132人目の素数さん
2011/09/01(木) 15:41:46.210160132人目の素数さん
2011/09/05(月) 16:54:51.220161132人目の素数さん
2011/09/05(月) 17:18:37.28R入門書ってないでしょうか
0162132人目の素数さん
2011/09/05(月) 20:58:24.38(Use R) Springer-Verlag
Jan Graffelman (2010) Multivariate Analysis With Matlab And R CRC Press Online
0163132人目の素数さん
2011/10/02(日) 01:52:40.21ワークスペースを保存しようとすると1kbのファイルしか保存されず、保存に失敗します。
原因がわかればよろしくお願いします。
0164163
2011/10/02(日) 02:08:38.40スレ汚しすいません。
0165132人目の素数さん
2011/10/04(火) 02:54:00.77plot(g)
こんな感じで半径1の円を描きたいのです。
教えてください。
0166132人目の素数さん
2011/10/04(火) 09:53:36.95symbols(0,0,circles=1,inches=FALSE)
お望みはこんな感じ?
0167132人目の素数さん
2011/10/04(火) 11:45:17.26symbols(0,0,circles=1,inches=F, xlim=c(0,2), ylim=c(0,2))
図示されたイメージの縦横比(大きさ)を変えると
円の大きさも変化してしまうのですが…
できれば、sqrt(x^2+y^2)の式を用いて描きたいです
0168152
2011/10/04(火) 12:39:57.11>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")
これで円になるだろ。
0169132人目の素数さん
2011/10/04(火) 12:40:50.470170132人目の素数さん
2011/10/04(火) 12:49:40.400171132人目の素数さん
2011/10/04(火) 12:54:05.14念のために、ちょっと改良
> plot(c(x,rev(x)),c(y,-y),type="l")
用途によるけど、円を描画したければ、symbolsを使った方が、
アスペクト比に影響されずに正円になるのでよいと思うが。
xy座標で円を描くと、asp=1にでもしない限り、普通は楕円になってしまう。
0172132人目の素数さん
2011/10/12(水) 10:45:20.34のようにAICやBICを使うと、
selectlagsをFixedしてラグを変えて一通り試しても
AICやBICを用いた計算に一致する結果がない、
自分で計算したBICとでは選択されたラグが一致しないなど
どこか間違っている気がします。
ソースを見ても
critRes <-AIC(result, k = switch(selectlags, AIC = 2, BIC = log(length(z.diff))))
lags <- which.min(critRes)
となっていて、当方の利用の仕方に間違いがあるのかどうかも分かりません。
どなたか、この点についてご教示いただければと思います。
0173132人目の素数さん
2011/10/23(日) 19:16:11.40ロジスティック回帰のような、説明変数に対して単調増加する線形じゃなくて
多分ガウス曲線みたいな感じになると思うのだけれども
なんか適当なパッケージないですかね?
0174132人目の素数さん
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 府県名 ){
}
0175174
2011/10/24(月) 21:27:18.06途中で送信してしまいました。
現在は
府県名 <- sort(unique(DF[,1]))
for ( i in 府県名 ){
temp <- sub(DF, DF$府県名==i)
result <- tapply(temp, temp$テスト点数, mean)
}
のようにしてますがいかんせんループで時間がかかります。
よろしくお願いいたします。
0176132人目の素数さん
2011/10/24(月) 22:11:15.94整数型配列を二つ用意します。大きさは両方とも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増やす。
これを全データで行います。一度スキャンするだけです。
この目的には、ソートは必要ありません。
0177174
2011/10/24(月) 22:25:22.55ありがとうございます。
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 ...............
というようなデータフレームに変換するにはどうすればよいでしょうか。
これも現在はループを利用して処理をしております
よろしくお願いいたします。
0178132人目の素数さん
2011/10/24(月) 22:51:31.71pref 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コマンダーにお伺いをたててみたんですがね。
0179132人目の素数さん
2011/10/25(火) 02:06:48.72ヘルプを見るとインデックスは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.
0180132人目の素数さん
2011/10/25(火) 02:12:24.16http://cran.r-project.org/web/packages/HSAUR2/vignettes/Ch_analysing_longitudinal_dataI.pdf
の三ページのreshape()かな
0181132人目の素数さん
2011/10/25(火) 02:20:33.81>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")
でどうでしょう。
0182132人目の素数さん
2011/10/25(火) 02:28:43.43reshape(data, idvar="CODE", v.name="VAL", timevar="CD", direction="wide")
でした。
0183132人目の素数さん
2011/10/25(火) 09:18:31.89精度を上げるための特徴選択を行おうと思い、
そのためのパッケージとして、"penalizedSVM"が
あると知りました(元々BioInformatics用みたいですが)。
http://r.789695.n4.nabble.com/Stepwise-SVM-Variable-selection-td3178718.html
http://cran.r-project.org/web/packages/penalizedSVM/index.html
しかし日本語の解説やリファレンスが皆無で、
英語でも分かりやすい解説がなく、
パッケージの公式リファレンスでは自分にはイミフでした。
http://cran.r-project.org/web/packages/penalizedSVM/penalizedSVM.pdf
どなたか実際にお使いの方がいれば、具体的に
どのように使用するか教えていただけないでしょうか。
018417
2011/10/25(火) 22:44:03.742つとも無事うまく解決できました。
やっぱりよくヘルプを読む必要がありますね。
精進します。
0185132人目の素数さん
2011/10/26(水) 00:50:54.901対1の全組み合わせのt.testを一気に行う方法があるでしょうか?
(loopで回す関数を自作したりしない出来合の方法で)
0186132人目の素数さん
2011/10/26(水) 07:28:10.01それは、R以前の問題として、不適切だと思うのですが。
あるいは駄目な例としてやるってことかな?
二元配置の分散分析か、何らかの多重比較ではだめなんでしょうか?
0187132人目の素数さん
2011/10/31(月) 21:41:20.58______________________
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の数が多く、
ループ数が非常におおくなります。
解決策などありますでしょうか?
よろしくお願いします
0188132人目の素数さん
2011/11/01(火) 08:20:00.30code_2を因子化、tapply cor
0189132人目の素数さん
2011/11/01(火) 10:39:24.41でいいんじゃないの?
0190132人目の素数さん
2011/11/01(火) 11:23:41.66>>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
[以下略]
0191132人目の素数さん
2011/11/01(火) 11:47:20.47すまんこれ教えてくれ
0192132人目の素数さん
2011/11/01(火) 12:23:35.93見れねーよ
0193132人目の素数さん
2011/11/01(火) 12:26:19.61九行九列で
0194132人目の素数さん
2011/11/01(火) 13:07:16.47宿題は自分でやれ。
無意味な課題であることには同情するが。
0195132人目の素数さん
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
0196132人目の素数さん
2011/11/01(火) 21:38:31.87n=9;matrix(rep(rep(c(1,0),c(1,n)),n),n,n)
0197132人目の素数さん
2011/11/01(火) 22:18:26.30それは多分、定石に近いやり方だと思う。
APLでは同じロジックで以下のように書く。
n nρ1,(n←9)ρ0
0198132人目の素数さん
2011/11/02(水) 01:29:13.55かしこいな
0199132人目の素数さん
2011/11/02(水) 10:30:18.51rep()の回数にベクトルを指定できるとは知らなかった。
昔からだったっけ?repのexample()を見たら、listのrepとかがある。
もはや何でも有りだなw
0200132人目の素数さん
2011/11/02(水) 15:09:25.23> 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] を整数で割った、もしくは掛けた値ではありません
0201132人目の素数さん
2011/11/02(水) 18:35:46.710202132人目の素数さん
2011/11/02(水) 20:41:59.14そこで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
0203132人目の素数さん
2011/11/02(水) 20:45:02.50> (( ̄1+ρc),27)ρc←'APL IS HAPPY '
こっちが本来だった。
(12,1+2×ρc)ρc←'APL IS HAPPY '
0204132人目の素数さん
2011/11/03(木) 02:20:32.860205187
2011/11/03(木) 09:38:31.29遅くなって申し訳ありませんがありがとうございました。
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]
}
とループを回すしかありませんか?
よろしくお願いします
0206132人目の素数さん
2011/11/03(木) 10:38:07.92どんだけforが好きなんだよw
forの方がむしろ思いつかんわ
0207132人目の素数さん
2011/11/03(木) 16:14:38.08forever are you
0208132人目の素数さん
2011/11/04(金) 00:56:32.12result[[1:n]][ , 2:4]
ってやったらどうなりますか?
0210132人目の素数さん
2011/11/06(日) 16:00:11.33膨大なデータから、-1と1を判別して予測する集団学習で
ランダムフォレスト、バギング、ブースティング、SVMの他に有用そうなものってありますか?
ググっても上の4つくらいしか出ないのですが十分ですかね。
0211132人目の素数さん
2011/11/06(日) 22:20:02.20もうちょっとグラフィックとかマシなのある?Mac使いとしはやっぱ見た目は重要。
0212132人目の素数さん
2011/11/07(月) 00:01:59.45Rはオブジェクト指向言語、BASIC、C、C++と比べて遥かに使いやすいし現実的な数値計算で使える。
#Excelと比較してC言語は地味でしょぼい
と嘆かれても困ったもんだ。RはExcelやNumbersとは用途が違う。
但し、重複する所もある。
具体的にはExcelのオプションの分析機能はRの機能と重なる。
使い分けが必要なんだな。
0213132人目の素数さん
2011/11/07(月) 00:06:22.28え?マジで言ってるとしたら勉強不足としか思えないのだが・・・
フォントを代えるなり、latticeやggplot2等のパッケージを試してみるといいよ
参照:ttp://rgm2.lab.nig.ac.jp/RGM2/
これは蛇足だが、学術ソフトの画像出力として「味気ない」というのは明らかに利点
大事なのは見易さと正確性であって、派手なグラフが良いとか考えていると周りから痛い子扱いされるよ
0215132人目の素数さん
2011/11/07(月) 00:25:08.30http://cwoweb2.bai.ne.jp/~jgb11101/files/R-commander.pdf
優れている点はR Commanderのメニューが
データ、統計量、グラフ、モデル、分布
に分かれているのだけれど、これって数学的な"分析"の手順に沿ったメニュー構成になっている事に気が付く。
ディープな分析をしたい時はRを使うし、事務的な作業をしたい場合はExcelを使う。
世の中の大半はExcelで十分だと思う。Rを使いこなせる人たちは高級な。
0216132人目の素数さん
2011/11/07(月) 02:59:23.82実にしょぼい
0217132人目の素数さん
2011/11/07(月) 03:00:31.750218132人目の素数さん
2011/11/07(月) 07:58:28.74それでは分析する価値は無い。
例えば、ロジスティック回帰分析の場合、入力は膨大でもアウトプットはyesかno程度だよ。
まあ、派手なグラフィックパッケージを探したら?あるんじゃないの?
0219132人目の素数さん
2011/11/07(月) 10:47:44.35趣旨には賛同する。
> ロジスティック回帰分析の場合、入力は膨大でもアウトプットはyesかno程度
おーい。凡ミスか本気でそう思っているのかどっちだ?
0220132人目の素数さん
2011/11/07(月) 12:18:25.23なぜ結果がグラフィカルというだけで本質が掴めてるとは言えないの?
結果は変わらないだろうにww
あなた自身が本質を掴めてないのではww
0221132人目の素数さん
2011/11/07(月) 14:01:31.17横から参戦させてもらうが、そもそもデータ分析の目的は、
データに含まれる枝葉末節を取り除き、データの中に隠れている本質を洗い出すことにある。
苦労して洗い出した本質にまた余計なものを加えて汚すのはこれ如何に?
0222132人目の素数さん
2011/11/07(月) 16:20:49.990223132人目の素数さん
2011/11/07(月) 18:42:59.29リゲス先生が詳しいと思うよw
0225187
2011/11/07(月) 23:10:40.47必要な要素だけを取り出すようにしました。
ループをまわさないのでだいぶ高速化されました。
ありがとうございまいた。
0226218
2011/11/07(月) 23:13:34.77>なぜ結果がグラフィカルというだけで本質が掴めてるとは言えないの?
誤解があったようですまない。
別に可視化(グラフィカル)の研究分野を否定しているわけではないよ。
人間の目で見て確認するのは結構有効なんだよね。
一例を探してみました。
次のURLの画像を見てもらいたいのだけれど
http://www-kairo.csce.kyushu-u.ac.jp/~norikazu/svm.png
左側の2次元平面上の青と赤の点を"シンプルな人工知能"で判別する事はできないんだ。
ところがSVM(サポートベクターマシン)と呼ばれる人工知能を用いるとこれを右側の3次元の問題に置き換える事で判別できるようにするんだ。
こういう判別ができているのか?出来ていないのか?は人間の目で判断して使い分けた方が良い場合がある。
だから可視化は一つの研究分野として重視されているんだ。
0227218
2011/11/07(月) 23:20:49.19>>221 さんの主張にあるようにR使いの人たちは大体、数百次元のデータから4次元や5次元位に絞り込む。
でもグラフィカルの世界では基本的に3次元(z軸,y軸,z軸)が限界なんだよね。
4次元以上は色や形に置き換えて可視化する事になる。そうなると実は分かりにくいんだよ。
先のURLの人工知能の例でも所詮2次元から3次元へ問題を置き換えているに過ぎない。
分析の世界をまじめに可視化するとかなりハードルが高くなるんだよね。
勿論、高次元を可視化する手法としてSOMという方法も存在するよ。
0228132人目の素数さん
2011/11/08(火) 09:30:33.830229132人目の素数さん
2011/11/08(火) 09:45:20.37データの可視化の話と、派手なグラフィックで装飾する話は別の話だと思うが。
0230218
2011/11/08(火) 22:42:06.35ああ、そうなのか。まじめに答えちまったい(^_^)。
でもn次元を2次元に強引にマッピングして可視化するSOMって人間が感覚的にデータの善し悪しを判断する時に結構使えると思うんだよね。
まあ、いいや。
0231132人目の素数さん
2011/11/09(水) 09:17:28.99データで相手を説得することに意義を感じるビジネスマンは、
相容れないと思うんだ。円グラフを立体化して一部を切り出したり、
棒グラフを無意味に立体化したり、グラデーションで彩色したりというのは、
ビジネスマンに必要かも知れないけど、研究者には必要がない。
0232132人目の素数さん
2011/11/09(水) 22:27:50.28MySQLからデータを取得し、データフレームに読み込ませたいのですが、
日付時刻のカラムがあり、どう読み込ませるのか分からず困っています。
-----
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は初めて使うので基礎的な事しかわかりませんが、どうかご教授ください。
0233132人目の素数さん
2011/11/10(木) 15:56:58.04直にMySQLならデータベースに直にSQLアクセスするパッケージを使う必要があるのでは?RODBCだっけ?
テキストに書き出して読み込むなら、read.tableがつかえると思けど時間が混じると読み込んでから変換が必要だと思う。
いずれも、Rデータ自由自在に書いてあると思う
0234132人目の素数さん
2011/11/15(火) 11:15:58.602.a=1000:1を作成してこれを昇順に並び替えなさい。
3.A=matrix(400:1,20,20)を作成し、この行列を第1列の値が昇順に並ぶように行を並び替えなさい
0235132人目の素数さん
2011/11/15(火) 11:16:21.600236132人目の素数さん
2011/11/15(火) 14:26:46.90また宿題か。
まさか試験中に書き込んでる?
0237132人目の素数さん
2011/11/15(火) 22:14:50.47> 1.i行j列成分がi^2+j^3で与えられる10行10列の行列をfor文を用いて作りなさい。
しかし、Rでfor文ってその教授はバカじゃないの?
常識的に
outer((1:10)^2,(1:10)^3,'+')
ってやるものじゃないのか?
0238132人目の素数さん
2011/11/16(水) 00:17:57.031. 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,]
0239132人目の素数さん
2011/11/17(木) 09:59:23.86Rを外部プロセスから呼び出したり、
シェルからRプログラムを渡して標準出力で受け取ったりはできるのでしょうか。
なにとぞよろしくお願いします。
0240132人目の素数さん
2011/11/17(木) 12:17:43.67$ echo 'print(pi)' |r
[1] 3.141593
とか
$ Rscript -e 'print(pi)'
[1] 3.141593
0241240
2011/11/17(木) 12:20:00.76> 標準出力で受け取ったり
無意味な例だけど、
$ echo 'print(pi)' |r | sed 's/3/A/g'
[1] A.14159A
0242132人目の素数さん
2011/11/17(木) 18:28:14.48ありがとうございました。
活用します。
0243132人目の素数さん
2011/11/18(金) 10:01:50.10シェルスクリプトから、短いRスクリプトを呼ぶなら、
ヒアドキュメントを使う方法が個人的に好き。
R --vanilla --slave <<_END_OF_R_ > output_of_R.txt
print(pi)
_END_OF_R_
別に、Rに限らず、PerlでもPythonでもこの方法は使えますが、、、
0244132人目の素数さん
2011/11/18(金) 10:12:24.08おぉ、Rって標準入力からそのまま普通に使えたのか
0245132人目の素数さん
2011/11/18(金) 18:03:12.10エンジニアと参加願います公安はサリンオウム信者の子供を40歳まで社会から隔離している
オウム信者が地方で現在も潜伏している
それは新興宗教を配下としている公安の仕事だ
発案で盗聴器を開発したら霊魂が寄って呼ぶ来た
<電波憑依>
スピリチャル全否定なら江原三輪氏、高橋佳子大川隆法氏は、幻聴で強制入院矛盾する日本宗教と精神科
<コードレス盗聴>
2004既に国民20%被害250〜700台数中国工作員3〜7000万円2005ソウルコピー2010ソウルイン医者アカギ絡む<盗聴証拠>
今年5月に日本の警視庁防課は被害者SDカード15分を保持した有る国民に出せ!!<創価幹部>
キタオカ1962年東北生は二十代で2人の女性をレイプ殺害して入信した創価本尊はこれだけで潰せる<<<韓国工作員鸛<<<創価公明党 <テロ装置>>東芝部品)>>ヤクザ<宗教<同和<<公安<<魂複<<官憲>日本終Googl検索
0246132人目の素数さん
2011/11/18(金) 18:03:58.46誰か(アメリカ)気づいた
ソウルコピー機器
0247132人目の素数さん
2011/11/19(土) 03:14:20.46この幅を変更する方法はありますか?また、他の解決方法がありましたら、教えてください。
0248132人目の素数さん
2011/11/19(土) 11:32:20.50グラフを大きくした方がよさげだけど、
pdf(file="247.pdf",width=14,height=14)
persp(...)
dev.off()
ぐらいから、サイズを試行錯誤してみれば?
borderの幅が線幅のことなら、lwdなどで指定する。
0249132人目の素数さん
2011/11/19(土) 19:55:55.59コメントありがとうございます。
サイズや、線幅を変えて試行錯誤してみましたが、どうもborderの線と線の間隔が狭いのが原因のようです。
この線と線の間隔の設定はできないのでしょうか?よろしくお願いします。
0250132人目の素数さん
2011/11/21(月) 08:56:04.33むしろ、border=NAとか
0251132人目の素数さん
2011/11/25(金) 21:55:00.40統計数理研究所で、昨日からRの無料講習会が開かれているようですね。
日程:2011年11月24日(木)− 11月26日(土)
場所:統計数理研究所(東京都立川市)3階セミナー室 2 (D304)
データ解析環境Rの整備と利用
http://mid.ism.ac.jp/stats/msg01502.html
■ このスレッドは過去ログ倉庫に格納されています