【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
0063132人目の素数さん
2011/05/10(火) 09:08:37.12Bayesian credible intervalは信頼区間じゃないよ
0064132人目の素数さん
2011/05/10(火) 15:28:06.310065132人目の素数さん
2011/05/14(土) 21:58:27.95だと上手く出力されないのはどうしてでしょう?
素人の質問ですみません
0066132人目の素数さん
2011/05/14(土) 22:42:04.29> 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が表示される。
0067132人目の素数さん
2011/05/15(日) 17:30:01.07for文の中ではprint()が必要です。
for (i in 1:5) {print(sprintf("%s", ticker[i,1]))}
普通は>>66の言うとおり、
as.character(ticker[1:5,1])だけどね。
0068132人目の素数さん
2011/05/25(水) 00:02:27.53それぞれの20個のデータの平均値と標準偏差を求めるプログラムstatsample(m,data)を作成する。
プログラムソースが分かる人は教えてください。
0069132人目の素数さん
2011/05/25(水) 09:29:38.65とりあえず、たたき台を示すので、データ数が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"
0070132人目の素数さん
2011/05/25(水) 19:42:32.88datamatrix<-matrix(data,20,length(data)/20)
apply(datamatrix,2,mean)
apply(datamatrix,2,sd)
とやるのが普通じゃないか。
データ数が20で割り切れない場合のwarningも表示されるし。
0071132人目の素数さん
2011/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)を作る。
誰か教えてください。
0072132人目の素数さん
2011/05/25(水) 21:51:26.020073132人目の素数さん
2011/05/26(木) 00:30:46.840074132人目の素数さん
2011/05/26(木) 01:25:55.190075132人目の素数さん
2011/05/26(木) 09:18:07.75宿題?
ヒントだけ
> runif(10) < 5/100
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE
0076132人目の素数さん
2011/05/26(木) 22:53:09.940077132人目の素数さん
2011/05/31(火) 02:28:47.96見ようとしたら、
.Internal( sample....
となってて、中身が見えません。
他の言語で作成しているのだろうと思いましたけど、
sample関数のソースって、どこにあるんでしょうか?
007877
2011/05/31(火) 02:32:14.67CRANからソースを取得しました。
0079あんでぃは非存在 ◆AdkZFxa49I
2011/06/06(月) 14:26:34.020080132人目の素数さん
2011/06/07(火) 04:41:09.160081132人目の素数さん
2011/06/07(火) 22:07:44.630082132人目の素数さん
2011/06/07(火) 22:18:53.870083132人目の素数さん
2011/06/17(金) 13:02:41.63株価の日次データが数年分あるんですが
グラフのX軸の目盛りを年次にしたい場合はどうすればいいでしょう?
0084132人目の素数さん
2011/06/17(金) 13:23:39.86a <- ts(1:2000,start=c(2011,6),frequency=365)
plot(a)
0085132人目の素数さん
2011/06/17(金) 13:35:41.47早速のレスありがとうございます
株など営業日がある場合どうすればよろしいでしょうか?
祝日や年末年始などありますし
0086132人目の素数さん
2011/06/17(金) 13:52:29.96xtsパッケージのドキュメントを眺めてから再質問してください。
ttp://cran.r-project.org/web/packages/xts/
日本語が必要なら、Rパッケージガイドブック pp.130-137
0087132人目の素数さん
2011/06/17(金) 13:59:31.54ありがとうございます。
パッケージガイドブックを買ってこようと思います。
これとR-tipsで頑張ります
0088132人目の素数さん
2011/06/23(木) 16:49:30.620089あんでぃはストーカー ◆AdkZFxa49I
2011/06/23(木) 21:21:17.460090132人目の素数さん
2011/06/24(金) 09:20:34.16と書くと
2011/06
と出力されるけど、幅を節約して
11/06
とするにはどうすれば?
0091132人目の素数さん
2011/06/24(金) 09:22:44.15%y だ
0092132人目の素数さん
2011/06/24(金) 10:43:36.69そのあたりは共通だから覚えておいて損はないよ。
> format(Sys.Date(),"%Y")
[1] "2011"
> format(Sys.Date(),"%y")
[1] "11"
> format(Sys.Date(),"%EY")
[1] "平成23年"
> format(Sys.Date(),"%Ey")
[1] "23"
0093132人目の素数さん
2011/06/24(金) 12:32:27.69なんでEが平成なんだろう
0094132人目の素数さん
2011/06/24(金) 13:01:48.18マニュアルには、
%E Modifier: use alternative format
と書いてあるよ。つまり日本語ローケルだと、日本語化した形式にするという意味。
>>92を書き込んだ後、MacOSXとWindowsで試してみたが、
どちらも和暦にならなかった。GNUだけかも。ヘルプには環境依存って書いてあるしね。
0095あんでぃはストーカー ◆AdkZFxa49I
2011/06/24(金) 16:34:26.88あんでぃ
0096R入門
2011/06/26(日) 00:02:26.05Rについても勉強したいと思っています。
Rのサイトをみると、結構、「使い方」的なサイトが多く、
汎用言語の視点から書かれた、サイト、本が少ない(?)ような気がします。
たとえば、ほかの言語と比較しながら書かれたような
本、サイトなどあれば、教えていただきたいのですが。
ありますでしょうか。
0097132人目の素数さん
2011/06/26(日) 00:19:39.460098132人目の素数さん
2011/06/26(日) 01:03:33.08Rの基礎とプログラミング技法
http://www.amazon.co.jp/dp/4431712186
http://d.hatena.ne.jp/sesejun/20090331/p2
Rと他の言語を比較した本は知りませんが、
汎用言語としてのR言語を勉強するならこの本がお勧めです。
0099132人目の素数さん
2011/06/27(月) 09:37:34.48そういえば、Rユーザ会で、韓国から来た演者が汎用言語の視点から、Rの問題点などを
発表していたな。興味がなかったので内容は覚えていない。
汎用言語の視点で書かれた書籍はないと思う。
しいてあげるなら、>>98が薦めるリゲスさんの本しかない。
010085
2011/07/04(月) 10:41:00.37xtsをインストールしたんですが
データフレームを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列のデータなのですが?
0101132人目の素数さん
2011/07/04(月) 11:05:02.37ここに書くのではなくて、
それを書いた人に凸してみたら?
> 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
まぁ、参考になれば。
0102132人目の素数さん
2011/07/14(木) 14:34:30.11相補誤差関数 erfc を qnorm 関数から定義すると、 qnorm が実数に対してしか定義されていないためエラーになってしまいます。
0103132人目の素数さん
2011/07/15(金) 02:10:37.99> 汎用言語の視点から書かれた、サイト、本が少ない(?)ような気がします。
Rの本を書いているのは、大学の先生が多いからね。
そして、大学の先生ってのはコンピュータのことや、
プログラミングのことをわかってないから。
Rの使い方だけの説明になってしまうのは
しかたがないと思いますよ。
0104132人目の素数さん
2011/07/15(金) 11:23:45.87○ 情報科学が専門ではなく疫学やら統計屋が仕事の教員
0105132人目の素数さん
2011/07/16(土) 00:45:00.68○ 大学の先生
X 情報科学が専門ではなく疫学やら統計屋が仕事の教員
特に情報科学の先生や院生などは、知ったかの馬鹿ばっかりです。
国立情報学研究所を見ればよくわかるでしょ?
税金を使ってPCで遊んでるだけ。
全員がコネ採用。
0106132人目の素数さん
2011/07/16(土) 01:04:55.28唯のお飾りか?
0107132人目の素数さん
2011/07/16(土) 16:16:24.06税金を無駄遣いしながら、馬鹿同士楽しく
PCで遊んでいる組織ですね。
どいつもこいつも馬鹿ばっかり。
コネがないと絶対に採用されません。
公募する前から採用者は決まってます。
0108132人目の素数さん
2011/07/16(土) 16:49:55.560109132人目の素数さん
2011/07/16(土) 20:02:28.47統計数理研究所
この二つは廃止で結構です。税金の無駄です。
0110132人目の素数さん
2011/07/16(土) 20:09:53.71バカばっかりやなw あれで数学やっているつもりのもいるからw
頓珍漢なことばかりを言って来るw
0111猫は嘘吐き ◆MuKUnGPXAY
2011/07/16(土) 20:20:25.680112132人目の素数さん
2011/07/16(土) 20:58:33.45しかし、単なる就職先のひとつとなっており、
学歴とコネのみで判断されるから。
実力で研究者になれるところって、少ないと思う。
0113132人目の素数さん
2011/07/16(土) 21:06:58.590114132人目の素数さん
2011/07/16(土) 21:19:33.030115猫は無職 ◆MuKUnGPXAY
2011/07/17(日) 03:35:47.40猫
0116132人目の素数さん
2011/07/17(日) 13:55:02.20最近の調査では勤労者の平均年収が
370万円ぐらいらしいんですよ。
ただし最頻値は250万円ぐらいですから、
一部の高給取りが平均を上げていると思います。
また、公務員の平均は500万円ぐらいらしいですが、
公務員だけの平均年収は公表されていません。
研究と称してPCで遊んでいるだけですから、
年収150万円でも十分だと思います。
0117猫の夢と痴漢の埋葬 ◆MuKUnGPXAY
2011/07/17(日) 14:08:35.01『研究と称してPCで遊んでる人』だけをそういう待遇にしたら良いと
思います。但しソレをどうやって判定スルのかは現実には難しく、なの
で『虚偽院生と優秀院生の分離』と同様の困難が伴い兼ねませんね。
では質問ですが、虚偽院生に対してはどういう扱いが宜しいのでしょう
かね? やはり追放ですかね?
猫
0118132人目の素数さん
2011/07/17(日) 14:12:09.83統計数理研究所では女の子の飲み物調査という論文もあったぞw
0119132人目の素数さん
2011/07/17(日) 14:24:35.05虚偽院生とは、論文を書かない院生のことですか?
全く論文を書く気のない院生は追放でしかたないと思います。
少なくとも論文を何本か書いていて、研究費も助成金も1円も
受け取っておらず、アルバイトをして授業料を納めている奴は、
他の人の研究の邪魔をしないかぎりは、追放でなくて放置でいいと思います。
つまり、まあおれのことですけどね。
追放すべきは高い給料、研究費や助成金をたんまりもらっているのに
結果を出さない馬鹿な奴です。
これは院生だけではなく、助手も助教、準教授、教授も含まれます。
それらは能力と業績だけで判定されるべきだと思います。
その業績というのをどう判定するのかが難しいわけですけどね。
0120猫の夢と痴漢の埋葬 ◆MuKUnGPXAY
2011/07/17(日) 14:29:59.14全くその通りだと思います。私が言う虚偽院生とは:
★★★『基礎体力も無ければ動機も無く、唯大学院に入学してしまったゾンビ』★★★
を指し示す言葉です。ですから恐らくは貴方の事ではないでしょう。放置
されていても自分から何かが出来る人は決してゾンビではアリマセンから。
猫
0121132人目の素数さん
2011/07/17(日) 14:41:00.64つまり>>119の発言にまったく同意しているという解釈でよいですか?
0123132人目の素数さん
2011/07/17(日) 14:51:47.93眼醒めたらゾンビみたいだったが、観てたら生気がもどってきた
この辺のクオリティの高さは邦楽にはない、流石だとおもう。
0124132人目の素数さん
2011/07/17(日) 23:18:34.72周囲と意見交換が出来るということは、非常に大きな能力であり財産だと思うよ
そして研究室への貢献度という点で言えば
論文は書かないけどPCで遊べる程度の実力はあって、周囲と意見交換が出来る奴 > 一人黙々と論文を書く奴
だと自分は思う
0125132人目の素数さん
2011/07/17(日) 23:41:22.12月10万でボーナス(一ヶ月)も出て国家的身分は安泰
やりがいなんかまったくないと思うかもしれないが、言うことなしの職場じゃないか
0126132人目の素数さん
2011/07/17(日) 23:45:41.25それこそ、そこのなんとか研究所に問い合わせをして詳細資料(統計データ)請求すればいいんじゃないの?
ただ気になったんだけど、rlang使ってるなら「加重平均」ってなんのことかはしってるよね。
0127132人目の素数さん
2011/07/18(月) 02:46:14.960128猫は爺惨状の蚊軍 ◆MuKUnGPXAY
2011/07/18(月) 03:33:15.34その考え方は決して認められない。大学は馬鹿がママゴトして遊ぶ場所
では断じてない。当然に:
★★★『黙々と論文を書く奴>論文は書かない奴』★★★
であり、PCで遊ぶかどうかや、周囲と意見交換が出来るかどうかなんて、
そんな事はどうでもヨロシ。
論文を書くかどうかだけが問題である。勘違いも甚だしい。ケシカラン。
猫
0129132人目の素数さん
2011/07/18(月) 03:34:40.12まずお前が実績を出してから批判しような
0130132人目の素数さん
2011/07/18(月) 04:44:10.88「左右非対称分布の平均値は分布を的確に示せない」
のは統計の基本常識です。
集計方法と指標の定義: さまざまな平均値/中央値/最頻値
http://web-tan.forum.impressrd.jp/e/2008/07/11/3428
0131132人目の素数さん
2011/07/18(月) 05:55:50.190132132人目の素数さん
2011/07/18(月) 06:00:29.170133132人目の素数さん
2011/07/18(月) 07:56:35.430134132人目の素数さん
2011/07/18(月) 07:59:15.180135132人目の素数さん
2011/07/18(月) 10:43:44.13どこの大学でも統計の先生の論文は下らんものばかり
0136132人目の素数さん
2011/07/18(月) 10:54:16.080137132人目の素数さん
2011/07/18(月) 11:20:01.810138132人目の素数さん
2011/07/18(月) 11:22:33.75女子高校生の飲み物調査
女子中学生の飲み物調査
女子小学生の飲み物調査
女子幼稚園生の飲み物調査
20代OLの飲み物調査
30代のOLの飲み物調査
以下、女と男にかえても論文が書けます 統計数理研究所の教授がこうした論文を書いています
0139132人目の素数さん
2011/07/18(月) 11:24:51.54同上 2 2部上場企業の場合
同上 3 ヘラクレス上場企業の場合
同上 4 町役場の場合
以下 延々と書けます。
0140132人目の素数さん
2011/07/18(月) 11:30:15.870141132人目の素数さん
2011/07/18(月) 15:21:16.300142132人目の素数さん
2011/07/18(月) 18:25:28.32等高線を書きたいのですが、情報量が少ないため、contour関数では書けません。現在与えられているのは、20個の点に対しての座標(x,y,z)です。2次元上の布置まではできているのですが、等高線を用いてz座標を表現することができません。
どの関数を扱えばいいかなど、わかる方がいらっしゃいましたら教えてください。
0143132人目の素数さん
2011/07/18(月) 18:59:47.110144132人目の素数さん
2011/07/18(月) 22:51:46.35つか、授業聞いてなかったの?
全部説明したはずだけどね。
geoRで作成しなさいって言ったでしょ?
単位あげないよ!
0145132人目の素数さん
2011/07/31(日) 19:04:21.64Rコマンダーでcsv経由。
RGUIはMSGhosicに設定。
コマンドでフォント指定以外に
対策あれば教えてください。
0146132人目の素数さん
2011/08/01(月) 00:30:07.52Rというよりそのcsvファイルがくせもの
解決策は2つ。
1. csvの文字コードを文字化けしないものに変更してからRに読み込む
2. Rの中でiconv()で文字コードを変換する
好きな方を選べ
0147132人目の素数さん
2011/08/01(月) 05:59:12.09了解です。
クリップボードを経由してみたら、ますます
酷くなりました。
特に列の変数名がボロボロです。
これはなにゆえでしょうか?
0148132人目の素数さん
2011/08/01(月) 11:35:11.11全く別のアプローチを提示してみます。
> 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()で、列名を自由に再設定できます。
列名が、文字化けしていて、なおかつ文字コードを変更する能力がないなら、
上記のような方法もあります。
0149132人目の素数さん
2011/08/08(月) 14:36:57.39東大,
弁護士,
Re,
0150132人目の素数さん
2011/08/08(月) 14:38:15.29TS10,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,
0151132人目の素数さん
2011/08/11(木) 22:25:16.5220個の変数があり、各変数は0 から 0.2 まで 0.05 ずつの値をとることが可能
また、この変数の総和は 1 となる。
この時の組み合わせをすべて求めたいのですが、
どうすれば良いでしょうか?
よろしくお願いいたします
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
■ このスレッドは過去ログ倉庫に格納されています