【R言語】統計解析フリーソフトR 第4章【GNU R】at MATH
【R言語】統計解析フリーソフトR 第4章【GNU R】 - 暇つぶし2ch39:132人目の素数さん
11/03/23 14:38:52.94
Rのリストって
連想リストのことなの?

40:132人目の素数さん
11/03/24 18:04:13.33
>>21
?formula

>>22
Infになるなら、そもそもモデルが不適切

>>24
?class

>>31
R環境の中からLANGを変更できるよ

>>36
誰も統計を取っていないが、昔はEmacs以外の選択肢が事実上なかった

>>39
全然違う

全レスって嫌われるのかなぁ


41:132人目の素数さん
11/03/24 18:46:14.98
ステキです^^

42:132人目の素数さん
11/04/11 08:54:06.06
Rでsuppot vector machineの分類の問題が解きたいので、
kernlab の中の SVM 関数 ksvmを使っているのですが、
例えばkernlab の中spamを分類すると、決定関数にsign関数で
符号化されて「spam」か「nonspam」の2値で結果が出力されます。
これを2値に符号化される前の決定関数で出力する方法はあるのでしょうか。
どなたかご存知の方はいらっしゃるでしょうか。

43:132人目の素数さん
11/04/12 16:56:34.83
(祝) RStudio日本語対応!!

今の所特に日本語周りの不具合は無し
というわけで不要になったTinn-Rをアンインスト
NppToRは窓配置フリーが便利なのでとりあえず残しておく

44:132人目の素数さん
11/04/12 17:16:53.99
>>43
Windows版ではそうかもしれないが、MacOSXとUbuntuでは
完全に対応していない。

45:44
11/04/13 09:55:41.26
すまん。0.92.44から0.93.75に上げたら、
MacOSXで、問題があった日本語変数名も使えるようになった。
> Sys.getlocale()
[1] "C/en_US.UTF-8/C/C/C/C"
こんな感じだけど。

Ubuntu amd64の方も、エディタ部分で日本語が怪しかったけど、
これも直った感じ。



46:132人目の素数さん
11/04/13 17:17:16.15
線形回帰で変数選択とロバスト推定の同時が出来る方法ないですか

47:132人目の素数さん
11/04/15 20:26:39.00
Rって中身はCなんですか?
遅延評価Cで書くのすごい大変なのに
どうやってるんだろう

48:132人目の素数さん
11/04/19 11:28:58.25
>>47
tar tf R-2.13.0.tar.gz | grep -oE '\.[a-z0-9]*$' | sort |uniq -c | sort -gr |head
599 .c
240 .h
194 .po
169 .mo
94 .in
87 .afm
52 .win
50 .save
45 .f
27 .gmo

RjpwikiのQ&A(初心者コース)に書き込んだmichiさんはこっちに来ないのかな。


49:132人目の素数さん
11/04/27 15:52:48.74
URLリンク(cran.r-project.org)
Nattyまだこないね。

50:132人目の素数さん
11/04/27 21:40:58.88
言語初心者ですので、教えていただきたいのですが
このソフトpropensity scoreを用いて解析をするときの参考になるサイトや書籍がありましたら教えてください。

51:132人目の素数さん
11/04/27 23:20:30.27
>>50
おっ、同業者か。
nonrandomパッケージのVignettesを読まれてはいかが。
また、疫学のSIGのMLもあるので、参加されてはどうか。
URLリンク(stat.ethz.ch)

52:132人目の素数さん
11/04/28 13:47:23.33
>>51
ありがとございます。
この休みにでもRのインストールからはじめてみます。
スレ違いかもしれませんが、propensity scoreを用いたマッチングでの解析を行うのに適したソフトは何でしょうか?

53:132人目の素数さん
11/04/28 13:50:34.33
>>52
nonrandomパッケージのVignettesを読んでからもう一度質問してください。
URLリンク(cran.r-project.org)

54:132人目の素数さん
11/04/28 17:38:07.68
>>53
ありがとうございます。

55:132人目の素数さん
11/04/30 09:11:31.24
nattyきたー
URLリンク(cran.r-project.org)

56:132人目の素数さん
11/04/30 13:11:01.00
>>55
Releaseのファイルサイズが0でまだ使えないね
$ w3m -dump URLリンク(cran.r-project.org) |grep -oE '[a-zA-Z0-9_\.-]*amd64\.deb'
littler_0.1.3-1natty0_amd64.deb
python-rpy_1.0.3-17natty0_amd64.deb
python-rpy_1.0.3-18natty0_amd64.deb
r-base-core-dbg_2.13.0-1natty0_amd64.deb
r-base-core_2.13.0-1natty0_amd64.deb
r-cran-class_7.3-3-1natty0_amd64.deb
r-cran-cluster_1.13.3-1natty0_amd64.deb
r-cran-foreign_0.8.44-1natty0_amd64.deb
r-cran-kernsmooth_2.23-4-1natty0_amd64.deb
r-cran-lattice_0.19-26-1natty0_amd64.deb
r-cran-mass_7.3-11-1natty0_amd64.deb
r-cran-matrix_0.999375-50-1natty0_amd64.deb
r-cran-mgcv_1.7-6-1natty0_amd64.deb
r-cran-nlme_3.1.100-1natty0_amd64.deb
r-cran-nnet_7.3-1-1natty0_amd64.deb
r-cran-rodbc_1.3-2-1natty0_amd64.deb
r-cran-rpart_3.1.50-1natty0_amd64.deb
r-cran-spatial_7.3-2-1natty0_amd64.deb
r-cran-survival_2.36-8-1natty0_amd64.deb
r-mathlib_2.13.0-1natty0_amd64.deb
今あるパッケージはこれだけ。

57:132人目の素数さん
11/05/03 20:04:04.55
ニューラルネットのパッケージnnetについて質問させてください。
すでにデータAを学習したネットワークにさらに別のデータBを学習させるにはどうすればいいのでしょうか?先にAとBを結合して読ませるのは時間がかかるために困っています。
他のパッケージなら出来るという情報もお待ちしています。

58:132人目の素数さん
11/05/05 21:13:39.01
MySQLからダウンロードしたデータをRで計算して
MySQLに返しつつ、gnuplotで描画しようと思っています

RubyとかからMySQL、R、gnuplotを操作すべきか、
RからMySQLとgnuplotを操作すべきかで迷ってます

みなさんならどんな風にしますか?

59:132人目の素数さん
11/05/06 13:30:23.98
>>58
このスレ的には、Rの中からMySQLにアクセスして、
Rで描画する方向が第一選択だよな。

