08/06/30 21:14:20
>>882
お!主語が抜けてた。再度
またS-PLUSの開発会社が身売りされた
886:132人目の素数さん
08/06/30 21:59:37
プログラミング言語は自然語にはどうやっても成れないだろうな、と思う。
887:132人目の素数さん
08/06/30 22:40:11
ちょっと、そう思っただけで
あまり大げさに考えないでください。
逆いえば、まだまだ考えるべき世界が残っている
ということですし。
888:132人目の素数さん
08/07/01 03:58:52
関数定義はできないのか?
889:132人目の素数さん
08/07/01 10:53:45
>>888
>>3
890:132人目の素数さん
08/07/04 03:00:58
述語論理のライブラリあったと思うが
根気が要るだけで不可能と決まってはいないよね
確か研究者も居て今最中だと聞いたことがある
891:132人目の素数さん
08/07/04 06:21:56
>>888
>>881 でも関数定義してるよ
どちらかと言えば、関数定義しながら
作っていく言語
892:132人目の素数さん
08/07/04 18:47:40
たとえば
foo<-seq(from=100000,to=1000000,by=10000)
plot(foo,foo)
とすると、標準デバイスに散布図が描かれるけど、
x,y軸の数値表記が
2e+05 4e+05 ... 1e+06
と指数表記されてしまう。これを
200000 400000 ... 1000000
と表記させることはできないだろうか。
低水準作図関数で作るまでの必要はないし、
ものすごく簡単なことで実現できそうで、
wikiには恥ずかしくて書けないから、
こっちで誰か教えてくれまいか。
環境は Windows XP SP2 R 2.7.0 です。
893:132人目の素数さん
08/07/04 18:59:00
>>892
っていうかwikiのどこかにそれ書いてあると思うけど。
894:892
08/07/04 22:28:12
>>893
書いてあるのか!そうか、方法はあるんだな。良かった。
でもな、調べるにしても既に検索ワードのネタ切れでな....。
895:132人目の素数さん
08/07/04 23:40:59
>>892
options(scipen=2)
URLリンク(cse.naro.affrc.go.jp)
896:132人目の素数さん
08/07/05 17:41:11
すみません、標準偏差の求め方を教えて下さい。
897:132人目の素数さん
08/07/05 17:43:47
すみません間違えました。分散の方です。
898:892
08/07/05 22:01:32
>>895
できたよありがとうウァァァァァァン!!!!!
899:132人目の素数さん
08/07/07 16:04:57
教えてください。
R初心者なんですが、Rcmdr使ってるんですけど
このパッケージで探索的因子分析ってできますか?
因子数を最初に決めるのが困難なですが・・・。
900:132人目の素数さん
08/07/13 20:03:53
しばしば
Error: cannot allocate vector of size 342.5 Mb
R(2168,0xa01a6fa0) malloc: *** mmap(size=359137280) failed (error code=12)
*** error: can't allocate region
の様なエラーが出てしまうのですが、
これはメモリ割当が足りないという事でしょうか?
MacBookPro/MacOSX10.5.4/2G memory/R2.7.1/Rapp1.25
です。
どのようにしたら回避できるでしょうか?
901:132人目の素数さん
08/07/15 19:21:55
すみません
redhatにRをインスコして
「R --vanilla << EOF」
を用いてシェルスクリプト上からバッチ処理したいなと思ったんですが
「以下にエラー check.options(new, name.opt = ".X11.Options", envir = .X11env) :
c("invalid argument name 'restoreConsole' in 'png(str, width = 1920,
height = 980, pointsize = 12, bg = \"white\", '", "invalid argument
name 'restoreConsole' in ' res = NA, restoreConsole = TRUE)'")
Calls: png -> check.options
実行が停止されました」
と出てしまい実行できませんでした。
試しに
「 x <- 1:10
y <- 1:10
plot(x, y)
q() 」
をEOFで挟んで実行すると問題なく画像ファイルが出力されました(PDF形式でしたが。。)
エラー内容を読み解くことすらできません・・どなたかわかるかたいらっしゃいませんか?
902:132人目の素数さん
08/07/15 20:27:07
>>901
普通はグラフィックディバイスを開いてからplot()を使うので、グラフィックディバイス
を開かずにいきなりplot()すれば、エラーが出て当然だけど、それでもpdfを吐いてくれる
んだ。親切な仕様だな。
?png
?postscript
あたりを読む。
903:132人目の素数さん
08/07/16 01:21:04
R-tips高かったのにすごくわかりにくいorz
読み解く根性がないと言われたらそれまでだけど・・・
R-tipsの前におすすめの入門書とかないですかね。。。
904:132人目の素数さん
08/07/16 09:57:51
>>903
筆者がR-tipsがわかりにくいという評判なので、もっとわかりやすいのを書いたと
言っているデータ解析環境「R」―定番フリーソフトの基本操作からグラフィックス、統計解析まで-
URLリンク(www.amazon.co.jp)
を薦めている。「Rによるデータサイエンス」もお薦め。
905:132人目の素数さん
08/07/16 12:39:59
>>904
親切にどうもです
今日本屋で見てきます。
906:132人目の素数さん
08/07/17 15:43:46
主成分分析について質問です。
prcompで主成分分析したときに出てくる値というのは、
分散共分散行列による主成分分析の値ですよね?
この青木先生のページ(URLリンク(aoki2.si.gunma-u.ac.jp))
にあるpcaと言う関数の主成分負荷量とはいったい何の値なんでしょうか?
prcompで主成分分析したときの値とだいぶ異なりました。
相関行列による主成分分析の値かと考えたんですが計算したら違うようなので・・・
また、普通主成分分析をするとしたらどちらの値を指すのでしょうか?
907:132人目の素数さん
08/07/17 19:48:17
あげ
908:132人目の素数さん
08/07/18 00:16:09
>>906
固有ベクトルは長さが1で負荷量は長さが固有値という違いですね。
分散共分散行列に基づく主成分分析は変数の測定単位が同じである必要が
あるけど相関行列に基づく方はこだわらなくてよいので青木先生は初期設定を
そちらにしてるのかな。
909:906
08/07/18 22:40:26
>>908
なるほど。
prcompの方は分散分析行列によるもので長さが1の固有ベクトル、
青木先生のpcaは相関行列によるもので長さが固有値の負荷量ということですね。
でも今使ってるデータをprcompとpcaで解析すると、
第一主成分の係数の符号は同じなんですが、
第二主成分以降の係数の符号が違くなります。。。
(符号が反転してるわけではないので、たぶん主成分の順番が入れ替わってます。)
分散分析行列に基づいた解析と相関行列に基づいた解析では
主成分の順番が入れ替わることはありえるのでしょうか?
それともやり方が何か間違っているのでしょうか・・・?
説明が下手ですいません
910:132人目の素数さん
08/07/19 21:37:11
>>909
分散共分散行列に基づく主成分と相関行列に基づく主成分は
大きく異なることも多いです。特に分散共分散行列に基づく主成分で
第1主成分が総合効果の場合、相関行列ではそれが消えてしまいます。
つまり順番だけとは限りません。
911:132人目の素数さん
08/07/20 04:12:32
Rjp Wiki アーカイブスの2.2 箱型図に平均+標準偏差範囲を矢印で加える
に関して教えていただきたいのですが、サンプルプログラムを走らせても
> boxplot2()
windows
2
と表示されるだけで、図が作成されません
何か問題があるのでしょうか?
どなたか、どうぞよろしくお願いします
912:132人目の素数さん
08/07/20 12:39:57
>>910
なるほど、全然別のものになってしまうんですね。
疑問が解決しました、ほんと丁寧にありがとうございました。
913:132人目の素数さん
08/07/28 10:44:55
二年十八日十三時間。
914:132人目の素数さん
08/08/03 22:30:29
統計の本を読みながら、Ruby でシコシコ書いて実践していたんだけど、
Excel 用の統計本を買ったら、統計関連関数が山ほどあって、
Ruby から Excel 関数を利用することを試みつつ、
相関、推定、検定と書いてきて、重回帰分析で Excel 関数を使うか、
Ruby の Matrix を使うか、しばし熟考・・・・・
これはムダだと、ようやく気づいた。
「なんか、あるだろ、統計ソフトが」
んで、ググって、ここに来たよ。
マジですごいなコレ(R)。
文法が変だと思ったけど、慣れだな。
自力でやっていたことはムダではなかった。
R の変数名、関数名、引数を見るだけで、もうやりたいことがわかるし。
Web 上に情報がてんこ盛りだし。ありがてー ・゚・(ノД`)・゚・
915:132人目の素数さん
08/08/04 04:22:33
>>914
文法は、Cの皮をかぶったLISPだから。RUBY屋ならすぐになれると思うよ。
916:132人目の素数さん
08/08/05 16:41:38
Rによるやさしい統計学って本片手にいじってるけどおもろい
共分散構造分析がやりたいんだけど他の参考書と比べても充実してるし
豊田秀樹先生もRによるSEMマニュアル出してくんないかな
917:914
08/08/05 22:23:08
>>915
>文法は、Cの皮をかぶったLISPだから。RUBY屋ならすぐになれると思うよ。
ハハ。その通りみたいだ。
Rgui を起動してみて、Stk(Scheme) みたいだと思ったよ。「なつかしー」
What is STk?
URLリンク(kaolin.unice.fr)
STk is a free R4RS Scheme interpreter which can access the Tk graphical
package. Concretely, it can be seen as the standard Tk package where Tcl has
been replaced by a Scheme interpreter. STk embeds also an efficient CLOS
like object oriented system, called STklos, which provides:
The mandatory screenshots page
URLリンク(kaolin.unice.fr)
The STk Code Editor
This is a specialized editor for Scheme programming.
It do some font highlighting and parenthesis matching.
918:132人目の素数さん
08/08/06 21:39:49
>>916
いいですよね、その本。
私も買ってしまいました。
大学の教授の研究室にもありましたよ!
919:132人目の素数さん
08/08/10 17:23:21
そんな高くないんだからアマゾンででも買っとくといいぞ
920:教えてください
08/08/11 15:21:15
R初心者です。
例えば次のようなデータ(X,Y,Z)があります。
X Y Z
20 10 120
30 56 201
5 40 150
12 25 96
19 27 115
Zの値がが100未満ならA、Zの値が100以上150未満ならB、Zの値が150以上ならCと変換して、
下記のようにしたいのですが、どなたか教えていただけないでしょうか?
X Y Z
20 10 B
30 56 C
5 40 C
12 25 A
19 27 B
どうぞよろしくお願いいたします。
921:132人目の素数さん
08/08/11 22:42:20
> z <- c(120,201,150,96,115)
> zc <- ifelse(z<100,"A",ifelse(z>=100 & z<150,"B",ifelse(z>=150,"C",NA)))
> zc
[1] "B" "C" "C" "A" "B"
エクセルと同じかな?
922:132人目の素数さん
08/08/11 23:12:14
> z <- c(120,201,150,96,115)
> z[z>=150] <- "C"
> z[z>=100 & z<150] <- "B"
> z[z<100] <- "A"
> z
[1] "B" "C" "C" "96" "B"
?????どうしてうまくいかない???
逆では?? うまくいかない??
> z <- c(120,201,150,96,115)
> z[z<100] <- "A"
> z
[1] "120" "201" "150" "A" "115"
> z[z>=100 & z<150] <- "B"
> z
[1] "B" "201" "150" "A" "B"
> z[z>=150] <- "C"
> z
[1] "C" "C" "C" "C" "C"
なぜなのか教えて
923:132人目の素数さん
08/08/11 23:51:56
Rは知らないが
これみると
"A","B","C"という値は、"150"より
大きいということでしょう。
HEX出力してみるとそうなってんじゃないかな。
924:132人目の素数さん
08/08/12 02:40:11
>>922
> z <- c(120,201,150,96,115)
> z2<-z
> z2[z>=150]<-"C"
> z2[z>=100&z<150]<-"B"
> z2[z<100]<-"A"
> z2
[1] "B" "C" "C" "A" "B"
自分自身に入れると途中から数ではなく文字列になるので
>>923のいうように文字列比較になってしまいうまくいかない。
925:教えてください2
08/08/12 07:41:22
ありがとうござます。データが多いときは、例えばdata=(X,Y,Z)のときはどうすればよろしいでしょうか?
条件文を
> zc <- ifelse(data$Z<100,"A",ifelse(datat$Z>=100 & data$Z<150,"B",ifelse(datat$Z>=150,"C",NA)))
を使って、Zに記号をつけた新しいdataNEW=(X,Y,Z)ができますか?
すみませんまた教えていただけませんか?よろしくお願いします。
926:132人目の素数さん
08/08/12 11:51:07
>>925
recodeするときは、ifelseよりもcutを使った方が楽だと思うぞ。
> z <- c(120,201,150,96,115)
> z <- cut(z,c(-Inf,100,150,Inf),include.lowest=TRUE)
> levels(z) <- LETTERS[1:3]
> z
[1] B C B A B
Levels: A B C
927:132人目の素数さん
08/08/13 14:16:12
t検定表を見る代わりに、Rに出力させたいのですが、どうすればできますか?
928:132人目の素数さん
08/08/14 08:46:30
自己解決しました。
信頼係数95%のときに、自由度10の両側有意水準は、以下のようにして得られる。
> qt(0.975,10)
[1] 2.228139
> qt(0.025,10)
[1] -2.228139
929:132人目の素数さん
08/08/15 17:51:35
パッケージkernlabの二次計画ソルバーipop使ってる人いますか?
二つの変数があるときの二次計画をときたいのですが。。
ipopでは無理なのでしょうか?
930:教えてください2-1
08/08/15 22:32:45
>>926 ありがとうございます。
ifelseよりシンプルに書けそうですね。
申し訳ありませんが下の2行の翻訳をお願いいます。
> z <- cut(z,c(-Inf,100,150,Inf),include.lowest=TRUE)
> levels(z) <- LETTERS[1:3]
A、B、Cの指示はどの部分ですか?
よろしくお願いします。
931:132人目の素数さん
08/08/16 04:45:38
>>930
LETTERS[1:3]
932:926
08/08/16 21:33:49
>>931
代返ありがと
>>925
ベクトルではなくてデータフレームを扱いたいと言うこと?cbind()で足せばOK
> dat <- data.frame(x=month.name[1:5],y=runif(5),z=c(120,201,150,96,115))
> dat
x y z
1 January 0.63212456 120
2 February 0.19865357 201
3 March 0.31978766 150
4 April 0.88575752 96
5 May 0.01307491 115
> z.s <- cut(dat$z,c(-Inf,100,150,Inf),include.lowest=TRUE)
> levels(z.s) <- LETTERS[1:3]
> dat <- cbind(dat,z.s)
> dat
x y z z.s
1 January 0.63212456 120 B
2 February 0.19865357 201 C
3 March 0.31978766 150 B
4 April 0.88575752 96 A
5 May 0.01307491 115 B
933:教えてください2-2
08/08/17 10:37:05
<<932 ご説明ありがとうございます。
data=(X,Y,Z)の中でZについてある範囲でいくつかに分類したかった
ので質問させていただきました。
これまではsubset()を何度も繰り返していました。
cbind()はとても便利そうですね。助かりました。
934:教えてください2-3
08/08/17 16:39:23
「聞くは一時の恥、聞かぬは一生の恥」という諺もありますので
皆様にもう一つ質問させてください。
次のようなデータがあります。
X Y Z
20 10 120
30 56 201
5 40 150
12 25 96
19 27 115
2 30 165
10 23 85
X,Yの散布図を描きたいのですが、条件としてZ<100のときは赤丸(凡例)、100<=Z<150のとき青丸、
Z>=150のとき緑丸とするにはどのようにしますか?
どうぞよろしくお願いいたします。
935:132人目の素数さん
08/08/18 03:54:23
>>934
もはやあなたを相手しているのは私だけのような気がするが、
> dat <- data.frame(x=c(20,30,5,12,19,2,10),y=c(10,56,40,25,27,30,23),z=c(120,201,150,96,115,165,85))
> cols <- c("red","blue","green")
> z <- cut(dat$z,c(-Inf,100,150,Inf),include.lowest=TRUE)
> plot(dat$x,dat$y,col=cols[z],pch=19)
legendは自分で考えてみなさい
936:132人目の素数さん
08/08/18 18:52:15
超基本的なことかもしれないんだけど、
> 123.05 - 123.02
[1] 0.03
> (123.05 - 123.02) == 0.03
[1] FALSE
で、FALSEが返ってくるのは、なぜ?
色々本を見たんだけど、どこにも理由が出ていないし・・・
俺のOSX版だけかな。
937:132人目の素数さん
08/08/18 20:42:56
浮動小数点演算による誤差。そのままでは、どうやっても回避不能。
> 123.05-123.02
[1] 0.03
> sprintf("%.15e", 123.05-123.02)
[1] "3.000000000000114e-02"
>
どうしてもそこで TRUE が欲しい場合には、
> (1.0 - 123.02/123.05) - 0.03/123.05 < 1.0e-15
などとする。
938:132人目の素数さん
08/08/18 20:48:46
間違った、こっちの方が良いな。
>abs(1.0 - 123.02/123.05 - 0.03/123.05)< 1.0e-15
939:132人目の素数さん
08/08/18 20:53:12
>>936
いいところに気がついたね。数値計算の世界にようこそ。
> (123 - 122) == 1
[1] TRUE
> (123 - 122.5) == 0.5
[1] TRUE
> (123 - 122.75) == 0.25
[1] TRUE
> (123.05 - 123.02) == 0.03
[1] FALSE
> (123.06 - 123.02) == 0.04
[1] FALSE
整数は正確に保持され、小数部分を持つ数も,小数部が2進数で表されるもの(0.5, 0.25, 0.125 など
などや,それらの和で表現されるもの)は,正確に保持される。一方、それ以外の数は,"近似値"が保
持され、上記ような結果になる。Execelの計算がいい加減なのは上記問題を無視しているから。Rユー
ザは、きちんと考慮してプログラムを作るべき
940:132人目の素数さん
08/08/19 04:14:30
>>937
>>938
>>939
ご親切なご指導ありがとう後います。
何となく浮動小数点関連ではないかなと考えていたのですが
思ってたより、誤差が入ってしまうので正確に計算するのは難しそうですね。
とりあえず、最大小数点二位までのデータなので
全てのデータを百倍して、整数域で扱うことにしました。
ありがとうございました。
941:132人目の素数さん
08/08/26 22:44:00
質問させていただいてもいいでしょうか。。
データフレームでV2は世帯番号、V3は個人番号だとして
$ V2 : int 1 1 1 1 1 1 1 1 3 14 ...
$ V3 : int 1 1 2 2 3 3 4 5 1 1 ...
unique()で重複する要素をのぞいて以下のように各個人の合計を数えたいのですが
1-1,1-2,1-3,1-4,1-5,3-1,14-1,....
どのようにuniqueを使えばよいでしょうか?
また他にやり方があれば教えていただけないでしょうか。。
942:132人目の素数さん
08/08/27 00:45:41
>>941
その答えと同じにするなら
VV<-paste(V2,"-",V3)
unique(VV)
とするとよいが。
943:132人目の素数さん
08/08/27 11:53:31
Ubuntuのリポジトリに新しいr-base-coreとr-recommendedが来た。
2.7.2だな。
944:943
08/08/27 11:54:43
s/リポジトリ/CRANのリポジトリ/
945:132人目の素数さん
08/08/30 03:07:30
single-case design などに使える Rondamization test の
パッケージってどこかにないでしょうか。
パッケージ名等ご存じの方がいましたら教えてください。
946:132人目の素数さん
08/09/06 19:08:24
Rの出力
------------------------------------
Anova Table (Type II tests)
Response: y
Sum Sq Df F value Pr(>F)
x 91.779 1 88.525 8.19e-05 ***
Residuals 6.221 6
------------------------------------
のようなものをクリップボード経由で
EXCELに貼り付けて表形式にする方法があれば教えてください。m(_ _)m
("Sum Sq","Df","6.221"等をここのセルに整列する方法)
947:132人目の素数さん
08/09/06 20:21:43
>>946
write.csv()
948:132人目の素数さん
08/09/06 22:05:38
>>947様
忙しいなか、初心者の質問にお答え頂きありがとうございます。
------------------------------------
> write.csv(Anova(RegModel.1))
"","Sum Sq","Df","F value","Pr(>F)"
"x",91.7794117647059,1,88.5248226950355,8.1900177580363e-05
"Residuals",6.22058823529412,6,NA,NA
------------------------------------
見事にカンマ区切りになり、感動しているのですが、ここから
どうやってクリップボード経由でEXCELに持ち込んだら良いのでしょうか。
ファイルに一旦書き込まないと無理でしょうか。
書き込むのであれば、画面出力を.txtにしてテキストファイルウィザード
から読んだ方が忠実に再現されるように思います。生意気言ってすみません。
949:132人目の素数さん
08/09/07 15:48:27
946ですが、947様のお返事を見て
------------------------------------
Anova Table (Type II tests)
Response: y
Sum Sq Df F value Pr(>F)
x 91.779 1 88.525 8.19e-05 ***
Residuals 6.221 6
------------------------------------
に対して
------------------------------------
<TABLE>
<TR><TD>Anova</TD><TD>Table</TD><TD>(Type</TD><TD>II</TD><TD>tests)</TD></TR>
<TR><TD>Response:</TD><TD>y</TD></TR>
<TR><TD>Sum</TD><TD>Sq</TD><TD>Df</TD><TD>F</TD><TD>value</TD><TD>Pr(>F)</TD></TR>
<TR><TD>x</TD><TD>91.779</TD><TD>1</TD><TD>88.525</TD><TD>8.19e-05</TD><TD>***</TD></TR>
<TR><TD>Residuals</TD><TD>6.221</TD><TD>6</TD></TR>
</TABLE>
------------------------------------
のように文頭に<TABLE>、文末</TABLE>を付加、行頭に<TR><TD>、行末に</TD></TR>を付加
連続するスペース" "を</TD><TD>に置換すればSum Sqの行がずれますが
EXCEL表として貼り付くと考えました。素人考えですが・・・。
そんな関数ない、もしくは簡単には作れないですかね。
950:132人目の素数さん
08/09/07 16:44:43
946ですが、自己解決しました。
EXCELに貼り付けてから「[区切り位置] コマンドを使用してデータを区切る方法」
URLリンク(support.microsoft.com)
板汚し礼しました。(しかもスレチ?)
>>947様
有用な情報、ありがとうございました。逝ってきます。
951:132人目の素数さん
08/09/14 22:37:50
R Tipsもう売ってないやんけ orz
新版マダー?
952:132人目の素数さん
08/09/14 22:48:07
>>951
発行元の九天社が倒産したからね。
ここを見ればほとんど補えるよ↓
URLリンク(cse.naro.affrc.go.jp)
953:132人目の素数さん
08/09/14 23:16:04
age
954:132人目の素数さん
08/09/20 22:10:26
ほとんど知識の無いまったくのR初心者なのですが私にも使えるようになるでしょうか?
955:132人目の素数さん
08/09/20 22:15:52
>>954
最初は誰もが初心者
956:954
08/09/20 22:21:03
私は学生なんですが授業でRを使うんですよ
単位を取るとなるとそれなりの知識がないと厳しいのではないかと思い・・・
回帰分析などといったことをやるそうです
957:132人目の素数さん
08/09/26 23:45:10
それなら必要な知識は統計の知識のような気もしないでもない。
958:132人目の素数さん
08/09/28 14:36:32
Rjp Wiki って何であんな排他的雰囲気なんだろうか。
傍から見てるとすごい心証わるいんだが。
959:132人目の素数さん
08/09/28 15:05:04
ほんとだね
アレは改めないとダメだね
960:132人目の素数さん
08/09/28 20:09:12
実務を知らない学者の集まりだから
961:132人目の素数さん
08/10/05 14:44:50
>>956
Rによるやさしい統計学って本がお勧め
統計学初心者でもR初心者でも取っ付きやすいと思う
962:132人目の素数さん
08/10/06 22:51:11
3.45%という文字列を0.0345という数字に変換する方法を教えてください。
963:132人目の素数さん
08/10/07 02:11:24
繰り返し文を使って大量にグラフを出力したいのですが、for文で使う変数をファイル名に取り込むときはどうやればいいいですか?
シェルでいう
i=1
filename="${i}.png"
の${}です・
964:914
08/10/08 18:38:15
>>963
>filename="${i}.png"
んで、イイんじゃね
> for( i in 1:5 ){
+ filename <- sprintf("%d.png", i)
+ cat(filename, "\n")
+ }
1.png
2.png
3.png
4.png
5.png
965:914
08/10/08 19:22:55
「R によるやさしい統計学」の感想
(1) ○
第6章 2つの平均値を比較する
第7章 分散分析
複数の標本、対応のあるなし、3つ以上の平均値の比較
などが、連続的に扱われていて、非常にわかりやすい。
(2) ◎
第18章 人口データの発生
第19章 検定の多重性と第1種の誤りの確率
第20章 検定力分析によるサンプルサイズの決定
この説明の順番は、すばらしい。
(3) ×
第4章 母集団と標本
第5章 統計的仮説検定( の最初の数ページ )
序文(vi)の「対象となる読者」が、この部分を理解できるとは思えない。
初心者に、確率変数、確率分布の説明が不十分。
966:132人目の素数さん
08/10/08 19:57:14
あのぉ・・・
3.45%という文字列を0.0345という数字に変換する方法を教えてください。
不可能なのでしょうか?
967:914
08/10/08 21:15:02
>>966
>3.45%という文字列を0.0345という数字に変換する方法を教えてください。
こんな感じかな
> s="3.45%"
> n=as.double(substr(s, 1, nchar(s)-1))/100.0
> n
[1] 0.0345
968:132人目の素数さん
08/10/08 22:56:01
Σ(-ロ-)スマートにはいかないみたいですね。
ありがとうございました。
969:132人目の素数さん
08/10/08 23:12:02
質問者ではないですが、
おそらく、データを取り込むときに
xx.x% 書式を小数データに自動変換する
機能があるんじゃないだろうか。
どこのソフトにもあると思うので、Rにもあるのではないかな
だれか知らない?(R知らないもので)。
970:132人目の素数さん
08/10/09 04:02:25
>>964
ありがとうございます。
971:914コテ最後
08/10/09 18:57:44
>>968
>Σ(-ロ-)スマートにはいかないみたいですね。
以下は、最近話題ノ全国テスト、都道府県別の「数学A」の正答率(中学生)
第2カラムが、該当箇所(3.45%) ね。
D:\Somewhere>type in.txt
都道府県,正答率
北海道,68.6%
青森県,73.9%
岩手県,68.6%
(1) オレならば、awk でやっちまう。 under Cygwin, Linux
gawk -F, 'NR>1{ sub(/%/,"",$2); $2=$2/100.0; } { print $0; }' in.txt > in2.txt
(2) R でやるならば、あらかじめエディタで % だけを削除しておく。
その後、R の transform で、1/100 する。
> tmp1 <- read.csv("in2.txt")
> tmp2 <- transform(tmp1, 正答率2=as.numeric(正答率)/100)
> df <- tmp2[,c(1,3)]
> df
都道府県 正答率2
1 北海道 0.686
2 青森県 0.739
3 岩手県 0.686
972:132人目の素数さん
08/10/09 22:18:56
むむむむむ・・・・なんというか
ふ~結構面倒
973:132人目の素数さん
08/10/09 22:29:49
やっぱり学習用かな。。
974:132人目の素数さん
08/10/09 23:12:30
> rmpercent <- function(x){x<-as.character(x);as.numeric(substr(x,1,nchar(x)-1))/100}
> rmpercent("3.45%")
[1] 0.0345
> tmp1 <- read.csv("in.txt")
> tmp1
都道府県 正答率
1 北海道 68.6%
2 青森県 73.9%
3 岩手県 68.6%
> tmp1[,2] <- rmpercent(tmp1[,2])
> tmp1
都道府県 正答率
1 北海道 0.686
2 青森県 0.739
3 岩手県 0.686
975:132人目の素数さん
08/10/09 23:39:40
> tmp1[,2] <- rmpercent(tmp1[,2])
最初からこういうの用意されていないんだろうか?ありそうな気もするが
> rmpercent <- function(x){x<-as.character(x);as.numeric(substr(x,1,nchar(x)-1))/100}
%なら100で割ること決まって居るし、この行はなくても良いくらいだよね。
利用言語というよりアルゴリズム作り用なんだろうな、でも余分が多い。
でも、そうだから仕方ないんだけど
回答頂いた方への不満ではありませんので。もうしわけありませんでした。
ありがとうございます。
976:132人目の素数さん
08/10/10 01:02:16
詳しい人に質問。15年ほど前、大学2年の一般教養で
東大出版会の統計学入門を種本にした授業で単位を取った。
なぜか統計学入門は楽しく読めて、独学して一応
わかった「つもりになった」が、就職後、統計学と疎遠になったら
ほとんど全部忘れてしまった。
で、このたび仕事で必要になったんだが、予算上SASやSPSSには手が出せず、
Rの存在を知って早速インストールし、
関係サイトをあちこち見て回って勉強し直しているのだが、
もしかして、1991年刊の統計学入門で取り上げられている手法は、
WindowsXPがサクサク動くパソコンでRが使える時代には
もう古くさいものが少なからず含まれているのではないか?
977:132人目の素数さん
08/10/10 07:19:07
>>976
手で電卓たたいて計算する必要はないんじゃないか?という意味なら
その通りだが、それは1991年でも同じ。教科書は学習用。
統計学を学習するということにおいて統計学入門はまだいい本だと思うよ。
978:974
08/10/11 08:44:56
>>975
自分にとって使いやすい統計ソフトであるかどうかという以前に、オープンソースとは何かという視点を
持った方がよいと思うぞ。必要性を感じた人が必要な機能を付加する(付加できる)ということは、逆に
言えば、あなたが欲しい機能が実装されていないのは、誰も必要と考えていないから。あなたが必要なら
あなたがrmpercent()のように追加すればよい。
私自身は%を少数に変換する必要性を感じたことがない。表計算ソフトで%表示されいても実態は小数デー
タだし、CSV経由で読み込んだらnumericになっている。
979:132人目の素数さん
08/10/11 13:40:19
>>978
>私自身は%を少数に変換する必要性を感じたことがない。表計算ソフトで%表示されいても実態は小数デー
>タだし、CSV経由で読み込んだらnumericになっている。
質問は、一般的に統計ソフトなどはそういう機能を持ち合わせているので
Rにそういう機能はないの?という質問でしょう。
980:132人目の素数さん
08/10/11 19:29:58
禁句になっているような気もするが、
Rをメインで使っている人はデータ加工をどのようにしているの?
981:132人目の素数さん
08/10/11 20:04:23
>>980
それはRにデータを読み込んでからのデータ加工場面と、
外部ファイルにあるデータをRに読み込むための場面に分けて
考えた方がいいと思う。
同様に、テキストデータと数値データについても、同じように
場面を分けないと、データ加工についての議論はすれ違いになる
のではないかと思う。
982:132人目の素数さん
08/10/11 21:08:05
分析前のデータ加工(読み込み前)ってかなり重要ですよね?
あとさ、やっぱり結果の信頼性に欠けるのかなぁ・・・
R歴そんなに長くないのですが、例えばdecomposeの乗法モデル。
Helpでは、Y[t] = T[t] * S[t] + e[t] になってるのに、
実装上は、Y[t] = T[t] * S[t] * e[t] ですよ・・・
無い物は自分で造る、間違っているものは自分で直せの精神ですか?
う~ん・・・
983:132人目の素数さん
08/10/11 21:44:55
二年九十四日。
984:132人目の素数さん
08/10/12 20:34:25
Rとoctaveならどっちを習得したほうが良い???大学生です。
985:132人目の素数さん
08/10/12 21:44:55
二年九十五日。
986:132人目の素数さん
08/10/12 22:03:36
>>984
背景にあるSとMatlabの関係で
統計解析主体ならR、シミュレーション系が主であればoctave。
但し、実業界で考えるなら、Matlabは製造系で仕事がらみでの利用は結構
多いが、Sはあまり多くなく(ただし、企業内の研究など個々人の利用はある)
求人は多くない(Rとoctaveに限定すれば、企業内でのoctave利用はほとんど
ない)。
参考に。
>>982
取り込んでからの(数値データの)処理は強いが、前処理として
外部ファイルのあつかいは非常に弱い。その辺のニーズ異なると思われる。