Rのグラフィック能力とgnuplotってほぼ同等と思っていたけど、
Rを使っているのにgnuplotを加えて使うのは理由は?

>>57
反応がないから、Rjpwikiの方に書かれてはいかが。
私はnnetパッケージを使わないので分からない。

60:57
11/05/06 22:06:00.16
>>59
そうしてみます。ありがとうございました。

61:132人目の素数さん
11/05/06 23:00:08.59
gnuplotの方が慣れているというだけです。
Rで描けるようになればR+MySQLなのでシンプルでいいですね。

ちょっとやってみます。ありがとうございました。

62:132人目の素数さん
11/05/09 23:39:55.72
pi<-seq(0,1,0.0001)
y_n<-60
n<-100

posterior<-((pi^y_n)*(1-pi)^(n-y_n))/beta(y_n+1,n-y_n+1)

の95%信頼区間を求めたいんですがその関数がよくわからないです誰かわかる人いらっしゃいますか?

63:132人目の素数さん
11/05/10 09:08:37.12
>>62
Bayesian credible intervalは信頼区間じゃないよ


64:132人目の素数さん
11/05/10 15:28:06.31
>>63 だね. bayequentistかな

65:132人目の素数さん
11/05/14 21:58:27.95
for (i in 1:5) {sprintf("%s", ticker[i,1])}

だと上手く出力されないのはどうしてでしょう?
素人の質問ですみません

66:132人目の素数さん
11/05/14 22:42:04.29
>>65
> sprintf("%s", ticker[,1])
> sprintf("%s", ticker[1:5,1])
> as.character(ticker[,1])
> as.character(ticker[1:5,1])

などと1行で書くのがR流じゃないかと。

ループ使った場合でも

> for (i in 1:5) {a[i]<-sprintf("%s", ticker[i,1])}
> a

とやれば配列aが表示される。

67:132人目の素数さん
11/05/15 17:30:01.07
>>65
for文の中ではprint()が必要です。
for (i in 1:5) {print(sprintf("%s", ticker[i,1]))}

普通は>>66の言うとおり、
as.character(ticker[1:5,1])だけどね。

68:132人目の素数さん
11/05/25 00:02:27.53
データ配列の最初から20個ずつをまとめ、
それぞれの20個のデータの平均値と標準偏差を求めるプログラムstatsample(m,data)を作成する。

プログラムソースが分かる人は教えてください。

69:132人目の素数さん
11/05/25 09:29:38.65
>>68
とりあえず、たたき台を示すので、データ数が20で割り切れないをどうするのかを
考えて、その処理を入れて、その他のエラー処理を入れたら完成だと思う。

statsample <- function(x){
n <- length(x)
m <- floor(n/20)
for (i in 0:(m-1)){
print(paste("平均値:",mean(x[(1+i*20):((i+1)*20)]),"標準偏差",sd(x[(1+i*20):((i+1)*20)])))
}
}

> statsample(runif(100))
[1] "平均値: 0.409618140733801 標準偏差 0.284202820077949"
[1] "平均値: 0.449437574110925 標準偏差 0.286492195081962"
[1] "平均値: 0.555866089393385 標準偏差 0.26665116632303"
[1] "平均値: 0.28123870670097 標準偏差 0.226341301484355"
[1] "平均値: 0.503801094950177 標準偏差 0.282596081360767"


70:132人目の素数さん
11/05/25 19:42:32.88
>>69
datamatrix<-matrix(data,20,length(data)/20)
apply(datamatrix,2,mean)
apply(datamatrix,2,sd)

とやるのが普通じゃないか。
データ数が20で割り切れない場合のwarningも表示されるし。

71:132人目の素数さん
11/05/25 19:45:58.57
農家の果物の良品、不良品の検査や工場での製品の良品、不良品のチェックなどをシュミレーションにより実験する場合を考える。
このシュミレーションを行うために、不良品率x%でn個のサンプルの中に不良品を発生させるプログラムsampling(x,y)を以下の手順で作成する。
(1)不良品の出現確率x/100とする。発生させた一様乱数がx/100より小さければ、不良品(1)、そうでなければ、良品(0)とする。
(2)不良品出現確率x/100とした試行をn回繰り返し、不良品が出現した場合の数を求める。
 その数がsampling(x,n)の出力とする。
以下の手順をプログラムし、関数sampling(x,n)を作る。
誰か教えてください。

72:132人目の素数さん
11/05/25 21:51:26.02
#include "/dev/console"

73:132人目の素数さん
11/05/26 00:30:46.84


74:132人目の素数さん
11/05/26 01:25:55.19
>>69

75:132人目の素数さん
11/05/26 09:18:07.75
>>71
宿題?

ヒントだけ
> runif(10) < 5/100
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE


76:132人目の素数さん
11/05/26 22:53:09.94
rbinom(1,n,x/100)

77:132人目の素数さん
11/05/31 02:28:47.96
sample関数について、中でどうやってドローしているんだろうと、
見ようとしたら、
.Internal( sample....
となってて、中身が見えません。
他の言語で作成しているのだろうと思いましたけど、
sample関数のソースって、どこにあるんでしょうか?


78:77
11/05/31 02:32:14.67
自己解決しました。
CRANからソースを取得しました。


79:あんでぃは非存在 ◆AdkZFxa49I
11/06/06 14:26:34.02
あんでぃ

80:132人目の素数さん
11/06/07 04:41:09.16
乱数のところ、ソースみてもわからん。


81:132人目の素数さん
11/06/07 22:07:44.63
乱数だからな

82:132人目の素数さん
11/06/07 22:18:53.87
メルセンヌツイスターとかいうやつか

83:132人目の素数さん
11/06/17 13:02:41.63
すいません、初心者です
株価の日次データが数年分あるんですが
グラフのX軸の目盛りを年次にしたい場合はどうすればいいでしょう?

84:132人目の素数さん
11/06/17 13:23:39.86
>>83
a <- ts(1:2000,start=c(2011,6),frequency=365)
plot(a)

85:132人目の素数さん
11/06/17 13:35:41.47
>>84
早速のレスありがとうございます
株など営業日がある場合どうすればよろしいでしょうか?
祝日や年末年始などありますし

86:132人目の素数さん
11/06/17 13:52:29.96
>>85
xtsパッケージのドキュメントを眺めてから再質問してください。
URLリンク(cran.r-project.org)
日本語が必要なら、Rパッケージガイドブック pp.130-137

87:132人目の素数さん
11/06/17 13:59:31.54
>>86
ありがとうございます。
パッケージガイドブックを買ってこようと思います。
これとR-tipsで頑張ります

88:132人目の素数さん
11/06/23 16:49:30.62
RでVoigt関数(Gauss関数とLorentz関数のconvolution)でフィッティングするには、畳み込み積分を直接書くしかないのでしょうか。

89:あんでぃはストーカー ◆AdkZFxa49I
11/06/23 21:21:17.46
あんでぃ

90:132人目の素数さん
11/06/24 09:20:34.16
format="%Y/%m"
と書くと
2011/06
と出力されるけど、幅を節約して
11/06
とするにはどうすれば?

91:132人目の素数さん
11/06/24 09:22:44.15
あ、ぐぐったら一瞬で判ってしまった
%y だ

92:132人目の素数さん
11/06/24 10:43:36.69
>>90,91
そのあたりは共通だから覚えておいて損はないよ。

> format(Sys.Date(),"%Y")
[1] "2011"
> format(Sys.Date(),"%y")
[1] "11"
> format(Sys.Date(),"%EY")
[1] "平成23年"
> format(Sys.Date(),"%Ey")
[1] "23"



93:132人目の素数さん
11/06/24 12:32:27.69
おおー
なんでEが平成なんだろう

94:132人目の素数さん
11/06/24 13:01:48.18
>>93
マニュアルには、
%E Modifier: use alternative format
と書いてあるよ。つまり日本語ローケルだと、日本語化した形式にするという意味。

>>92を書き込んだ後、MacOSXとWindowsで試してみたが、
どちらも和暦にならなかった。GNUだけかも。ヘルプには環境依存って書いてあるしね。



95:あんでぃはストーカー ◆AdkZFxa49I
11/06/24 16:34:26.88
分からない。

あんでぃ

96:R入門
11/06/26 00:02:26.05
これまで、Java、Ruby、Scala など使っているものですが、
Rについても勉強したいと思っています。

Rのサイトをみると、結構、「使い方」的なサイトが多く、
汎用言語の視点から書かれた、サイト、本が少ない(?)ような気がします。

たとえば、ほかの言語と比較しながら書かれたような
本、サイトなどあれば、教えていただきたいのですが。
ありますでしょうか。




97:132人目の素数さん
11/06/26 00:19:39.46
ぐぐりにくい、というのがRの最大の弱点

98:132人目の素数さん
11/06/26 01:03:33.08
>>96
Rの基礎とプログラミング技法
URLリンク(www.amazon.co.jp)
URLリンク(d.hatena.ne.jp)

Rと他の言語を比較した本は知りませんが、
汎用言語としてのR言語を勉強するならこの本がお勧めです。

99:132人目の素数さん
11/06/27 09:37:34.48
>>96
そういえば、Rユーザ会で、韓国から来た演者が汎用言語の視点から、Rの問題点などを
発表していたな。興味がなかったので内容は覚えていない。

汎用言語の視点で書かれた書籍はないと思う。
しいてあげるなら、>>98が薦めるリゲスさんの本しかない。

100:85
11/07/04 10:41:00.37
Rパッケージガイドブックを購入
xtsをインストールしたんですが
データフレームをxtsにコンバートできません。
> x.xts<-as.xts(x)
以下にエラー as.POSIXlt.character(x, tz, ...) :
character string is not in a standard unambiguous format

Zooオブジェクトに経由させることもできません
> x.xts<-as.xts(read.zoo(x))
以下にエラー xts(coredata(x), order.by = order.by, frequency = frequency, :
order.by requires an appropriate time-based object

データフレームの中身は
日付 株価
20040101    1500
20040102 1450

といった具合に2列のデータなのですが?


101:132人目の素数さん
11/07/04 11:05:02.37
>>100
ここに書くのではなくて、
それを書いた人に凸してみたら?

> library(xts)
要求されたパッケージ zoo をロード中です
> dat <- data.frame(日付=c(20040101,20040102),株価=c(1500,1450))
> dat
日付 株価
1 20040101 1500
2 20040102 1450
> as.xts(dat)
以下にエラー as.POSIXlt.character(x, tz, ...) :
character string is not in a standard unambiguous format
> rownames(dat) <- c("2004-01-01","2004-01-02")
> as.xts(dat)
日付 株価
2004-01-01 20040101 1500
2004-01-02 20040102 1450

まぁ、参考になれば。

102:132人目の素数さん
11/07/14 14:34:30.11
Rで複素誤差関数 w(x) = exp(-x^2) erfc(-ix) を使いたいのだけれども、これはどうやって定義すればよいでしょうか。
相補誤差関数 erfc を qnorm 関数から定義すると、 qnorm が実数に対してしか定義されていないためエラーになってしまいます。

103:132人目の素数さん
11/07/15 02:10:37.99
>>96
> 汎用言語の視点から書かれた、サイト、本が少ない(?)ような気がします。

Rの本を書いているのは、大学の先生が多いからね。
そして、大学の先生ってのはコンピュータのことや、
プログラミングのことをわかってないから。
Rの使い方だけの説明になってしまうのは
しかたがないと思いますよ。


104:132人目の素数さん
11/07/15 11:23:45.87
× 大学の先生
○ 情報科学が専門ではなく疫学やら統計屋が仕事の教員


105:132人目の素数さん
11/07/16 00:45:00.68
>>104
○ 大学の先生
X 情報科学が専門ではなく疫学やら統計屋が仕事の教員

特に情報科学の先生や院生などは、知ったかの馬鹿ばっかりです。

国立情報学研究所を見ればよくわかるでしょ?

税金を使ってPCで遊んでるだけ。

全員がコネ採用。


106:132人目の素数さん
11/07/16 01:04:55.28
情報研究所て何やってるんだ?
唯のお飾りか?

107:132人目の素数さん
11/07/16 16:16:24.06
国立情報学研究所は、仕事したくない院生や教授が
税金を無駄遣いしながら、馬鹿同士楽しく
PCで遊んでいる組織ですね。

どいつもこいつも馬鹿ばっかり。
コネがないと絶対に採用されません。
公募する前から採用者は決まってます。


108:132人目の素数さん
11/07/16 16:49:55.56
なんか嫌なことでもあった?

109:132人目の素数さん
11/07/16 20:02:28.47
国立情報学研究所

統計数理研究所

この二つは廃止で結構です。税金の無駄です。

110:132人目の素数さん
11/07/16 20:09:53.71
疫学や感染症のシミュレーションをやっている連中なんざw
バカばっかりやなw あれで数学やっているつもりのもいるからw
頓珍漢なことばかりを言って来るw

111:猫は嘘吐き ◆MuKUnGPXAY
11/07/16 20:20:25.68



112:132人目の素数さん
11/07/16 20:58:33.45
というか、研究者というものは情熱と実力が必要だと思う。
しかし、単なる就職先のひとつとなっており、
学歴とコネのみで判断されるから。
実力で研究者になれるところって、少ないと思う。


113:132人目の素数さん
11/07/16 21:06:58.59
そこの研究員全員の給料の上限を年収300万ぐらいにすれば他から文句はでないと思うよ。

114:132人目の素数さん
11/07/16 21:19:33.03
職を失ったのか?

115:猫は無職 ◆MuKUnGPXAY
11/07/17 03:35:47.40
職を失ったんは結構前やがな。




116:132人目の素数さん
11/07/17 13:55:02.20
>>113
最近の調査では勤労者の平均年収が
370万円ぐらいらしいんですよ。
ただし最頻値は250万円ぐらいですから、
一部の高給取りが平均を上げていると思います。
また、公務員の平均は500万円ぐらいらしいですが、
公務員だけの平均年収は公表されていません。


研究と称してPCで遊んでいるだけですから、
年収150万円でも十分だと思います。


117:猫の夢と痴漢の埋葬 ◆MuKUnGPXAY
11/07/17 14:08:35.01
>>116
『研究と称してPCで遊んでる人』だけをそういう待遇にしたら良いと
思います。但しソレをどうやって判定スルのかは現実には難しく、なの
で『虚偽院生と優秀院生の分離』と同様の困難が伴い兼ねませんね。

では質問ですが、虚偽院生に対してはどういう扱いが宜しいのでしょう
かね? やはり追放ですかね?




118:132人目の素数さん
11/07/17 14:12:09.83
国立情報研究所も統計数理研究所も、仕事らしい仕事をしているのはほんの一部なのではないかな?
統計数理研究所では女の子の飲み物調査という論文もあったぞw

119:132人目の素数さん
11/07/17 14:24:35.05
>>117
虚偽院生とは、論文を書かない院生のことですか?
全く論文を書く気のない院生は追放でしかたないと思います。

少なくとも論文を何本か書いていて、研究費も助成金も1円も
受け取っておらず、アルバイトをして授業料を納めている奴は、
他の人の研究の邪魔をしないかぎりは、追放でなくて放置でいいと思います。
つまり、まあおれのことですけどね。

追放すべきは高い給料、研究費や助成金をたんまりもらっているのに
結果を出さない馬鹿な奴です。
これは院生だけではなく、助手も助教、準教授、教授も含まれます。
それらは能力と業績だけで判定されるべきだと思います。
その業績というのをどう判定するのかが難しいわけですけどね。


120:猫の夢と痴漢の埋葬 ◆MuKUnGPXAY
11/07/17 14:29:59.14
>>119
全くその通りだと思います。私が言う虚偽院生とは:
★★★『基礎体力も無ければ動機も無く、唯大学院に入学してしまったゾンビ』★★★
を指し示す言葉です。ですから恐らくは貴方の事ではないでしょう。放置
されていても自分から何かが出来る人は決してゾンビではアリマセンから。




121:132人目の素数さん
11/07/17 14:41:00.64
>全くその通りだと思います。

つまり>>119の発言にまったく同意しているという解釈でよいですか?

122:猫の夢と痴漢の埋葬 ◆MuKUnGPXAY
11/07/17 14:42:52.30
>>121
はい。『私は>>119氏の発言に全く同意』です。




123:132人目の素数さん
11/07/17 14:51:47.93
やっぱCOLDPLAYいいよねぇ
眼醒めたらゾンビみたいだったが、観てたら生気がもどってきた
この辺のクオリティの高さは邦楽にはない、流石だとおもう。

124:132人目の素数さん
11/07/17 23:18:34.72
コネっていうと響きは悪いけど、要するにコミュニティーを広げる努力をしてきたってことじゃない?
周囲と意見交換が出来るということは、非常に大きな能力であり財産だと思うよ

そして研究室への貢献度という点で言えば
論文は書かないけどPCで遊べる程度の実力はあって、周囲と意見交換が出来る奴 > 一人黙々と論文を書く奴
だと自分は思う

125:132人目の素数さん
11/07/17 23:41:22.12
なら年収も130万でいいな
月10万でボーナス(一ヶ月)も出て国家的身分は安泰
やりがいなんかまったくないと思うかもしれないが、言うことなしの職場じゃないか

126:132人目の素数さん
11/07/17 23:45:41.25
>>116
それこそ、そこのなんとか研究所に問い合わせをして詳細資料(統計データ)請求すればいいんじゃないの?
ただ気になったんだけど、rlang使ってるなら「加重平均」ってなんのことかはしってるよね。

127:132人目の素数さん
11/07/18 02:46:14.96
↑馬鹿だ(笑


128:猫は爺惨状の蚊軍 ◆MuKUnGPXAY
11/07/18 03:33:15.34
>>124
その考え方は決して認められない。大学は馬鹿がママゴトして遊ぶ場所
では断じてない。当然に:
★★★『黙々と論文を書く奴>論文は書かない奴』★★★
であり、PCで遊ぶかどうかや、周囲と意見交換が出来るかどうかなんて、
そんな事はどうでもヨロシ。

論文を書くかどうかだけが問題である。勘違いも甚だしい。ケシカラン。




129:132人目の素数さん
11/07/18 03:34:40.12
>>128
まずお前が実績を出してから批判しような

130:132人目の素数さん
11/07/18 04:44:10.88
>>126
「左右非対称分布の平均値は分布を的確に示せない」
のは統計の基本常識です。

集計方法と指標の定義: さまざまな平均値/中央値/最頻値
URLリンク(web-tan.forum.impressrd.jp)

131:132人目の素数さん
11/07/18 05:55:50.19
R使うくらいならmatlab使った方がいいと思う

132:132人目の素数さん
11/07/18 06:00:29.17
それはない

133:132人目の素数さん
11/07/18 07:56:35.43
猫さんが正論をいっとる

134:132人目の素数さん
11/07/18 07:59:15.18
統計なんてやっている奴はバカw

135:132人目の素数さん
11/07/18 10:43:44.13
統計は低脳のやる学問もどきである
どこの大学でも統計の先生の論文は下らんものばかり

136:132人目の素数さん
11/07/18 10:54:16.08
量産可能で下らなくない論文とは例えばどういうのですか?

137:132人目の素数さん
11/07/18 11:20:01.81
統計ですと、同じ様な調査結果を論文として何度も書く事が出来ます。

138:132人目の素数さん
11/07/18 11:22:33.75
女子大生の飲み物調査

女子高校生の飲み物調査

女子中学生の飲み物調査

女子小学生の飲み物調査

女子幼稚園生の飲み物調査

20代OLの飲み物調査

30代のOLの飲み物調査

以下、女と男にかえても論文が書けます 統計数理研究所の教授がこうした論文を書いています

139:132人目の素数さん
11/07/18 11:24:51.54
かけられた電話に出るまでの時間の統計的調査1 一部上場企業の場合
同上 2 2部上場企業の場合
同上 3 ヘラクレス上場企業の場合
同上 4 町役場の場合

以下 延々と書けます。

140:132人目の素数さん
11/07/18 11:30:15.87
今渦中の経済産業省官僚のやることなんかはもっと姑息ですけどねw

141:132人目の素数さん
11/07/18 15:21:16.30
グランドカノニカルは糞

142:132人目の素数さん
11/07/18 18:25:28.32
等高線の書き方について質問です。
等高線を書きたいのですが、情報量が少ないため、contour関数では書けません。現在与えられているのは、20個の点に対しての座標(x,y,z)です。2次元上の布置まではできているのですが、等高線を用いてz座標を表現することができません。
どの関数を扱えばいいかなど、わかる方がいらっしゃいましたら教えてください。

143:132人目の素数さん
11/07/18 18:59:47.11
手で書いたら? 天気図も昔はそうしたよ。

144:132人目の素数さん
11/07/18 22:51:46.35
>>142
つか、授業聞いてなかったの?
全部説明したはずだけどね。
geoRで作成しなさいって言ったでしょ?
単位あげないよ!


145:132人目の素数さん
11/07/31 19:04:21.64
データフレームの列名に日本語で文字化けして困ってます。


Rコマンダーでcsv経由。
RGUIはMSGhosicに設定。

コマンドでフォント指定以外に
対策あれば教えてください。

146:132人目の素数さん
11/08/01 00:30:07.52
>>145
Rというよりそのcsvファイルがくせもの
解決策は2つ。
1. csvの文字コードを文字化けしないものに変更してからRに読み込む
2. Rの中でiconv()で文字コードを変換する
好きな方を選べ

147:132人目の素数さん
11/08/01 05:59:12.09
>>146
了解です。

クリップボードを経由してみたら、ますます
酷くなりました。

特に列の変数名がボロボロです。
これはなにゆえでしょうか?

148:132人目の素数さん
11/08/01 11:35:11.11
>>147みたいな学生を指導する教員は大変だな。

全く別のアプローチを提示してみます。

> dat <- read.csv(file.choose())
> dat
bake bakeda
1 32 re
2 242 ga

ここで列名が文字化けしていたとします。
本当に化けている状態を示せないので仮に"bake"とか"bakeda"とかにしています。

> names(dat) <- c("日本語","大丈夫")
> dat
日本語 大丈夫
1 32 re
2 242 ga

というようにnames()で、列名を自由に再設定できます。
列名が、文字化けしていて、なおかつ文字コードを変更する能力がないなら、
上記のような方法もあります。

149:132人目の素数さん
11/08/08 14:36:57.39
[S]
東大,
弁護士,
Re,

150:132人目の素数さん
11/08/08 14:38:15.29
[A]
TS10,SBR,VFK10,TKK,VF1,LCCR,SINX,
VF1M4,VF1L2,VF1H2,EMPC,MPE,
4231,4213,3331,3313,145,53A3,6236,
EMPCB,EMJ,LP,CJ,F4,LC,DNA,RNA,
SINT,JEL,23458,2348,DBT,GMO,
AB,APLWJKSJ,PES,WE,CA,RR,ASL,
EPH,ITU,261036,CBS6,1358,G1,AS3,M5,

151:132人目の素数さん
11/08/11 22:25:16.52
質問です。

20個の変数があり、各変数は0 から 0.2 まで 0.05 ずつの値をとることが可能
また、この変数の総和は 1 となる。
この時の組み合わせをすべて求めたいのですが、
どうすれば良いでしょうか?

よろしくお願いいたします

152:132人目の素数さん
11/08/12 01:53:48.61
>>151
> 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のものを選んだ方が早いかも。

153:152
11/08/12 02:20:56.85
とりあえず、20変数じゃなくて6変数の場合を提示するのであとは自分で考えて
> 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


154:132人目の素数さん
11/08/12 03:46:54.73
変数の値を20倍すると、各変数は0~4までの整数値を取れる、総和は20となる。
パターンは次の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通りあると思われる。

155:132人目の素数さん
11/08/16 17:26:31.50
Rのように多機能でクールでフリーの幾何学ソフト無いですか?

156:132人目の素数さん
11/08/16 20:01:09.46
統計と幾何学ではだいぶソフトに求めるものが違うと思うけど、とりあえずこれなんかどう?
URLリンク(sites.google.com)

157:132人目の素数さん
11/08/17 15:07:10.21
以下のような複数の式に対して、どちらの式がより小さなzを与えるかの境界線をx-y平面上に引くためにはどうしたら良いでしょうか。
式は最大で4つほど、xとyに関しては整数を想定しています。

z=ax+by … (i)
z=cx+dy … (ii)

単純に総当りで(x,y)に対して、zを最小化する式を選ぶだけなら適当に関数を作ればいけそうですが(スマートではないですね…)、その境界をどうやったらグラフに引けるかがわかりません。

どなたか教えてくだされば幸いです。
よろしくお願いします。


158:132人目の素数さん
11/08/17 18:16:26.16
>>157
>z=ax+by … (i)
>z=cx+dy … (ii)
この式でzが等しくなるax+by=cx+dyを引けばよいです。

>式は最大で4つほど
組み合わせが6組あるから6本引いてください。

>xとyに関しては整数を想定しています。
境界線を引くときは整数という条件を無視し、
グラフを見る時に整数が線のどちら側にあるか判断してください。

159:132人目の素数さん
11/09/01 15:41:46.21
R

160:132人目の素数さん
11/09/05 16:54:51.22


161:132人目の素数さん
11/09/05 17:18:37.28
matlab使い慣れてる人向けの
R入門書ってないでしょうか

162:132人目の素数さん
11/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人目の素数さん
11/10/02 01:52:40.21
基本的なことで申し訳ありません。
ワークスペースを保存しようとすると1kbのファイルしか保存されず、保存に失敗します。
原因がわかればよろしくお願いします。


164:163
11/10/02 02:08:38.40
すいません。圧縮されているんですね。
スレ汚しすいません。

165:132人目の素数さん
11/10/04 02:54:00.77
g <- function(x) x^2
plot(g)

こんな感じで半径1の円を描きたいのです。
教えてください。

166:132人目の素数さん
11/10/04 09:53:36.95
>>165
symbols(0,0,circles=1,inches=FALSE)
お望みはこんな感じ?

167:132人目の素数さん
11/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
11/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人目の素数さん
11/10/04 12:40:50.47
152ってなんだ、166の間違い

170:132人目の素数さん
11/10/04 12:49:40.40
>>168 ありがとうございます。勉強になりました。

171:132人目の素数さん
11/10/04 12:54:05.14
>>170
念のために、ちょっと改良
> plot(c(x,rev(x)),c(y,-y),type="l")

用途によるけど、円を描画したければ、symbolsを使った方が、
アスペクト比に影響されずに正円になるのでよいと思うが。
xy座標で円を描くと、asp=1にでもしない限り、普通は楕円になってしまう。

172:132人目の素数さん
11/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人目の素数さん
11/10/23 19:16:11.40
確率の推定を行いたい
ロジスティック回帰のような、説明変数に対して単調増加する線形じゃなくて
多分ガウス曲線みたいな感じになると思うのだけれども
なんか適当なパッケージないですかね?

174:132人目の素数さん
11/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
11/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人目の素数さん
11/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
11/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人目の素数さん
11/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人目の素数さん
11/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人目の素数さん
11/10/25 02:12:24.16
>>177
URLリンク(cran.r-project.org)
の三ページのreshape()かな

181:132人目の素数さん
11/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人目の素数さん
11/10/25 02:28:43.43
>>181

reshape(data, idvar="CODE", v.name="VAL", timevar="CD", direction="wide")

でした。

183:132人目の素数さん
11/10/25 09:18:31.89
サポートベクターマシンにて入力変数が多く、
精度を上げるための特徴選択を行おうと思い、
そのためのパッケージとして、"penalizedSVM"が
あると知りました(元々BioInformatics用みたいですが)。

URLリンク(r.789695.n4.nabble.com)
URLリンク(cran.r-project.org)

しかし日本語の解説やリファレンスが皆無で、
英語でも分かりやすい解説がなく、
パッケージの公式リファレンスでは自分にはイミフでした。
URLリンク(cran.r-project.org)

どなたか実際にお使いの方がいれば、具体的に
どのように使用するか教えていただけないでしょうか。

184:17
11/10/25 22:44:03.74
皆様ありがとうございました。
2つとも無事うまく解決できました。
やっぱりよくヘルプを読む必要がありますね。
精進します。

185:132人目の素数さん
11/10/26 00:50:54.90
>>174の例で、各都道府県別+学年毎に分けたグループそれぞれについて
1対1の全組み合わせのt.testを一気に行う方法があるでしょうか?
(loopで回す関数を自作したりしない出来合の方法で)


186:132人目の素数さん
11/10/26 07:28:10.01
>>185
それは、R以前の問題として、不適切だと思うのですが。
あるいは駄目な例としてやるってことかな?
二元配置の分散分析か、何らかの多重比較ではだめなんでしょうか?

187:132人目の素数さん
11/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人目の素数さん
11/11/01 08:20:00.30
>>187
code_2を因子化、tapply cor


189:132人目の素数さん
11/11/01 10:39:24.41
by(DF[3:5], DF$CODE_2, cor)
でいいんじゃないの?

190:132人目の素数さん
11/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人目の素数さん
11/11/01 11:47:20.47
URLリンク(beebee2see.appspot.com)
すまんこれ教えてくれ


192:132人目の素数さん
11/11/01 12:23:35.93
>>191
見れねーよ

193:132人目の素数さん
11/11/01 12:26:19.61
diagを使わずにforで対角行列作れって言われた
九行九列で

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

195:132人目の素数さん
11/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人目の素数さん
11/11/01 21:38:31.87
パズルとしてdiag、for以外の方法でやってみた

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

197:132人目の素数さん
11/11/01 22:18:26.30
>>196
それは多分、定石に近いやり方だと思う。

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

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

198:132人目の素数さん
11/11/02 01:29:13.55
一直線に並べた時のパターンを作っているのか
かしこいな

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

200:132人目の素数さん
11/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人目の素数さん
11/11/02 18:35:46.71
rep(0,n)じゃなくて rep(0,n-1)ではなくて?

202:132人目の素数さん
11/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人目の素数さん
11/11/02 20:45:02.50
>>202
> (( ̄1+ρc),27)ρc←'APL IS HAPPY '

こっちが本来だった。

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

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



205:187
11/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人目の素数さん
11/11/03 10:38:07.92
>>205
どんだけforが好きなんだよw
forの方がむしろ思いつかんわ

207:132人目の素数さん
11/11/03 16:14:38.08
ああいえば for you
forever are you

208:132人目の素数さん
11/11/04 00:56:32.12
>>205

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

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


209:187
11/11/04 23:43:30.93
>>208
次元が違うと怒られます。。。。

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

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

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


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

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

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

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

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

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

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

URLリンク(cwoweb2.bai.ne.jp)

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

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

216:132人目の素数さん
11/11/07 02:59:23.82
>>213
実にしょぼい

217:132人目の素数さん
11/11/07 03:00:31.75
やっぱ派手さも大切だわ

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

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

219:132人目の素数さん
11/11/07 10:47:44.35
>>218
趣旨には賛同する。

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

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

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

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

223:132人目の素数さん
11/11/07 18:42:59.29
>>222
リゲス先生が詳しいと思うよw

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


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

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

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

URLリンク(www-kairo.csce.kyushu-u.ac.jp)

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

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

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

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

228:132人目の素数さん
11/11/08 09:30:33.83
面白い話が聞けた

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

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

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

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

232:132人目の素数さん
11/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人目の素数さん
11/11/10 15:56:58.04
>>232
直にMySQLならデータベースに直にSQLアクセスするパッケージを使う必要があるのでは?RODBCだっけ?

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

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




234:132人目の素数さん
11/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人目の素数さん
11/11/15 11:16:21.60
↑の回答わかる方お願いします。

236:132人目の素数さん
11/11/15 14:26:46.90
>>234
また宿題か。
まさか試験中に書き込んでる?

237:132人目の素数さん
11/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人目の素数さん
11/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人目の素数さん
11/11/17 09:59:23.86
R初心者として質問です。

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

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

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


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

242:132人目の素数さん
11/11/17 18:28:14.48
>>240-241
ありがとうございました。
活用します。

243:132人目の素数さん
11/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人目の素数さん
11/11/18 10:12:24.08
>>243
おぉ、Rって標準入力からそのまま普通に使えたのか


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

246:132人目の素数さん
11/11/18 18:03:58.46
魂は幾何学


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

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

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

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

250:132人目の素数さん
11/11/21 08:56:04.33
>>249
むしろ、border=NAとか

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

252:132人目の素数さん
11/11/26 00:49:00.80
いや、講習会じゃないんだけど…

253:132人目の素数さん
11/12/05 12:21:38.19
>>238
ありがとうございました

254:132人目の素数さん
11/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人目の素数さん
11/12/05 13:03:09.46
教員がココを見ていたら、>>254には単位をやらないことを勧める。

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

256:132人目の素数さん
11/12/05 13:51:41.75
興味ない授業だが、取らなきゃいけない科目とかなのかな?


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

258:132人目の素数さん
11/12/06 06:25:24.35
>>254
統計学の講義⁇


259:132人目の素数さん
11/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人目の素数さん
11/12/07 16:15:54.22
>>259
rownames(DF) <- DF[,1]
colSums(DF[t(combn(DF[,1],2)),])
ということ?

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

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

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

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

263:259
11/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:きど
11/12/07 23:22:43.57
Rのテンドログラムの保存の方法を知りたいのですが。USBなど。。。

265:132人目の素数さん
11/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人目の素数さん
11/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
11/12/08 23:19:36.17
>>265

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

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

269:132人目の素数さん
11/12/09 22:44:47.03
>> 267
よかったですね

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


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

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


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

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

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

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

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

273:259
11/12/12 22:04:22.39
>>268
個人の環境ではないので簡単には64bitには変えられないのです

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

ありがとうございました


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


275:132人目の素数さん
11/12/14 22:48:13.92
2変数の非線形連立方程式の解き方教えていただけませんでしょうか?

276:132人目の素数さん
11/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人目の素数さん
11/12/19 15:08:40.40
来年から文系大学生です。
R言語って文系学部でも使いますか?
あと、使えると就職や進学に有利でしょうかね?

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

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

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


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

282:132人目の素数さん
11/12/23 09:51:58.81
URLリンク(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人目の素数さん
11/12/23 10:18:18.71
>>282
URLリンク(cran.r-project.org)

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


285:132人目の素数さん
11/12/23 23:31:39.85
>>280
ginv では?

286:132人目の素数さん
11/12/25 10:11:34.88
>>282
URLリンク(essrc.hyogo-u.ac.jp)
とかに
Download R 2.14.1 for Windows (45 megabytes, 32/64 bit)
が入りましたよ


287:132人目の素数さん
11/12/25 16:26:21.07
>>286
さんくす。めりくり。らいよろ。


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

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

290:132人目の素数さん
11/12/30 14:45:51.73
>>289
r

291:132人目の素数さん
11/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
11/12/30 18:01:59.90
自己解決しました。
abline(v=as.numeric(strptime("2009年12月21日","%Y年%m月%d日")))
でOKでした。


293:132人目の素数さん
12/01/01 13:50:09.79
>>290
rとRの区別もつかんのか

294:132人目の素数さん
12/01/01 14:22:08.14
>>293
rもリンクされてなかったっけ?

295:132人目の素数さん
12/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人目の素数さん
12/01/01 23:50:07.45
ややこしいなあ。

297:132人目の素数さん
12/01/02 01:26:00.73
>>296
これをややこしいと思う人は、
incase-sensitiveな文化に脳を冒されている人

298:132人目の素数さん
12/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人目の素数さん
12/01/04 16:16:24.48
>>298
MacPorts版のMacOSX版(ややこしいな)だとどうだろう。

300:132人目の素数さん
12/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人目の素数さん
12/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人目の素数さん
12/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人目の素数さん
12/01/15 00:10:57.15
CだとかRだとかのような1文字の名前ではサーチするのが難しい。

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

305:132人目の素数さん
12/01/15 19:09:49.95
>>303
まぁ
r-project
r-script
r 統計
このあたりですね


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

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

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

違ってたら、ごめん。


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

かな。


310:308
12/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
12/01/17 22:19:59.38
>>307
R-Sources URLリンク(cse.naro.affrc.go.jp)
見たけど、これで行けるんじゃね?

> 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
12/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人目の素数さん
12/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
12/01/18 12:32:51.26
>>312
おお、そんな関数があったとは。


315:308
12/01/18 12:33:01.61
>>313
おお、そんな関数があったとは。


316:308
12/01/18 22:59:15.60
>>314
おお、そんな関数があったとは。


317:308
12/01/18 22:59:44.42
>>315
おお、そんな関数があったとは。


318:308
12/01/18 23:01:26.21
>>316
おお、そんな関数があったとは。


319:308
12/01/18 23:08:57.17
>>317
おお、そんな関数があったとは。


320:308
12/01/18 23:35:40.76
>>318
おお、そんな関数があったとは。


321:308
12/01/19 08:20:42.49
>>319
おお、そんな関数があったとは。


322:308
12/01/19 08:22:06.35
>>320
おお、そんな関数があったとは。


323:308
12/01/19 08:23:29.36
>>321
おお、そんな関数があったとは。


324:132人目の素数さん
12/01/19 08:24:58.31
>>312
おお、そんな関数があったとは。


325:132人目の素数さん
12/01/19 08:25:39.88
>>313
おお、そんな関数があったとは。


326:308
12/01/19 08:26:49.60
>>322
おお、そんな関数があったとは。


327:132人目の素数さん
12/01/19 16:46:26.30
>>323
おお、そんな関数があったとは。


328:132人目の素数さん
12/01/19 18:16:15.47
>>313
おお、そんな関数があったとは。


329:308
12/01/19 19:21:49.25
>>312
おお、そんな関数があったとは。


330:132人目の素数さん
12/01/19 21:24:53.73
>>305
あと、R sourceとかね。

331:132人目の素数さん
12/01/19 21:40:30.51
>>330
おお、そんな関数があったとは。


332:132人目の素数さん
12/01/19 22:15:43.34
>>330
おお、そんなsourceがあったとは。


333:132人目の素数さん
12/01/19 22:16:42.63
>>330
おお、そんなsourceがあったとは。


334:132人目の素数さん
12/01/19 22:17:29.69
>>330
おお、そんなsourceがあったとは。


335:132人目の素数さん
12/01/19 22:18:01.01
>>330
おお、そんなsourceがあったとは。


336:132人目の素数さん
12/01/19 22:18:19.65
>>330
おお、そんなsourceがあったとは。


337:308
12/01/19 22:19:02.38
>>330
おお、そんなsourceがあったとは。


338:308
12/01/19 22:19:42.03
>>330
おお、そんなsourceがあったとは。


339:308
12/01/19 22:20:11.53
>>330
おお、そんなsourceがあったとは。


340:132人目の素数さん
12/01/19 23:14:29.36
おおそんウェールズだったとは。

341:308
12/01/20 04:32:17.58
おまえら、いい加減にしなさい。

342:132人目の素数さん
12/01/20 05:22:51.54
おまえら、いい加減にしなさい。

343:313
12/01/20 20:36:44.68
スレが伸びていると思ったら、お前ら。。。

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

344:132人目の素数さん
12/01/20 20:42:23.02
>>307
こいつ自分で質問の意味わかってのかいな?

345:132人目の素数さん
12/01/20 23:50:31.94
>>343
他の言語と同じように書いてたよ。


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


347:132人目の素数さん
12/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人目の素数さん
12/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
12/01/23 10:02:32.95
早速ありがとうございます
>348

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

350:348
12/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人目の素数さん
12/01/23 13:13:39.14
RStudio最新版(0.94.110)はR-2.14以降も動作していますか?
RStudioご利用の方いましたら、ご一報お願いします

352:132人目の素数さん
12/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
問題なし。


353:132人目の素数さん
12/01/23 18:42:28.25
Rjpwikiのヲチで申し訳ないが、
河童さんが、par(mfrow=c(2,1))を使わずに、layout(matrix(1:2, 2))を使う理由って何だろう。
layout()だとなんかいいことがあるのかな?


354:308
12/01/23 21:15:31.43
うん

355:132人目の素数さん
12/01/25 18:23:35.62
スペースで区切られた文字列(数値のみ)で,空白をカウントして改行するってことRでできますか?

例えば
1 2 3 4 5 6 7 8 9 10 11 12....

3 2 4 ....
という空白ごとに区切って
1 2 3
4 5
6 7 8 9
10 11 12....
としたいのです。

もし可能ならこのような場合,最初の文字列を配列に組み込むべきなのか,文字列として正規表現として処理するべきなのかどちらが好ましいのでしょうか?

よろしくお願いします

356:132人目の素数さん
12/01/25 19:06:09.47
>>355
> f355 <- function(x,y){
+ s <- unlist(strsplit(x," "))
+ res <- vector()
+ j <- cumsum(y)
+ res[1] <- paste(s[1:j[1]],collapse='')
+ res[2] <- paste(s[(j[1]+1):j[2]],collapse='')
+ res[3] <- paste(s[(j[2]+1):length(s)],collapse='')
+ return(res)
+ }
>
> f355("1 2 3 4 5 6 7 8 9 10 11 12",c(3,2,4))
[1] "123" "45" "6789101112"

こんな感じか。
あとは、res[1]からres[3]のところをfor文と条件分岐で処理して、
汎用化すればよいと思う。

357:356
12/01/25 19:08:12.54
6789と101112を区切ってなかった。
> f355 <- function(x,y){
+ s <- unlist(strsplit(x," "))
+ res <- vector()
+ j <- cumsum(y)
+ res[1] <- paste(s[1:j[1]],collapse='')
+ res[2] <- paste(s[(j[1]+1):j[2]],collapse='')
+ res[3] <- paste(s[(j[2]+1):j[3]],collapse='')
+ res[4] <- paste(s[(j[3]+1):length(s)],collapse='')
+ return(res)
+ }
>
> f355("1 2 3 4 5 6 7 8 9 10 11 12",c(3,2,4))
[1] "123" "45" "6789" "101112"



358:356
12/01/25 19:36:19.47
連投すまんがcut()を使った別解。
> f355.2 <- function(x,y){
+ s <- unlist(strsplit(x," "))
+ n <- as.integer(cut(as.integer(s),c(0,cumsum(y),Inf)))
+ sapply(1:length(unique(n)),function(x){s[n==x]})
+ }
>
> f355.2("1 2 3 4 5 6 7 8 9 10 11 12",c(3,2,4))
[[1]]
[1] "1" "2" "3"

[[2]]
[1] "4" "5"

[[3]]
[1] "6" "7" "8" "9"

[[4]]
[1] "10" "11" "12"

多分、識者ならsapply()部分をもっと効率よくできる気がする。

359:132人目の素数さん
12/01/26 01:27:31.67
f355.3 <- function(x, y)
{
STR.SPLIT <- strsplit(x," ")[[1]]

## y = c(3, 5, 1) で c(1,1,1,2,2,2,2,2,3)を返す
GROUP <- inverse.rle(list(lengths = y,
values = seq_along(y)))

## 上記のGROUPにあわせてsplit()
split(x = STR.SPLIT[seq_along(GROUP)], f = GROUP)
}

## これなら数字の順番がめちゃくちゃでも、文字列でも行けるかも。spaceが続くとおかしくなるけど
f355.3(x = "2 ch R 2012 01 26 2 0 1 2 0 1 2 6 R", y = c(3, 5, 1, 2, 2))


360:355
12/01/26 07:03:57.07
>356-359

ご教授ありがとうございます。
配列に組み込んだものをループで処理することしか考えてませんでしたので,
以外な回答です。

プログラムに関しては勉強中なのですがなかなか上手くいかず悩んでおります。

ありがとうございます

361:355
12/01/26 08:28:33.03
連投申し訳ありません。
これまで統計処理に関してRを利用してきましたが,この度プログラミングもしっかり勉強したいと思うようになりました。
先にも記したようにプログラミングは初学者です。
CやPerlなど多様な言語がありますが,Rの場合どの系統のプログラミング教本で勉強を始めれば良いのでしょうか?
オススメ教科書があればよろしくお願い致します。


362:132人目の素数さん
12/01/26 10:23:38.00
>>361
>>356だけど、正統なプログラミングの勉強をしたことがない。
プログラミングの勉強って、語学の勉強と似ていると思う。
一通り、文法を勉強したら、あとはひたすら経験を積むだけ。
人の表現を聞いて、あぁこういう場面ではこういう風に言えばいいのか、
と人まねを積み重ねる。

一通りの文法レベルの話なら、私はまだ未読だけど、
間瀬先生のRプログラミングマニュアルはどうかな。
間瀬先生の本なら、間違いはないと思う。

>>359
おぉ素晴らしい。rle()の存在を失念していました。



363:359
12/01/26 11:44:04.18
統計解析に持っていくためのデータの準備ということであれば
Rデータ自由自在(Data Manipulation with R)がおすすめ。

Rプログラミングマニュアル(間瀬)は辞書的な感じ。

Rの基礎とプログラミング技法(石田訳)、プログラミングR(高階)は読み物的な感じ。
レイアウト的に後者の方が読みやすいか。

海外では最近出たThe Art of R Programmingがよいとされている様子。


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