X



トップページ数学
1002コメント381KB
【R言語】統計解析フリーソフトR 第5章【GNU R】
レス数が1000を超えています。これ以上書き込みはできません。
0002132人目の素数さん
2013/09/26(木) 13:08:40.45
●過去スレ
= 統計解析フリーソフト R =
http://science4.2ch.net/test/read.cgi/math/1062650510/
http://mimizun.com/log/2ch/math/1062650510/
= 統計解析フリーソフト R 【第2章】 =
http://science6.2ch.net/test/read.cgi/math/1152449095/
http://mimizun.com/log/2ch/math/1152449095/
統計解析フリーソフト R 【第3章】
http://kamome.2ch.net/test/read.cgi/math/1224142396/
http://mimizun.com/log/2ch/math/1224142396/
【R言語】統計解析フリーソフトR 第4章【GNU R】
http://uni.2ch.net/test/read.cgi/math/1294561909/
0005132人目の素数さん
2013/09/29(日) 11:02:05.99
Rコマンダーのカスタマイズについての質問です。
判別的中率の計算の途中で
次のようなコマンドを実行したいのですが、

hanbetsu.result <- table(データセット$朝食有無, データセット$予測群)

↓これ、だとうまくいきません。
doItAndPrint(paste("hanbetsu.result <- table(",ActiveDataSet(),"$",tclvalue(lhsVariable),",",ActiveDataSet(),"$予測群)" sep=""))

,(コンマ)をペーストするにはどうしたらいいのでしょうか?
0006132人目の素数さん
2013/09/30(月) 13:03:24.56
>>5
Rcmdrはまったく分からないんだけど、

> ,(コンマ)をペーストするにはどうしたらいいのでしょうか?
","で合っているよ。うまくいかない原因は別にあると思うよ。

いずれにせよ、読んでいる人が再現できるものを提示しないと、
誰も助言できないよ。
特に、GUIな人は、トラブルを全て「うまくいきません」ですませてしまって、
読んでいる側は意味不明。←他人からは解決する気がないと判断される

あと、いちいちsep=""と書くのは面倒ではありませんか?
私はpaste0()を使います。
0007132人目の素数さん
2013/10/01(火) 00:18:59.84
うまくいきました。
うまくいったのはこちらです。

doItAndPrint(paste("hanbetsu <- table(", ActiveDataSet(), "$", tclvalue(lhsVariable), ",", ActiveDataSet(), "$予測群)", sep=""))

コンマの後の空白をきちんと空けたのが良かったようです。ありがとうございました。
0008132人目の素数さん
2013/10/01(火) 09:42:04.68
>>7
> コンマの後の空白をきちんと空けたのが良かった
違うと思う。 >>5 はsepの前にあるべきコンマが抜けていたから。
0009132人目の素数さん
2013/10/01(火) 21:53:45.05
>>8
比較するとそうですね。
ありがとうございます。勉強になりました。
0010132人目の素数さん
2013/10/12(土) 18:44:10.94
実にどうでもいい話かもしれませんが、RってTeXみたいに書き方の規定ありますか?
フォントとか配置とかそういう感じの
0011あのこうちやんは始皇帝だった
2013/10/12(土) 19:13:14.79
コイツら、無職の、女性恐怖症の、ゴミ・クズ・カス・無能・虫けらのクソガキども!

 無職のクソガキども!  大変なコトになるな!

憲法改正だ! 96条を改正してから、9条を改正する。 そして、何条を改正するか?
18条だ! そうして、国家総動員法ができて、オマエたち、無職のクソガキどもは、真っ先に徴兵だ!
オマエたちは、頭デッカチの虚弱児・ひ弱だから、最下等兵! すぐ戦死だ!

アハハハハハハハハハハ!!!!!!!!!!!!!!!!!!!!

 死にゆく、クソガキどもに、大伴家持の詩を贈ってやろう!

海行かば 水浸く屍 山行かば 草むす屍 大君の 辺にこそ死なめ かえりみはせじ!
0013132人目の素数さん
2013/10/13(日) 11:32:28.63
>>10
質問の意味が分からないぞ。
TeXの書き方(ソースの書き方なら全くの自由だ)の規定と、
フォントの配置(TDSのことか?)がどう関係があるの?

Rのコーディング作法なら、Googleが提唱しているものがある。
ttp://google-styleguide.googlecode.com/svn/trunk/Rguide.xml

また、作法通りに整形し直してくれるパッケージもある。
001410
2013/10/13(日) 11:55:33.09
>>13
すいません確かに意味不明でした
文章中に「TeX」と書くときは「全部大文字でEはTより下で・・・が本当の表記だけど出来ないならしょうがないからTeXと書くように」とか決まっていたと思います
Rも同様に書式の決まりがありますか?
というのも、文章で「R」ただ1字を書くとどうも可読性が悪い気がしてしまって、何かいい方法はないかと・・・フォントくらい変えた方がいいかと悩み中です
0015132人目の素数さん
2013/10/13(日) 12:48:58.90
>>14
全く文意をくみ取れていなかったようだorz

&yen;TeX{}のR版を探しているといことだよね。
R界隈の論文を見れば分かると思うけど、*ない*です。
journal of statistical softwareのLaTeXクラスファイルに定義されていた気もするが、
標準化されていない。

スライドなど少々の遊びが許される場合で、Rの可読性を高めるたいなら、
「全ての解析は&yen;includegraphic[with=1.5zw]{Rlogo-4.png} ver.3.01で行いました。」
などと、ロゴを使えばどうか。
ttp://developer.r-project.org/Logo/
001610
2013/10/13(日) 13:16:07.80
>>15
なるほど、ロゴを使うというのは盲点でした
今度試してみます
ありがとうございました
0017132人目の素数さん
2013/10/22(火) 20:02:55.39
積み立て棒グラフ出したいんだけど行列の要素にマイナスの値はいってるとちゃんと
表示されなくておかしくなる。そういうものなの?
0018132人目の素数さん
2013/10/22(火) 20:35:19.99
>>17
おかしくなるも何も、負の値を含む積み上げって、
どういう図を期待しているんだ。

> barplot(matrix(c(1:3, -1, 4:5),3))
予想通りの図になるが、これがおかしいということ?
0019132人目の素数さん
2013/10/22(火) 21:02:15.43
>>18
サンクスwそのグラフで俺の頭がおかしかった事に気がついたw
0020132人目の素数さん
2013/10/25(金) 00:01:31.53
Rコマンドー
0021132人目の素数さん
2013/10/27(日) 23:06:08.31
これでMC法使えるオススメのマニュアル(書籍)紹介して下さい。
0022132人目の素数さん
2013/10/28(月) 05:58:06.04
アメリカサマータイムにできないんだけど。なんで?もとからないのか?
ヨーロッパサマータイムあるのに意味分からん。
0023132人目の素数さん
2013/10/28(月) 06:58:08.95
あっできた。
EDT指定してもできなかったがAmerica/New_Yorkにしたらできたわ。イミフだわ。
0024132人目の素数さん
2013/10/28(月) 09:18:36.85
>>21
MC法が何か勉強してから、もう1度来なさい。
ttp://ebsa.ism.ac.jp/ebooks/node/1264

>>22-23
意味不明。POSIXt()の引数が期待通りでなかったってこと?
New YorkならEST5EDTじゃないの?
0025132人目の素数さん
2013/10/28(月) 11:13:49.49
>>24
引数にEDT入れたらそんなのありませんって言われたw
EST5EDTって入れればいいのかな?まぁ"America/New_York"って入れたらできたから解決したけど。
ちなみにBSTイギリス夏時間もだめだった。でもWET西ヨーロッパ夏時間はちゃんと認識した。
できたりできなかったりよくわからんわ。
0026132人目の素数さん
2013/10/31(木) 08:57:31.37
変数A,B,C,D,Eがあるデータを2グループや3グループに可能な限り均等に分けたいんですが、
層別ランダム割付という手法があるというところまでは調べられました。
Rでランダム割付が可能と聞いたのですが、やり方を解説しているサイトなどありませんか?
またはご存知の方いらっしやいませんか?
0027132人目の素数さん
2013/10/31(木) 21:11:36.63
>>26
Stratified Randomizationって、実際にはBlock Randomizationの方法で実現するわけだから、
Block Randomizationのパッケージblockrandを使えばよいと思うよ。
ttp://cran.r-project.org/web/packages/blockrand/
オレは使ったことがないけどね:-p
002827
2013/10/31(木) 21:28:55.98
追記。

cranの中を探したら、他にもいろいろあるみたいだ。
全文検索システムのnamazuでいろいろと検索してみてください。
ttp://search.r-project.org/cgi-bin/namazu.cgi

あと、↓充実した説明で助かるね!
ttp://en.wikipedia.org/wiki/Randomized_block_design
0029132人目の素数さん
2013/11/09(土) 14:18:52.90
ARモデルのAICに関する質問です。
ar(データ)
データ$aic
では、相対的なAICの値しか表示されないため、最適な次数はわかってもAICの値がわかりません。
また、arima(データ, order=c(x,0,0))
で行うと定数項が含まれているため純粋なARモデルのAICを求める事が出来ません。
ARモデルのAICを求める方法、教えてください。
0030132人目の素数さん
2013/11/09(土) 15:32:47.80
>>29
> ar(lh)$aic
0 1 2 3 4 5 6
18.3066645 0.9956542 0.5380214 0.0000000 1.4903597 3.2127890 4.9932119
7 8 9 10 11 12 13
6.4694960 8.4625678 8.7411958 10.7408834 12.5338637 14.4847850 16.4617958
14 15 16
18.0437158 17.4398358 19.3449467
> library(timsac)
> unimar(lh)$aic
[1] -34.34604 -46.87367 -47.40513 -46.86175 -44.86637 -43.20116 -41.34344
[8] -40.37922 -38.39713 -41.00437 -39.38885 -37.39977 -35.53922 -33.63709
0031132人目の素数さん
2013/11/09(土) 16:34:03.27
>>30
ありがとうございます。
無事できました。
0033132人目の素数さん
2013/11/10(日) 19:25:09.00
windowsのエクスプローラーからディレクトリの場所をコピペすると、
例えば(E:\R)となりこのままではsetwd("E:\R")と行うことができません。
いつもはsetwd("E:\\R")やsetwd("E:/R")に手で修正しています。
何かもっと簡単な方法はないでしょうか?
0034132人目の素数さん
2013/11/11(月) 00:01:41.40
>>33
Windowsをやめると幸せになれます
>>32
人による。
なお、コーディングはひたすら他人のコードを読むのが上達の近道。
0035132人目の素数さん
2013/11/11(月) 09:34:32.91
>>33
"E:\R"を"E:\\R"や"E:/R"に自動置換してsetwd()に渡すオレ様関数を書けばよいのでは。

my.setwd <- function(p) setwd(nomalizePath(p))

こんな感じかな。こちらはWindowsじゃないので未検証。

ちなみに、文化の違いだと思うけど、
私は、対象ディレクトリに移動して、
ごにょごにょ作業や確認をしてからRを起動するので、
setwd()が必要な場面に出会わない。
0036132人目の素数さん
2013/11/11(月) 18:55:03.91
>>32
何をやりたいかによる。
しかし確実に言えるのは、日本人(含在日)の本は全てダメ。
0037132人目の素数さん
2013/11/11(月) 22:23:05.34
>>36
文系で、あまり高度でない実験結果や計量分析のまとめなど、普通はSPSSとかでやる人が多いことをRでやるばあいは?
0040132人目の素数さん
2013/11/12(火) 08:17:12.09
R in Action や著者のページをまず読んで、
R Cookbook (邦訳あり)で忘れたことを参照したり、
R Graphics Cookbook でグラフの書き方を学んだら?

あとは、reshape や plyr の使い方を作者の論文で勉強しておくと便利
0042132人目の素数さん
2013/11/13(水) 21:18:08.57
ENTERを押すと次のグラフが表示されるようなときに、そのグラフ全部を並べて表示するにはどうしたらいいですか?
0044132人目の素数さん
2013/11/14(木) 00:27:16.43
>>43
plot(〜〜)を何度もする場合は確かにそれでなりますが、今は一回のplot(〜〜)で
「クリックまたはENTERキーを押すと次のページに移ります」って出て
エンターを押すたびに次のグラフがプロットされるようなものなので出来ません。
0046132人目の素数さん
2013/11/14(木) 09:56:30.46
なんかおかしな。
ask=TRUEになっていても、mfrow=c(1,1)でなければ、
一度に描画されると思うが。

>>44は何か勘違いをしていないか。
具体的に再現できるコードを示して。
0048132人目の素数さん
2013/11/14(木) 10:40:11.97
>>47
どんだけ特殊なケースを持ち出すんだよ。
plot.varest()って、ここまで変態な関数にはびっくりだ。
vars:::plot.varest を見たら分かると思うけど、layout()を使っている時点で、
mfrowで制御できないし、

if (nv > 1)
par(ask = TRUE)

ってハードコーディングされているから、関数のオプションでどうにかなるものでもない。
結論は、あきらめろ。
0049132人目の素数さん
2013/11/14(木) 12:26:28.31
>>48
なるほど
難しいことはわかりませんがどうにもならないということだけはわかりました
別々に保存して並べて貼るぐらいで我慢します
ありがとうございます
0050132人目の素数さん
2013/11/14(木) 12:38:30.96
>>49
厳密に言うと、どうにもならないこともないんだけど、
必要な労力は、その目的にペイしないと思う。

pdf(file="hoge.pdf")
plot(VAR(Canada))
dev.off()
ってして、3ページになっているhoge.pdfをぐりぐりスクロールして見るのはだめなの?
3つをきちんと並べて1枚の図にしなくてはいけないの?
0051132人目の素数さん
2013/11/14(木) 23:29:34.23
文字列”123,456,789.123”を数値に変換するにはどうすれば良いのでしょうか?
一つの場合はカンマを取って変換を行えば良いとわかるのですが、
文字列の数が200あるのといくつかの文字列の小数点の位置が僅かに異なるため、効率よく行う方法が知りたいです。
0052132人目の素数さん
2013/11/14(木) 23:56:07.42
>>51
それ専用の関数を見たことがあるが、どのパッケージだったか覚えていない。
5000パッケージなんて数が増えすぎ。

まぁ、普通に置換すれば良いと思うが。
> a <- "123,456,789.123"
> options(digits = 15)
> as.numeric(gsub(',','',a))
[1] 123456789.123
0053132人目の素数さん
2013/11/15(金) 00:04:31.57
>>52だが、誤解されるかも知れないので、
先回りするが、文字列の数がいくつあろうが、
小数点の位置が異なろうが、>>52の提案はそのまま通用する。
> A <- rep(a, 10)
> A[5] <- paste0(A[5], "4")
> A[6] <- "9.1"
> A
[1] "123,456,789.123" "123,456,789.123" "123,456,789.123" "123,456,789.123"
[5] "123,456,789.1234" "9.1" "123,456,789.123" "123,456,789.123"
[9] "123,456,789.123" "123,456,789.123"
> as.numeric(gsub(",","",A))
[1] 123456789.1230 123456789.1230 123456789.1230 123456789.1230 123456789.1234
[6] 9.1000 123456789.1230 123456789.1230 123456789.1230 123456789.1230
0054132人目の素数さん
2013/11/15(金) 00:54:39.62
>>50
あぁこれは確かに楽でなかなかいい感じだなー
管理するにしてもこっちの方がよさそう
0055132人目の素数さん
2013/11/15(金) 00:55:31.21
>>53
ご丁寧にありがとうございます。
無事できました。
0056◆BvcplLXSGo
2013/11/15(金) 01:55:03.29


○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●
●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○
○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●
●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○
○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●
●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○
○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●
●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○
○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●
●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○
○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●
●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○●○
0058132人目の素数さん
2013/11/18(月) 14:19:17.46
>>57
そんな小中学生みたいな反応は好きにすればよいが、
REXPじゃなくて何でSEXPなんだろうかと疑問に思ったまま幾数年。
0059132人目の素数さん
2013/11/19(火) 23:40:18.38
とあるアプリのC言語のDLLから、Rとデータのやり取りをしたいのですが、
難易度は高いですか?というかできますか?
0060132人目の素数さん
2013/11/20(水) 01:21:25.57
>>59
出来ます。
難易度は人によりますが、
そのような質問をする人には無理だと思います。
0062132人目の素数さん
2013/11/20(水) 14:01:24.55
>>61
やる気があるなら、ヒントを追加。
読むべきドキュメント: ttp://cran.r-project.org/doc/manuals/R-exts.html

手順としては、そのDLLとRを仲介するインターフェイスをCで書く。
その際、>>57 の型を使う。
たぶん、20-50行程度ですむような気がする。
MinGWを含むRtoolsをインストールして、書いたCソースをコンパイル。
Rから、インターフェイスをロードして、使えるかどうかチェック。
デバッグしながら、Cソースを直して、再度チェック、その繰り返し。
0063132人目の素数さん
2013/11/20(水) 23:38:43.40
すみません
tmp <- sample(1:150, 100)

のtmpって何を表してるんですか?
参考書のどこにも説明がなくて困ってます
0064132人目の素数さん
2013/11/21(木) 10:16:15.79
>>63
何を表しているのかという問いに対する答えはRオブジェクトです。
tmpという文字列はRオブジェクトにつける名前で、
ユーザが任意に決めます。
0065132人目の素数さん
2013/11/21(木) 23:52:37.83
>>62
ヒントありがとうございました。MinGWですか、、VC++で無理目だったらMinGWでアタックしてみます。
時間はあるんで、いろいろ勉強していきます。
0067132人目の素数さん
2013/12/10(火) 07:27:48.64
例えば
result <- lm(Sepal.Length ~ ., data=iris)
とでもして、result$coefficientsを取り出したいとき、
result$coe
でも出ちゃうんですが、この補完機能(?)は切れないのでしょうか?
ちょっとスペルが足りなくてもエラーがでないのでいつか問題が起きそうな気が
してしまうのですが、それとも心配しすぎでしょうか
0068132人目の素数さん
2013/12/10(火) 09:41:58.44
>>67
逆に、プログラムの内部で、
result$coefficientsの代わりにresult$coeとコーディングしているものがあれば、
プログラムが動かなくなるけど、そういう副作用はいいの?

一意の場合は省略可能というルールがある限り、そのルールでRが動いているのだから、
それでよいのでは?
0071132人目の素数さん
2013/12/11(水) 10:31:49.73
k-meansクラスタリングで質問があります
クラスタリングベクトルを出した後、その結果を元のデータフレームに結合して
それをもとに条件抽出し該当データフレームを抽出したいのですが、クラスタリングベクトルの数値を条件にすることはできないのでしょうか
たとえば、
SEX HEIGHT WEIGHT
1 F 158 51
2 F 162 55
3 M 177 72
4 M 173 57
5 M 166 64
とあったとき
SEX HEIGHT WEIGHT CLUSTER
1 F 158 51 1
2 F 162 55 2
3 M 177 72 3
4 M 173 57 3
5 M 166 64 2
というように結合してCLUSTERの数値をもとに抽出を行いたいです
0073132人目の素数さん
2013/12/11(水) 16:01:23.35
>>71
> (a <- data.frame(sex=factor(c("F","F","M","M","M")), height=c(158,162,177,173,166), weight=c(51,55,72,57,64)))
sex height weight
1 F 158 51
2 F 162 55
3 M 177 72
4 M 173 57
5 M 166 64
> a$sex <- as.numeric(a$sex)
> cl <- kmeans(as.matrix(a), 3)
> (b <- cbind(a, cluster=cl$cluster))
sex height weight cluster
1 1 158 51 1
2 1 162 55 1
3 2 177 72 2
4 2 173 57 3
5 2 166 64 3

3だけ抽出
> b[b$cluster == 3, ]
sex height weight cluster
4 2 173 57 3
5 2 166 64 3

こういうこと?ちなみに、cbind()で結合する必要はないよ。
0074132人目の素数さん
2013/12/14(土) 16:20:31.15
R使ってる人って分析前のデータ整形もRでやろうとするけど、これって効率的なのか?
整形はExcelでやって、統計解析だけRを使うのは異端なのか?
0075132人目の素数さん
2013/12/14(土) 16:28:21.09
整形は自分で別途バッチを組むな
0077132人目の素数さん
2013/12/14(土) 21:05:34.56
>>74
そんなことはないし、Excelでも何でも使えるなら使えば良いと思う。
でも、世の中のデータはそんな単純なデータばかりじゃない。
0078132人目の素数さん
2013/12/14(土) 23:12:19.65
>>74

RExcelとか使うでしょ。

他にも
「RとRubyによるデータ解析入門」とか
「R&JavaScriptによるデータ解析と視覚化テクニック」
とか言う本が出ているくらいだから、お察し。


ただ、最近は、R使わずに全部Pythonでやっちゃえとかいう Python好きが居て、
それはそれでうっとおしい。
0081132人目の素数さん
2013/12/19(木) 15:45:13.08
平均値の95%の信頼区間の下限値を数値として、取り出したいのだけど。
t.test()だと、T検定の平均値ほかいくつもの結果が表示される。
他のプログラムからRの計算結果(信頼区間の下限値)だけを取り出したいのだが。
良い方法ありますか?
0082132人目の素数さん
2013/12/19(木) 16:11:17.73
>>81
よく分からないな。
信頼区間の下限値を取り出せばよいのでは?
例えば、t.test()はhtestクラスのlistを返す。そのlistにはconf.intという名前の要素があり、
それは数値ベクトル(要素数は2)だ。その1つめの要素が下限。

他のプログラムって何?javaやpythonなど専用のインファーフェイスがあるよ。
探してみれば?
パイプで渡したいなら、パイプで渡せば良い。
パイプで渡すならこんな感じ?
$ Rscript -e 't.test(1:100)$conf.int[1]' |sed 's/¥[.¥]//g'
44.74349
0083132人目の素数さん
2013/12/19(木) 18:57:49.90
$conf.int[2]
をつけて解決しました。
ありがとうございます。

他のプログラムというのは、CのDLLです。Rccpを利用するか悩みどころです。
0084132人目の素数さん
2013/12/19(木) 19:33:06.33
>>83
それ、下限じゃなくて上限では?

> 他のプログラムというのは、CのDLLです。Rccpを利用するか悩みどころです。
またしても意味不明瞭。よく分からないな。
Rの中からCプログラムを呼び出すのか、Cプログラムの中でRを呼び出したいのか。
なぜ、exeじゃなくてdllと言うのか。「CのDLL」という表現ならWindows限定なのか。
Windows限定ならRと通信する方法がもっと別にあるのじゃないだろうか。
0085132人目の素数さん
2013/12/19(木) 23:40:49.36
>それ、下限じゃなくて上限では?
すいません。$conf.int[1]で下限ですね。
>またしても意味不明瞭。よく分からないな。
>Rの中からCプログラムを呼び出すのか、Cプログラムの中でRを呼び出したいのか。
Cプログラムの中でRを呼び出したいです。

これはきちんと説明せねば。少し長くなりますが、、
MT4という為替取引(いわゆるFX)を支援するアプリがあり、
このアプリには自由に取引のアルゴリズムを作れるよう独自のプログラム作成機能があります。
その言語がC言語に似たmqlと呼ばれるものです。
通常は、mqlファイルを専用のコンパイラでコンパイルしてMT4で実行します。
ただ、MT4で実行されるものはメモリや実行速度において弱い部分があり、
その為、MT4に利用できる.dllをC言語などで作成し、dll上でアルゴリズム計算をさせMT4に返す
という方法をとる人もいます。というか自分がそういう状態です。

MT4(mql) → my.dll
記述的にはmqlファイルにmy.dllをimportさせます。

このdllから、Rに対して統計的な計算をさせその結果を得たいと思案して先の質問となりました。
t.test()で表示される内容は解っていたのですが、そこから数値だけをどうすれば返すのか、わからなかったのです。
0086132人目の素数さん
2013/12/19(木) 23:42:24.49
当方は、直接dllからRに対して計算をさせその結果を返す方法を知りません。
どうやら、Rcppを使えば良いかも?というレベルです。
ただし、MT4において、mt4R.dllというフリーのライブラリがあり、それを用いると
簡単な記述でMT4とRを連携させることができます。それは当方も確認済みです。
下のような流れです。
MT4(mql) → mt4R.dll → R
さて、自分は my.dllを作成していますが、mt4R.dllを利用してRを計算するには、
MT4(mql) → my.dll → MT4(mql) → mt4R.dll → R
という手順を踏まないといけません。MT4(mql) ⇔ my.dllとの配列の扱いも実は面倒な仕様があり、できれば
MT4(mql) → my.dll → R
のように直接my.dllからRを呼び出し計算させその答えが得たらいいなと思います。
とりあえず、t.test()から知りたい統計結果だけをとりだせたのでまずは一歩すすみました。
Rcppを持ちいるほかに良い方法があるようでしたら、教えてくだされば幸いです。
0088132人目の素数さん
2013/12/20(金) 00:41:08.46
ttp://cran.r-project.org/doc/manuals/r-release/R-exts.html#Calling-R_002edll-directly
このあたりを読むか、
RCOMのようなものを使うか
ttp://sunsite.univie.ac.at/rcom/
0089132人目の素数さん
2013/12/20(金) 11:49:32.67
ありがとうございます。
よく読んで参考にさせていただきます。
0093132人目の素数さん
2013/12/22(日) 19:47:07.69
すみません、このサイトナノデスの
http://d.hatena.ne.jp/yutakikuchi/20120730/1343605481

kabu_data_close = as.ts( scan( "/home/yuta/work/R/kabu/data/kabu_ar_training_close.txt" ) )
ar_predict_result <- matrix()
arima_predict_result <- matrix()
j <- 1
for( i in 123:136) {
training_kabu_data <- kabu_data_close[1:i]

#ARModel
ar_data_close <- ar( training_kabu_data )
ar_predict_close <- predict( ar_data_close, n.ahead = 1 )

#ARIMAModel
arima_data_close <- arima( training_kabu_data, order=c(1,0,1) )
arima_predict_close <- predict( arima_data_close, n.ahead = i )

ar_predict_result[j] <- ar_predict_close$pred[1]
arima_predict_result[j] <- arima_predict_close$pred[1]

j <- j+1
}

scanでよみこんだtxtはデータの数が123こあります。なのにfor文は123:136で
<- kabu_data_close[1:i]となっています。123以降はkabu_data_closeには入ってないのではないのでしょうか??


というか違うデータでですがError in na.fail.default(as.ts(x)) : missing values in object
とでます
0094132人目の素数さん
2013/12/22(日) 21:29:08.90
>>93
エスパー募集ですか?
さすがに、kabu_data_closeの構造を秘密にされたら答えようがない。
str()ぐらい示そうよ

ちなみに、
> hoge <- as.ts(1:100)
> str(hoge)
Time-Series [1:100] from 1 to 100: 1 2 3 4 5 6 7 8 9 10 ...
> hoge[101:110]
[1] NA NA NA NA NA NA NA NA NA NA
という仕様。
0095132人目の素数さん
2013/12/22(日) 23:07:53.72
>>94
返信ありがとうございます。
>>93のkabu_data_closeとは違いますが

> kabu_data_close = as.ts( scan( "C:/Users/root/Documents/kabu_ar_training_close.txt" ) )
Read 120 items
> ar_predict_result <- matrix()
> arima_predict_result <- matrix()
> j <- 1
> for( i in 120:133) {
+
+ training_kabu_data <- kabu_data_close[1:i]
以下同文

Error in na.fail.default(as.ts(x)) : missing values in object

> str(kabu_data_close)
Time-Series [1:120] from 1 to 120: 10688 10599 10508 10579 10653 ...

とでます
009693
2013/12/23(月) 00:09:31.23
>>93のサイトのままなのでコードはかえないでいいはずなのですが
したいことは一回一回学習して予測することです。

+  j <- j+1
kabu_data_close[i+1]<-ar_predict_result[j]

}
を加えてみましたが
Error in `[<-.ts`(`*tmp*`, i, value = NA_real_) :
only replacement of elements is allowed
とでます。
009793
2013/12/23(月) 01:17:20.89
すみません。解決しましたmm;;
サイトのコメント欄に同じ質問がありました。。。
0098132人目の素数さん
2013/12/23(月) 07:48:48.61
>>97

そういうときは、どういう風に解決したかをまとめて、ここにも貼るものでしょ!
0099132人目の素数さん
2013/12/23(月) 08:53:02.60
普通は回帰係数を求める時っていろんな説明変数を試すものなのに、
株価予測は株価だけしか使わないのが当たり前になってるのが不思議。
010093
2013/12/23(月) 09:00:50.98
>>98
普通にfor文の136までのデータを使ってるようでした;;
技術的な問題じゃないので申し訳ないのですが

予測するデータは2012年7月以降、学習データは2012-01-04〜予測の前日
このサイトの流れから予測の前日というのが7月の前日まで
と勘違いしていました。;
0101132人目の素数さん
2013/12/23(月) 09:37:21.10
自分には何を言ってるのか分からんが、本人が分かったならそれでいいのでは?
0102132人目の素数さん
2013/12/23(月) 10:59:31.69
>>101
scan()するデータがそもそも間違っていたのに、
思い込みが原因で混乱していましたってことだろ(違うかもしれんが)。
最小のサンプルデータも提示せず、まさしく「エスパー募集」だったてことだ。
0103132人目の素数さん
2013/12/23(月) 12:14:20.03
Error in arima(training_kabu_data, order = c(1, 0, 1)) :
non-stationary AR part from CSS
In addition: Warning messages:
1: In arima(training_kabu_data, order = c(1, 0, 1)) :
possible convergence problem: optim gave code = 1
2: In arima(training_kabu_data, order = c(1, 0, 1)) :
possible convergence problem: optim gave code = 1
3: In arima(training_kabu_data, order = c(1, 0, 1)) :
possible convergence problem: optim gave code = 1
すみません。このエラーってどうゆう意味でしょうか;;
0104132人目の素数さん
2014/01/07(火) 14:10:27.54
Rを用いたパネル分析(ランダム効果モデル)におけるエラーについて
Rを用いて、パネル分析を行ったのですが、
「 以下にエラー swar(object, data, effect) :
the estimated variance of the individual effect is negative」
というエラーが出てきます。

どのような対処を行えば、エラーを解消することが可能でしょうか。
0105132人目の素数さん
2014/01/07(火) 14:47:31.73
>>104
エスパー募集ですか?
負の分散が生じるということはデータに問題があり、解決策はない気がしますが、
あなたが書いた式にケアレスミスがあることが原因である場合は、
エスパーでもない限り、読み手には分かりません。

再現できる最小のサンプルデータセットと、サンプルコードを示せば、
誰かがあなたの間違いを指摘してくれるかも知れません。
まずは、データを半分、そのまた半分と削って、エラーの再現を確認してはどうですか。
0106132人目の素数さん
2014/01/11(土) 13:25:36.74
すみません、Mac OS X Mavericksで、R3.0.2をつかっているのですが、起動すると下記のような警告メッセージが表示されるようになってしまいましたが、意味がよくわかりません・゜・(ノД`;)・゜・
何がおきているのでしょうか・・・

During startup - Warning messages:
1: Setting LC_CTYPE failed, using "C"
2: Setting LC_COLLATE failed, using "C"
3: Setting LC_TIME failed, using "C"
4: Setting LC_MESSAGES failed, using "C"
5: Setting LC_MONETARY failed, using "C"
[R.app GUI 1.62 (6558) x86_64-apple-darwin10.8.0]

WARNING: You're using a non-UTF8 locale, therefore only ASCII characters will work.
Please read R for Mac OS X FAQ (see Help) section 9 and adjust your system preferences accordingly.
[Workspace restored from /Users/ユーザ名/Documents/R/R_Working/.RData]
[History restored from /Users/ユーザ名/Documents/R/R_Working/.Rapp.history]

2014-01-11 13:20:07.129 R[1292:707] Can't open input server /Users/ユーザ名/Library/InputManagers/SafariStand5.1.182
0107132人目の素数さん
2014/01/11(土) 13:39:16.70
きもい
0108132人目の素数さん
2014/01/11(土) 13:55:39.23
>>106
意味も何も、読んだそのままの意味だと思うけど。
ローケルがCなら、日本語を使っちゃダメだよ。
ターミナルでRと打ち込んでRを起動させたら何か変化がある?
0109106
2014/01/11(土) 14:30:33.12
>>108
言語の問題だったですか・・・
最近、Macの言語環境を英語⇔日本語で何回か切り替えたのですがそれがいけなかったんでしょうか(ふだんは英語環境)

とりあえずあとでlocaleというのの設定をやってみます(localeという言葉をそもそも知らず、localかと思いました)

ターミナルから起動したら、とくに警告は表示されなかったです
0110132人目の素数さん
2014/01/12(日) 12:58:03.91
[1]1 2 3 4 5 6 7
[2]8 9 10

1
2
3
4
5
6
7
8
9
10

と表示させるにはどうせたらよいでしょうか
0111110
2014/01/12(日) 13:58:14.10
すんません、解決しました
0112132人目の素数さん
2014/01/12(日) 14:05:21.37
おお、ちょうどレスしようと思ったのに
> a<-1:7
> b<-8:10
> c<-c(a,b)
> c.df<-as.data.frame(c)
> c.df

一応どうやって解決したかも書いてほしいな
0113132人目の素数さん
2014/01/12(日) 19:39:44.30
ans<-lm(ch1~.,data)
ans2<-stepAIC(ans)
(略)
Step: AIC=6680.92
ans3<-lm(ch2~.,data)
ans4<-stepAIC(ans3)
   (略) 
Step: AIC=6260.8

(略)

ans47<-lm(ch24~.,data)
ans48<-stepAIC(47)
(略)
Step: AIC=8953.5

この出力されたAICの値(計24個)の値を比較して一番値が低いAICを表示したいです。
できる人いましたらやり方教えて下さい。
0114132人目の素数さん
2014/01/12(日) 21:27:42.56
データフレームで、各行のすべての列の値を合計した列をつくることってできますか?
たとえば列が1月、2月、3月、、、ってなってて最後に年間計の列をつくりたいとか。
列を1個1個ベクトルで取り出して合計してからデータフレームに入れないとダメ?
0116132人目の素数さん
2014/01/12(日) 22:09:11.87
こうスレをみると、データフレームの勉強はした方が良さそうだな。
Rで統計計算ができるよお。だけじゃなくて、どうやってデータを揃えるかとかが大事になってくるなあ。
0117132人目の素数さん
2014/01/13(月) 00:19:12.09
>>115
ありがとうございます。
そうでした、applyだった・・・
R-Tipsを読み直しました。

>>116
初心者なんですが、基本の操作を早く覚えたいです・・・
0118132人目の素数さん
2014/01/13(月) 11:04:58.62
列名称やベクトルの名称などの、数字ではない情報を、for文などによって繰り返しで大量に生成することってできますでしょうか?
たとえば、"V1"という名称のベクトルから"V100"という名称のベクトルを、何らかの規則(たとえば1〜99までの奇数の列を1倍したベクトル、2倍したベクトル、3倍したベクトル……など)

ようは、規則にしたがって名前をたくさんつけるという操作が可能なのかどうかを知りたいです
0119132人目の素数さん
2014/01/13(月) 11:05:58.75
途中が消えてましたm(_ _)m

列名称やベクトルの名称などの、数字ではない情報を、for文などによって繰り返しで大量に生成することってできますでしょうか?
たとえば、"V1"という名称のベクトルから"V100"という名称のベクトルを、何らかの規則(たとえば1〜99までの奇数の列を1倍したベクトル、2倍したベクトル、3倍したベクトル……など) に従って生成したい場合などです

ようは、規則にしたがって名前をたくさんつけるという操作が可能なのかどうかを知りたいです
0121132人目の素数さん
2014/01/13(月) 16:12:10.53
マニュアル読む気ゼロな奴が住み着いたな
0123132人目の素数さん
2014/01/15(水) 03:09:36.46
&amp;&amp; || をにデータフレームの条件に使ってもエラー出ないのえぐくない?
ifの癖で間違っちゃうのだが。
0124132人目の素数さん
2014/01/15(水) 03:10:17.66
あれっ?なんか文字化けみたいになったw
0125132人目の素数さん
2014/01/15(水) 13:59:16.86
質問があります
A B
10 0.6
20 1.7
30 6.9
2.5 0.3
15 5.7
30 6.9
11 0.1
38 3.2
45 4.8
70 6.8
というようなデータフレームがあるのですが
Bは0<B<7の範囲をとる数字になっていていくつもの昇順データの連結物になっています
これをBの値が大きいものから小さいものに変わったときで切ってデータフレームを新しく切り出したいのですがどうしたらいいでしょうか
0126132人目の素数さん
2014/01/15(水) 20:22:02.46
>>113
traceの最後に出てくるAICはextractAIC()で取出せるから、
ans2, ans4, ..., ans48をリストにして、
sapply(selectedModelList, extractAIC)して、sort()

>>125
グループ化すれば
grp <- 1
for(i in 2:nrow(data)-1){
if(data$B[i] < data$B[i+1]) grp <- c(grp, grp[i])
else grp <- c(grp, grp[i]+1)
}
0127132人目の素数さん
2014/01/15(水) 21:33:41.22
psychというパッケージをつかってるんですが、たとえばfa()関数で因子分析をやったときに、その結果を全部まとめてcsvに出すことってできないんでしょうか?
因子パタンだけを
write.csv(分析結果$loadings, "分析結果.csv", quote=F)
とかやることはできるのですが、一式全部出力できないもんかと……
0128132人目の素数さん
2014/01/17(金) 01:55:48.44
行列でできなくてデータフレームだとできることって何があるの?
0129132人目の素数さん
2014/01/17(金) 10:39:00.75
>>127
>一式全部
多義的な表現なので、全部とは具体的にどのことかきちんと説明しないと、
期待する助言は得られないよ。Rオブジェクトとそのものなのか、
printメソッドなのか、summaryメソッドなのか、strか?
0130132人目の素数さん
2014/01/17(金) 10:45:33.92
>>125
ずばっとやる方法は思いつかないなぁ。
B[i] > B[i+1]が成立したときのiを取り出して、
そこで切るとか。
0131130
2014/01/17(金) 10:48:05.50
>>126 がすでに答えていたorz
なるほどね。グループ番号を付与するか、
思いつかなかった。
0132132人目の素数さん
2014/01/17(金) 18:02:57.01
>>126
for文じゃなくてベクトルで一括処理するなら、
grp <- cumsum(c(F, diff(data$B)<0)) かな。
0134132人目の素数さん
2014/01/17(金) 20:16:05.94
>>132
すげー、天才だ!
こんなのが思いつくなって人間じゃない、イカれている
0135132人目の素数さん
2014/01/18(土) 17:02:01.35
.Rprofileって、ワーキングディレクトリに置いておけばいいのでしょうか?
分析ごとにワーキングディレクトリをかえようと思っている場合、.Rprofileをコピーしてそれぞれのディレクトリにいれて、setwd()すればいいだけでしょうか?
Rを立ち上げているとき、どの.Rprofileが読み込まれて作動しているのか確認する方法が分からず・・・

どなたかアドバイスおねがいします
0136132人目の素数さん
2014/01/18(土) 17:45:25.40
>>135
> どの.Rprofileが読み込まれて作動しているのか確認する方法

$ cat .Rprofile
Rprofile.version <- "1.0"

として、Rを起動してみると、
> ls()
[1] "Rprofile.version"
と.Rprofileが読み込まれている。
中身はもちろん
> Rprofile.version
[1] "1.0"
となる。つまり、識別のためのRオブジェクトを個別に.Rprofileに書いておけば、
区別はつく。
0137132人目の素数さん
2014/01/18(土) 17:57:56.34
>>135
> .Rprofileって、ワーキングディレクトリに置いておけばいい
はい。ただし、起動時のカレントディレクトリとワーキングディレクトリが異なる場合は駄目。

?Rprofile
?Rprof
あたりは読もう。
0138132人目の素数さん
2014/01/18(土) 18:24:59.19
>>136
なるほどたしかに!
ありがとうございます。

.Profileの置き場は、起動時の初期ワーキングディレクトリにおいてあるものが読み込まれるみたいなので、
preference > start upの画面で設定したディレクトリに置いとくしかないことも分かりました。
0140132人目の素数さん
2014/01/18(土) 19:53:17.68
>>138
Rを起動する流儀はひとそれぞれだけど、
csvファイルなどデータをおいたワーキングディレクトリに移動して、
csvファイルの中身や、その他のファイルの確認をしてから、
そこで(そのディレクトリで)Rを起動すると、
起動時のカレントディレクトリとワーキングディレクトリは同一になる。
つまり、ワーキングディレクトリに移動してからRを起動した方がいろいろと都合がよいし、
私はRを使い始めて10年来、このようにRを起動している。

どのディレクトリでRを起動しても、あなたの自由だよ。
0141132人目の素数さん
2014/01/18(土) 19:56:04.16
>>140の追記。
ワーキングディレクトリに移動してからRを起動すると、
そのときにワーキングディレクトリに置かれた.Rprofileを読み込む。
だから、それぞれのワーキングディレクトリにそれぞれの.Rprofileを置くのは正解。
0142132人目の素数さん
2014/01/18(土) 23:17:37.61
レベルの低いお話で恐縮です。
Rでは推測統計などで利用をしていましたが。プログラム的なものを作りたいと思うのですがちょっと歯が立たないです。
きっかかりを付けたいと思います。以下のような内容をスクリプトで書くと、どうなるかご提示いただけますでしょうか。

5*10の行列(一般的な意味)を用意して、これを"matA"とします。
//2行4列の場所をmatA[2][4]とします。

rowA = 3 colA = 5 coubA = 0.3 をmatAに入力します。
//上の式の意味はmatA[3][5]に0.3を配置します。という意味です。

以下同じように
rowA = 2 colA = 7 coubA = -0.3 をmatAに入力します。
rowA = 1 colA = 4 coubA = 0 をmatAに入力します。
rowA = 3 colA = 5 coubA = 0.4 をmatAに追加します。※
rowA = 1 colA = 4 coubA = 0.3 をmatAに追加します。※

//追加されたデータは元のデータ上に重ねていく3次元のイメージです。追加されるデータは、今後も増えていきます。
matA[2][7]を参照する。→ (-0.3) が返ってくる。(-0.3 0) が返ってくるのはNG
matA[3][5]を参照する。→ (0.3 0.4) が返ってくる。
matA[1][2]を参照する。→ 何も返さないか。(NA)が返ってくる。(0)や(0 0)が返ってくるのはNG

以上、お時間のある方、ぜひご教授くださいませ。
0143132人目の素数さん
2014/01/19(日) 01:07:18.05
>>140
ありがとうございます
移動ってのは、ターミナルで操作されてるということでしょうか
0144132人目の素数さん
2014/01/19(日) 01:34:21.33
>>142
arrayを使うのはどう?
簡単のために、重ねの最大が2つまでとして、
> matA <- array(NA, c(5, 10, 2))
> matA[3, 5, 1] <- 0.3; matA[2, 7, 1] <- -0.3; matA[1, 4, 1] <- 0;
> matA[3, 5, 2] <- 0.4; matA[1, 4, 2] <- 0.3
> matA[2, 7, ]
[1] -0.3 NA
> matA[3, 5, ]
[1] 0.3 0.4
> matA[1, 2, ]
[1] NA NA

NAがいやなら、na.exclude()でも使えばいい。
matA[3, 5, i]がNAでないなら、matA[3, 5, i + 1]に代入するような条件分岐で一般化すればいい。
別アプローチとしては、要素がlistの行列を作るという手もある。
0146132人目の素数さん
2014/01/19(日) 11:02:43.98
>>144さん>>145さん ありがとうございました。スルーされるかと思ってた。

>>145さん。matrix 使うべきなのか array を使うべきなのか list なのか。
まだよく分かっていないのが正直なところです。

>>144さん スクリプト作成。ありがとうございます。
リストを使うのは難しくなりますでしょうか?
イメージとしては5*10の行列の碁盤の上に、個々のベクトルが上に育っていくような。
わかりずらいですね、、。
追加されていく要素は、今後も増えていく予定です。
重ねの数を初期値で決めずに、追加される要素によって個々に増えていくという設定は難しい
でしょうか。
0147132人目の素数さん
2014/01/19(日) 14:17:08.53
>>146
リストがお好みなら
> dat <- data.frame(rowA=c(3, 2, 1, 3, 1), colA=c(5, 7, 4, 5, 4), coubA=c(0.3, -0.3, 0, 0.4, 0.3)) #1
> dat2 <- dat[dat$coubA!=0] #2
> matA <- lapply(1:5, function(i) lapply(1:10, function(j) NULL))
> for(i in 1:nrow(dat2)) {
+ v <- dat2[i,]
+ matA[[v$rowA]][[v$colA]] <- c(matA[[v$rowA]][[v$colA]], v$coubA)
+ }
> matA[[2]][[7]]
[1] -0.3
> matA[[3]][[5]]
[1] 0.3 0.4
> matA[[1]][[2]]
NULL

#1 データはデータフレームが分かり易いかと思ってそうしたけど、ベクタでもマトリクスでも
#2 先にcoubA==0を除いたけど後から条件分岐でも良い。
#3 どうも俺が書くと美しくない...( ´・ω・`)
0148132人目の素数さん
2014/01/19(日) 16:01:58.81
>>145
ダメに決まってるじゃん。
質問者の要件を良く読めよ。

146 > 重ねの数を初期値で決めずに、追加される要素によって個々に増えていくという設定
どうしても初期値があるとダメなら、
144 > 要素がlistの行列を作るという手
なんだけど(または >>147さんの方法)、
10000とか10000000000000000とか十分に大きな値を初期値に出来ないの?

>>143
はいそうです。実際には、Emacsの中でRを起動する訳だけど、
ターミナルというか、シェルから起動するのと概念的に同じです。
ソフトウェアの起動には2つに大別できて、
(1) ランチャーメニューから起動→ファイルを読み込む
(2) ファイルのあるディレクトリまで移動してファイルを開く=ソフトを起動する
あなたは(1)の方法でRを起動し、私は(2)の方法で起動するという違い。
(2)の場合は、シェルの中で移動するわけだけど、
OS XやLinuxのシェルはbashだったり、WindowsのシェルだとExplorerだったり。
bashを使うにはターミナルが必要。
0149132人目の素数さん
2014/01/19(日) 20:40:17.23
>>147
ありがとうございます。いただいたスクリプトを吟味させていただきます。
これだけ作っていただけたら、リファレンス本を元に解読して理解できるようになると思います。

ついで、、読み飛ばしてかまいません。
自分の環境では以下の行で
dat2 <- dat[dat$coubA!=0]
次のエラーが発生してそれ以降の行で実行不可になってしまったのですが、
underfined colums selected
何かの理由があるか、自分の基本的なところの無知なんでしょうね。

>>148
フォローありがとうございます。
>10000とか10000000000000000とか十分に大きな値を初期値に出来ないの?
最終的には、10000件もの行列の要素の上にデータを重ねようと思っています。
Rがどのようにメモリを扱っているかわかりませんが、初期値によってメモリを確保する
のであれば避けておきたいと思っています。
0150132人目の素数さん
2014/01/19(日) 21:25:30.81
>>149
すんません。コピペの後ごにょごにょしてたらカンマを落としたようです。
dat2 <- dat[dat$coubA!=0,]
0152132人目の素数さん
2014/01/22(水) 01:01:42.23
>>147
ありがとうございます。
いろいろ検証させていただいています。
もう完璧ですね。Rに慣れていないから、と思っていたけど。
Rに慣れてもこのようなコード書けるかは自信がありません。

でもありがとうございました。
0156132人目の素数さん
2014/01/23(木) 21:36:08.80
本買って読み始めたんだけど、

scores <- data.frame()
scores <- edit(scores)

で、いきなりR落ちた。
0157132人目の素数さん
2014/01/23(木) 23:55:51.45
すいません先の>>147のスクリプトの下の文なのですが1行で表すことは可能でしょうか。
あるアプリから、この文をRに渡したいのですが。1構文1行じゃないといけないらしくて。
単純に改行を削るだけではRでエラーを返してしまいます。

> for(i in 1:nrow(dat2)) {
+ v <- dat2[i,]
+ matA[[v$rowA]][[v$colA]] <- c(matA[[v$rowA]][[v$colA]], v$coubA)
+ }
0158132人目の素数さん
2014/01/24(金) 00:11:54.52
>>157
よく分からないけど、1行なら
for(i in 1:nrow(dat2)){v <- dat2[i,]; matA[[v$rowA]][[v$colA]] <- c(matA[[v$rowA]][[v$colA]], v$coubA)}
だけど
0159132人目の素数さん
2014/01/24(金) 01:15:10.35
>>158
セミコロンが構文の区切りなのですね。
うまく動きました。ありがとうございました。
0161132人目の素数さん
2014/01/25(土) 00:04:22.24
分割表からロジスチック回帰で使うようなデータフレームを作成する方法ってありますか?
0164132人目の素数さん
2014/01/25(土) 15:34:42.28
>>163
>>161本人か?
本人なら、分かるように質問し直せよ。
それとも、あんたは、
1. 先日拾った木材から寝室で使うような家具を作成する方法はありますか?
2. 朝摘みした野菜から夕食に出せるような食事を作成する方法はありますか?
3. 数字を使って数学のテストに出題するような問題を作成する方法ありますか?
という質問に対して、質問者が期待する回答を与えられるのか?
0165132人目の素数さん
2014/01/25(土) 16:42:32.84
初心者には初心者に分かりやすく説明すればいいんだよ
お前は単に偉そうに説教したいだけだろ
2ちゃんでやっすい承認要求みたしておめでたい奴だなw
0166132人目の素数さん
2014/01/25(土) 17:11:47.96
こういう毎日張りつくようなものでもないスレでカリカリしてるやつは見なきゃいいと思うんだけど
説明したいやつが説明するだろうし
0167132人目の素数さん
2014/01/25(土) 17:31:43.37
>>165
はぁ?じゃあ、あなたは何故>>161 に答えてあげないのですか?
オナニー質問には答えようがないからでしょう?違いますか?
違うなら、あなたが助言してあげて下さい。
自分しか理解できないオナニー質問をするかしないかは、
質問者が初心者かどうかとは独立です。
0168161
2014/01/25(土) 22:30:46.52
不完全な質問をして申し訳ありませんでした

その後Titanicのデータとepitoolsでなんとか理解することが出来ました.
カウントデータにNA が含まれていたため,分割表から個体ベースのデータフレームに出来ないことが判明しました..

お騒がせして申し訳ありませんでした
0169132人目の素数さん
2014/01/25(土) 23:26:11.74
>>168
>>163>>161じゃなかったのなら非言申し訳ない。>>165が助言する様子はないので簡単に。
Rのglm()で指定するデータフレームは、必ずしも行が症例(個人)になっている必要はない。
条件ごとにカウントしたデータフレーム(たぶん、あなたが言う分割表)のデータフレームを用いる。
例えば、
> d <- data.frame(gender=rep(c("Male","Female"),c(6,6)),
+ dept=rep(LETTERS[1:6],2),
+ yes=c(512,353,120,138,53,22,89,17,202,131,94,24),
+ no=c(313,207,205,279,138,351,19,8,391,244,299,317))
> d
gender dept yes no
1 Male A 512 313
2 Male B 353 207
[snip]
11 Female E 94 299
12 Female F 24 317
という集計したデータフレームがあったとして、ロジスティックモデルを当てはめるには
下記のようにすればOK
> m <- glm(cbind(yes,no) ~ gender * dept, family = binomial(logit), data = d)
したがって、実験研究でよくあるカテゴリカルの場合は「個体ベースのデータフレーム」を用意する必要はない。
0170132人目の素数さん
2014/01/26(日) 00:26:27.29
データが多くなると、DBの利用を考えたくなりますが、
お勧めありますか。SQLiteを使っている人が多い気がしますが。
0173132人目の素数さん
2014/01/27(月) 22:44:56.77
//質問させてください。
matB <- array(dim=c(5,10,2))
matB[3,5,1]<-0.3
matB[2,7,1]<--0.3
matB[1,4,1]<-0
matB[5,4,2]<-2.5

//という3次元の配列があるとします。
//数値要素以外はNAです。

//ここから3次元目の1つ目の表の最大値を取り出したいです。
//期待する値は0.3となります。
//apply(na.omit(matB),3,max)[1]など、いろいろ考えてみましたが
//違うようです。
//どのように表記すればよいか教えてください。
0176132人目の素数さん
2014/01/28(火) 10:13:11.86
>>175
まぁ、これは初心者がはまりやすいポイントだからね。

> max(c(3, NA, 3, 3, 3))
[1] NA
> max(c(3, NA, 3, 3, 3), na.rm = TRUE)
[1] 3
0177132人目の素数さん
2014/01/28(火) 18:02:47.69
>>176さん。ありがとうございます。
//>すいません、また質問させてください。
matB <- array(dim=c(5,10,2))
matB[3,5,1]<-0.1
matB[2,7,1]<-0.3
matB[1,4,1]<-0.3

//上のような3次元の配列があります。3次元目の一つ目の表には値が含まれていますが、
//二つ目の表は値が含まれておりません。

//3次元の各表に対して、値が入っているか値が入っていないかを知りたいと思います。
length(na.omit(matB[,,1]))
length(na.omit(matB[,,2]))
//では駄目でした。
//期待とする値は、入っているか入っていないかのブール値でも、
//入っている要素数の数(全部の要素がNAならば0)でも構いません。
//どうぞよろしくお願いします。
0178132人目の素数さん
2014/01/28(火) 18:30:56.14
>>177
何か、このスレ、オレしか答えいない。

> for(i in seq_len(dim(matB)[3])){print(ifelse(sum(! is.na(matB[,,i])) == 0, "空でーす", "入っています"))}
[1] "入っています"
[1] "空でーす"

上記はmatB[,,1]は「入っています」、matB[,,2]は「空でーす」という意味。
forが嫌いなら、sapplyでも。

オナニー質問じゃない限りなるべく答えるけど、関数の意味は自分で調べてね。
0179132人目の素数さん
2014/01/28(火) 20:19:43.46
>>178さん
同じ人でしたか。恐縮です。
もちろん関数の意味は、自分で調べます。
本当にありがとうございました。
0180132人目の素数さん
2014/01/30(木) 14:41:21.33
//質問いたします。
matB <- array(dim=c(5,10,2))
matB[3,5,1]<-0.3
matB[2,7,1]<--0.3
matB[1,4,1]<-0
matB[5,4,2]<-2.5
maxvol<-max(matB[,,1], na.rm=TRUE)
maxvecB<-which(matB == maxvol)
lenrowB<-length(matB[,1,1])
if(maxvecB%%lenrowB==0){rowB <- lenrowB;colB <- maxvecB%/%lenrowB}else {rowB <- maxvecB%%lenrowB; colB <- maxvecB%/%lenrowB+1}

//上記は3次元の配列のうち3次元目の一枚目の表から、最大値を求め
//その要素の行値、列値を求めるスクリプトです。以下のように返ってきます。
> rowB
[1] 3
> colB
[1] 5

//わざわざ、maxvecBの要素番号を列の総数で割り、その剰余を利用して答えをだしています。
//たまたま、maxvecBの要素番号が列順に振られているのでうまくいきましたが、行順に振られていたら
//誤った値が返ってくるかと思います。
//もうすこし、シンプルな書き方があるような気がしてなりません。
//修正できるとこがありましたら教えていただきたいと思います。
//よろしくお願いします。
0181132人目の素数さん
2014/01/30(木) 15:30:36.11
>>180
> シンプルな書き方
まぁ、そうだね。
> arrayInd(which.max(matB[,,1]), dim(matB))
[,1] [,2] [,3]
[1,] 3 5 1
とか。この位置の値を確認したければ、
> matB[arrayInd(which.max(matB[,,1]), dim(matB))]
[1] 0.3

関数の意味は自分で調べてね。
0182132人目の素数さん
2014/01/30(木) 17:38:18.56
ありがとうございます。いつもの同じ方でしょうか。
自分のが恥ずかしいぐらいシンプルです。
こうかけるようになれたらいいなあ。
ありがとうございました。
0184132人目の素数さん
2014/01/31(金) 20:29:09.26
rpubs.com って自分でホスティングするのは無理?
0185132人目の素数さん
2014/02/02(日) 21:38:49.85
最近,emacsのorg-modeのorg-babelを使って,Rの解析結果をhtmlにexportした
レポートもどきを作成して,同僚に渡すようにしてる.やってることの解説と
code blockを交互に書くことで,同僚の理解も容易になって喜んでるんだけど,
問題は,code blockの数だけReturnを押さないといけないこと.5個や10個の
code blockなら良いけど,100個以上になると指がつりそうになる.全部を一気
に実行する方法を誰か知ってますか? スレ違いならゴメン.
0186sage
2014/02/02(日) 22:53:46.35
>>185l
knitrはemacsもサポートしてるみたいだけど
0187132人目の素数さん
2014/02/02(日) 23:02:48.81
グラフィックに続いておらいリーからまた本でたね。何でも載ってそうなんで、まよってるんだけど誰か買ったかな?
0188132人目の素数さん
2014/02/03(月) 00:02:22.42
knitrは使ったことないんだけど,code blockを一気に処理できるの?
0189132人目の素数さん
2014/02/03(月) 18:19:44.13
どなたか条件を指定して3次元プロットをする方法を教えていただきないでしょうか?
以下のデータを3Dプロットしようとする時、modernの値が3の場合赤、2の場合白、1の場合黄色とし、x軸はLの値、y軸はAの値、z軸はBの値としたいです。
L A B modern
1 48 54 32 3
2 21 32 15 2
3 87 2 78 2
4 45 102 12 3
5 54 91 31 2
6 7 21 81 3
7 87 64 12 1
0190132人目の素数さん
2014/02/03(月) 18:47:25.02
>>189
3次元プロット自体はできるよね。
色分けは、例えばscatterplot3d()を使うなら、colorに色名のベクタを与えればよいだけ。
> modern <- c(3, 2, 2 ,3, 2, 3, 1)
なら、
> cols <- c("yellow", "white", "red")
> cols[modern]
[1] "red" "white" "white" "red" "white" "red" "yellow"
とすれば、色名のベクタが出来る
0191132人目の素数さん
2014/02/03(月) 19:08:02.33
>>190
ありがとうございます。
3次元プロットは出来ます。
それぞれのデータ数が130ほどあるのですがこれも同じような形で解くのがよろしいのでしょうか?
質問ばかりしてしまい申し訳ないです。
0193132人目の素数さん
2014/02/03(月) 22:32:09.24
> knitrは使ったことないんだけど,code blockを一気に処理できるの?

自己レスです.ox-ravel.elというのを使えば,org-modeからknitrを使えるこ
とが分かった.ttps://github.com/chasberry/orgmode-accessories
こいつでorg-modeからRhtmlを作って,それをRstudioにcompileさせるという流
れだな.複数のcode blockも一気に処理できるようだし,二度手間だけど100回
以上Return押すよりはマシなので,この方式に乗換を試してみる.初めて
knitr使ったけど,綺麗なhtmlできるのな.Rstudioちょっと見なおした.
> 186
ポイント,さんきゅ
0194132人目の素数さん
2014/02/04(火) 00:04:08.66
真鍋●度は数学科だったんだな〜
0195132人目の素数さん
2014/02/05(水) 16:42:31.84
質問させてください
Basis splineで描画したグラフの任意の数値のy軸を求めることはできませんか?(下記Basis splineのドキュメント)
ttp://stat.ethz.ch/R-manual/R-patched/library/splines/html/bs.html
通常のspline補間では下記のサイトのようにやればpredictでx軸の数を指定すれば取得できたのですが
ttp://d.hatena.ne.jp/hoxo_m/20110408/p1
Basis splineでの取得方法はないでしょうか
通常のspline補間のように指定したxの数を入力するとyを返してくれる方法が分かりません
0197132人目の素数さん
2014/02/05(水) 22:57:41.23
質問があります。
環境はWindows7 32bitで、R3.0.1です。
RからC++のコードを呼びたいのですが、うまくいかないという話です。
C/C++コンパイラは、MinGW 4.8.1を入れて、RもMinGWも単体では問題無く動いています。

とりあえず、
--------------------
#include <vector>

extern "C" void test(double* a) {
std::vector<std::vector<double> > x(5);
}
--------------------
という何もしないファイルを、test.cppとして作って、Rcmd.exe SHLIB test.cppでコンパイルして、
さらに、Rから、
dyn.load("test.dll")
.C("test", arg1=as.double(c(1,2,3)))
dyn.unload("test.dll")
とかすると、問題無く実行できます。
(まあ何もしないですが。)

続きます。
0198197
2014/02/05(水) 22:58:34.64
続きです。

でも、上のtest.cppを
--------------------
#include <vector>

extern "C" void test(double* a) {
std::vector<std::vector<double> > x(5);
std::vector<double> y(5);
}
--------------------
と変えてコンパイルして、Rから
dyn.load("test.dll")
dyn.unload("test.dll")
と実行すると、dyn.unloadのところでR毎エラーで止まってしまいます。
エラーメッセージは
Microsoft Visual C++ Runtime Library
This application has requested the Runtime to terminate it in an
unusual way.
Please contact the application's support tem for more information.
となぜか英語で出てきます。
メモリ管理周りが怪しい気がしますが、そもそも.Cでコードを実行していなくて、dllを
ロードしてアンロードしただけでエラーが出るのもわかりません。
だれが原因がわかるかたいませんか?
0199132人目の素数さん
2014/02/06(木) 09:50:21.68
>>197
C++を使ったことがないので、
あまり価値のない情報だと思うが、
R 3.0.2 on Ubuntu 13.10で追試したところ、
x(5)のみのソースも、y(5)の行を足したソースも、
どちらも、エラーなし。
> dyn.load("test.so")
> .C("test", arg1=as.double(c(1,2,3)))
$arg1
[1] 1 2 3

> dyn.unload("test.so")
>
0200132人目の素数さん
2014/02/06(木) 22:02:51.67
質問させてください
「data」+通し番号で150個存在するデータフレームがあるのですが
データを整形加工していくうちにデータ長が0になってしまったデータフレームをデータ長が1以上残っているものでリネームして通し番号を詰めていきたいのですが
地道に調べてやっていくしかないでしょうか
具体的には
data002がnrow(data002)=0の時、次にnrowでデータ長を調べて0じゃないものがdata003の時
nrow(data003)>0の時data002<-data003
data004とdata005のデータ長が0でdata006が0じゃないときはdata004<-data006といった具合に
のように代入して詰めたいです
0201132人目の素数さん
2014/02/07(金) 10:25:41.62
>>200
自分なら次のようにします。
操作が面倒なので、150個のデータフレームを1つのリストオブジェクトにぶち込んで、
nrow()で判定して、削除。次に、連番を振りながら、個々のデータフレームを出力。
これで少なくとも見かけ上は「番号を詰めた」状態になります。

> a <- list(data002 = data.frame(x=1:10), data003 = data.frame(), data004 = data.frame(x=1:10))
簡単のために3つのデータフレームからなるリストで説明すると、
リストaの2番目の要素であるデータフレームの行が空になった状態。

> i <- sapply(a, function(x){nrow(x) != 0})
> a.truncated <- a[i]

これで、nrow()が0のデータフレームが削除されたリストができる。
Rでは、"["関数を積極的に利用した方が効率がよいと思う。
分かりやすいように2行に分けてたけど、
> a.truncated <- a[sapply(a, function(x){nrow(x) != 0})]
1行で十分。

リストから、個々のデータフレームに出力するにはassign()を使えばいい。
> for(i in seq_along(a.truncated)){assign(paste0("data", sprintf("%03d", i)), a.truncated[[i]])}
とすれば、data001, data002が出力される。
0203132人目の素数さん
2014/02/09(日) 14:53:49.19
Rをq()という関数で閉じようとするとき、
「workspaceを保存しますか。」というウィンドウが表示されます。
「いいえ」と答えて、そのまま閉じる過程まで、
スクリプトで指示することができますか?
0205132人目の素数さん
2014/02/09(日) 16:31:07.01
10日前にMacBook Pro 買って断然プログラム
モチ(マスター)ベーション
があがったよ
0206132人目の素数さん
2014/02/09(日) 18:02:24.94
>>205
おめでとう*\(^o^)/*
Macは本物のUNIXマシンだから
数学やるには最適
頑張ってね
0207132人目の素数さん
2014/02/09(日) 18:04:33.54
UNIXマシン?
0208132人目の素数さん
2014/02/09(日) 21:21:46.25
UNIXを個人で使ってもあんまり意味ねえだろw
UNIXの発展系Cが本物のプログラム言語だから
いろいろな意味で最適
ならわかるがw
0209132人目の素数さん
2014/02/10(月) 03:32:55.67
Macは邪悪なBSDと言われていて本物のUNIXじゃないよ。

パクリもののなんちゃってUNIX。
0210132人目の素数さん
2014/02/10(月) 04:10:41.30
素人解説ww
OSXは正式にUNIX 03の商標を取得しているホンモノだよ。
UnixライクなOSとは別次元。

UNIX 03で個人が気軽に使えノートも有るのはMacだけ
0211132人目の素数さん
2014/02/10(月) 04:51:59.73
OSの開発に失敗して、ソースパクっておいて自分だけ申請して自分こそが本物だと名乗る。

まさに詐欺師。
0213132人目の素数さん
2014/02/10(月) 18:03:51.66
繰り返し文わかる人いますか?
a1_1<-lm(x1_1~.,data_1)
a1_3<-lm(x1_2~.,data_1)
a1_5<-lm(x1_3~.,data_1)
  :
a1_43<-lm(x1_22~.,data_1)
a1_45<-lm(x1_23~.,data_1)
a1_47<-lm(x1_24~.,data_1)
a2_1<-lm(x2-1~.,data_2)
a2_3<-lm(x2-2~.,data_2)
a2_5<-lm(x2-3~.,data_2)
  :
a2_43<-lm(x2-22~.,data_2)
a2_45<-lm(x2-23~.,data_2)
a2_47<-lm(x2-24~.,data_2)
:
a12_1<-lm(x12_1~.,data_12)
a12_3<-lm(x12_2~.,data_12)
a12_5<-lm(x12_3~.,data_12)
  :
a12_43<-lm(x12_22~.,data_12)
a12_45<-lm(x12_23~.,data_12)
a12_47<-lm(x12_24~.,data_12)
このようにa12までを、くり返し文を使って短く表すことは出来ますか?
参考書を見てもわからなかったので、質問しました。
0214132人目の素数さん
2014/02/10(月) 18:57:31.58
>>213
> くり返し文を使って短く表す
念のために確認しますが、「繰り返し文」は必須ですか?
繰り返し文を使わずに短くするのがルール違反なら、面倒くさいんだけど。。。
0215214
2014/02/10(月) 20:06:33.32
反応ないけど、繰り返し文なしの一括化+マルチコア化を書いておこう。

説明を簡単にするために、デモデータをdata_1の分だけ作成。
data_2...data_12は今から説明するlapply()を入れ子にすればよい。

> data_1 <- data.frame(matrix(runif(100 * 47), 100))
> names(data_1) <- paste("x1", 1:47, sep = "_")

さて、先に式のリストを作成する。

> a <- sapply(paste0("x1_", 1:47, "~."), as.formula)

このaに対して、lmを実行すればよい。

> lapply(a, function(x){lm(x, data_1)})

ちなみに、multicoreパッケージを入れると、
> library(multicore)
> system.i lapply(a, function(x){lm(x, data_1)})
system.file system.time
> system.time(lapply(a, function(x){lm(x, data_1)}))
ユーザ システム 経過
0.398 0.001 0.399
> system.time(mclapply(a, function(x){lm(x, data_1)}))
ユーザ システム 経過
0.347 0.083 0.183
こんなに早くなる。
0216132人目の素数さん
2014/02/10(月) 20:09:54.63
「> system.i lapply(a, function(x){lm(x, data_1)})
system.file system.time 」
↑ゴミが入ったorz
0217132人目の素数さん
2014/02/11(火) 00:00:16.50
繰り返し分は使わなくて大丈夫です。
できました。ありがとうございました。
一括化とマルチコア化は勉強になりました。
0218132人目の素数さん
2014/02/11(火) 14:52:18.34
商標とかそういうのじゃなくて、UNIXの精神を受け継いでいないよなMacは
0219132人目の素数さん
2014/02/11(火) 22:58:26.31
Mac retina Pro 良いよ
0220132人目の素数さん
2014/02/11(火) 23:18:33.31
>>218
じゃあ誰がUNIXの精神を引き継いでいるんだ?

アホはMacを使いこなせないだけ
ノータリンのミュージシャンでも
Macは使えるが、ちゃんとUNIXとして
使えば偽UNIX類とは別次元の完成度だな
0221132人目の素数さん
2014/02/12(水) 21:50:50.47
Unixがアレだからなぁ。
マカーもずっとUnixの悪口言ってたのに
どの口でMacこそ本物のUNIXとか言ってるんだろう?

ほんとマカーは馬鹿だと思う。
0222132人目の素数さん
2014/02/13(木) 19:00:41.28
windows Let's note
thinkpad
apple Mac ritena Pro

いろいろ便利だな〜
0223132人目の素数さん
2014/02/14(金) 22:03:16.24
【経営戦略】ビッグデータに死ねと言われた東急 山田祥平のRe:config.sys[14/02/14]
http://anago.2ch.net/test/read.cgi/bizplus/1392377730/

Microsoftがとうとうきたかw
Power BI for Office 365でビッグデータ解析の民主化とはな
0224132人目の素数さん
2014/02/14(金) 23:39:53.27
アホですな。そんな意見聞いてたら捏造コピペしまくるネトウヨの思うツボです。
0225132人目の素数さん
2014/02/16(日) 15:52:28.14
plot3dで濃淡を指定ってできますかね?
scatterplot3dで図を作ったのですが動かせるようにしてくれと言われたので…
0226132人目の素数さん
2014/02/16(日) 16:55:53.07
すいません。>>189をplot3dで濃淡表示したいのです。
ホームページを参考にして
color = rep( grey( c( length(Modern ):1 ) / length( Modern ) ) )
として
plot3d(x=l,y=a,z=b,col=color,size=8)としたら濃淡表示にはできるのですがmodernの数字と濃淡が一致しないのです…。
番号が小さいほど黒くしたいです。
0227132人目の素数さん
2014/02/16(日) 18:34:48.02
>>226
濃淡(明度)と彩度と色相は独立なので、いまいち意味が分からないが、
君の言う「濃淡」とは、グレー階調のこと?
それなら、
grey(Modern / max(Modern))
とか、
grey(1 - Modern / max(Modern))
じゃないの?番号が小さい方を濃くしたいなら、前者か。

> color = rep( grey( c( length(Modern ):1 ) / length( Modern ) ) )
意味不明。特にrep()。
c( length(Modern ):1 )はc()を使う必要なし、( length(Modern ):1 ) でOK
> Modern <- sample(3, 10000000, TRUE)
> system.time(c( length(Modern ):1 ))
ユーザ システム 経過
0.154 0.052 0.359
> system.time(( length(Modern ):1 ))
ユーザ システム 経過
0.020 0.001 0.022
c()で激遅になる。
0228132人目の素数さん
2014/02/16(日) 18:50:03.22
ありがとうございます。
R初心者で分厚い本とHPを参考にしながら只今奮闘中です^^;
右も左もわからない自分にとってここのサイトはとても助かります!!
0229132人目の素数さん
2014/02/16(日) 19:06:06.58
連投すいません
グレー階調を行った場合一番高い数字は白になりますか?
0231132人目の素数さん
2014/02/16(日) 19:25:01.37
ありがとうございます。
なんとか白が見えるようにならないでしょうか?
背景色をかえれるかなと思ってコマンドを打ってみたのですが変わらなくて…
Modernの数値を変えたらいいのでしょうか?
0234132人目の素数さん
2014/02/22(土) 14:58:46.83
質問です。optimizeでパラメーターを求めたいのですがエラーが出てしまい、出来ません。

X<-c(1,2,3,4,5,6,7,8,9,12,13,24)

T<-length(X) #データ数
q<-3 #次数
eps<-X #diff(log(X))#収益率

ty<-function(alpha,omega){
for( t in 1:T){

alpha[1]
alpha[2]
alpha[3]
omega

for( j in 1:q ){
AA <- alpha[j]*eps[t+3-j]*eps[t+3-j] + AA
A<-(log(omega+AA)^2)*(-1/2)
print(eps[abs(t+3-j)])
}
}
}

optimize(c(2,1,2,3),ty, maximum=TRUE)
0235132人目の素数さん
2014/02/22(土) 15:50:55.18
目的関数がよくわからん
何を最適化したいのかな
あとoptimizeは1変数じゃなかったっけ、optimのほうがいいかも
あとAAの初期値がいるかな
0236132人目の素数さん
2014/02/22(土) 16:03:21.43
Aを目的関数にしてみた

X<-c(1,2,3,4,5,6,7,8,9,12,13,24)

T<-length(X) #データ数
q<-3 #次数
eps<-X #diff(log(X))#収益率
AA<-0 #initial

ty<-function(par){
for( t in 1:T){

alpha<-c(par[1],par[2],par[3])
omega<-par[4]

for( j in 1:q ){
AA <- alpha[j]*eps[t+3-j]*eps[t+3-j] + AA
A<-(log(omega+AA)^2)*(-1/2)
#print(eps[abs(t+3-j)])
return(A)
}
}
}
opt.Nelder<-optim(c(2,1,2,3),ty,control=list(fnscale=-1,maxit=200000,
trace=TRUE),method="Nelder-Mead")

opt.BFGS<-optim(c(2,1,2,3),ty,control=list(fnscale=-1,maxit=200000,
trace=TRUE),method="BFGS")
0239132人目の素数さん
2014/02/23(日) 02:23:09.17
234です。皆様ご教授ありがとうございます。

>>235
目的関数はAAです。オメガ、アルファを求めたいです。
optimで実行した際にエラーが出てしまい、optimizeで実行しろと表示されてしまったため、optimizeを使っています。

やりたい事は、ARCHモデルの対数尤度関数を表示したく、練習として3次のARCHモデルの対数尤度関数に近いものを作りました。
>>234
確かにepsの長さが超えてますね。ご指摘ありがとうございます。
自己回帰なので過去の値に戻りたいのですが...勉強します。
0240132人目の素数さん
2014/02/23(日) 02:25:18.09
>>234ではなく
>>238
0241132人目の素数さん
2014/02/23(日) 08:31:12.95
受験勉強の合間に
息抜きで作業してるとMacBook Pro13インチが小さく感じるな・・・
15インチかiMac 2□インチが必要な気が・・・
0243132人目の素数さん
2014/02/24(月) 06:16:12.29
>>242 勘弁してよ〜
0244132人目の素数さん
2014/02/25(火) 17:06:50.33
質問です。
optim関数を実行した際に、「初期パラメータで関数を表示出来ません」とエラーが出てしまいます。
関数の式は間違ってないと思うのですが、原因がわからないため、ご教授お願いいたします。

コードはこちらです。
sai <- function(x)
{
T<-length(x); q<-3; eps<-diff(log(x))
ts.plot(eps)
Mean <- mean(x); Var <- var(x); S = 1e-6
parm <- c(0.1,0.1*Var )
archsai<-function(par){
for( t in 2:T){
alpha<-c(par[1])
omega<-par[2]
 if(t<=1){
htt<-omega
}else {
htt <- (omega+alpha[1]*eps[t-1]^2)
ht <- sqrt(htt)
A <- -(log(htt))^2*(1/2)
B <- -(((eps[t])^2)/htt)*(1/2)
ln <- A+B  
}
}
return(ln)
}
optim(parm,archsai,control = list(fnscale=-1) )
}
0245132人目の素数さん
2014/02/25(火) 21:18:55.66
>>244
この前の人かな?xは前のXでいいのかな?

>B <- -(((eps[t])^2)/htt)*(1/2)
ここt-1じゃないのか
0246132人目の素数さん
2014/02/25(火) 21:32:07.00
>>245
そうです。236の際はお世話になりました。
xは前のXで大丈夫です。

ありがとうございます。無事に出来ました。
0247132人目の素数さん
2014/02/25(火) 21:34:35.44
236ではなく、234ですね。
0248132人目の素数さん
2014/02/25(火) 21:36:48.35
>>246
そうかそうか。一応言っておくけどhttが負になってsqrt()でwarnings()出てるよ
何か制約条件があれば追加したほうがいいかな
0249132人目の素数さん
2014/02/25(火) 22:29:08.17
>>248

ご丁寧にありがとうございます。
条件つける事で無事解決しました。
0250132人目の素数さん
2014/02/25(火) 22:57:04.23
明日の16時39分頃に気をつけて下さい。
日本にも世界にも巨大地震が起きませんように。
皆さんも一緒に祈って下さい。

太陽フレアのXが発生しました。
太陽黒点数の100越えが24日間継続しているようです。
0251132人目の素数さん
2014/03/12(水) 20:18:06.86
library(foreign)
yield <- read.dta("http://www.stata-press.com/data/r12/yield.dta";)
tx <- with(yield, interaction(fertilizer, irrigation))
amod <- aov(yield ~ tx, data=yield)
library(agricolae)
HSD.test(amod, "tx", group=TRUE)

これをちゃんと動作させることって出来ますか?結果が出てきません。どこかミスしているんでしょうか?
ちなみにyield.dtaは表です。
0252132人目の素数さん
2014/03/13(木) 09:31:48.35
>>251
動作しないとは具体的にどういうこと?
> HSD.test(amod, "tx", group=TRUE, console = TRUE)

Study: amod ~ "tx"

HSD Test for yield

Mean Square Error: 24.93463

tx, means

yield std r Min Max
1.0 36.91257 5.335857 20 25.54710 46.60105
[snip]
5.1 44.55313 4.663802 20 31.20605 51.55704

alpha: 0.05 ; Df Error: 190
Critical Value of Studentized Range: 4.527912

Honestly Significant Difference: 5.055736

Means with the same letter are not significantly different.

Groups, Treatments and means
a 2.1 51.18
ab 4.1 50.75
[snip]
0253132人目の素数さん
2014/03/13(木) 18:35:25.07
pre_vecB<- c(1,2,3,4,0)
#pre_vecB<- c(0,0)
out_vecB<-mean(pre_vecB[pre_vecB!=0])

0があれば、0を除いて平均を求める。
0しかなければ、NAを返す。(NAN)でない。
というスクリプトを書きたいのですが、スマートな書き方ありますでしょうか?
0254132人目の素数さん
2014/03/13(木) 19:36:48.92
>>253
スマートかどうか分からんが、自分ならこうする。
ifelse(is.nan(a <- mean(pre_vecB[pre_vecB != 0])), NA, a)
0255132人目の素数さん
2014/03/13(木) 19:42:46.86
>>252
ありがとうございます。結果が表示されるようになりました。ってconsole=TRUEが抜けてただけでした。
申し訳ありませんでした。R初心者にも門戸を開いて頂きありがとうございました。
私は分散分析、回帰分析がRで出来るようになれればなーと思っているところです。
SPSSからの移行です。頑張って精進します。
0257132人目の素数さん
2014/03/15(土) 17:52:29.30
均一分散の仮定をせずにWhiteの推定量で回帰するにはどうしたらいいの?
普通にlmじゃ無理?
0258132人目の素数さん
2014/03/15(土) 18:09:43.39
>>257
> RSiteSearch("heteroscedasticity white")
これでcarパッケージのhccm関数やrmsパッケージのrobcov関数にたどり着くよ
0259132人目の素数さん
2014/03/20(木) 19:50:08.95
> x<- seq(1,20,2)
> x
[1] 1 3 5 7 9 11 13 15 17 19

こういったベクトルがあって、このベクトルの後ろからN個の要素
を抜き出したいです。

Nが4なら
13 15 17 19
と返したいです。どのように書けばよろしいでしょうか?
0262132人目の素数さん
2014/03/22(土) 15:00:41.16
0が含まれれば0を除外して平均を求める。0しかなければNAを返す。
というサンプルです。
これを実際に運用してみると、単に平均を求めるスクリプトに比べ大変時間が
掛かることに気づきました。
webで調べてみると、ifelse文を使うと遅くなるという記事をみかけます。
同じ意味で、早く稼働するスクリプトがありましたら教えてください。


#vecA<- c(0,0,0)
vecA<- c(1,3,0)
ifelse(is.nan(a<- mean(vecA[vecA!=0])),NA,a)

ifelse(is.na(b1<-median(pre_listB[pre_listB!=0])),0,b1)
0263132人目の素数さん
2014/03/24(月) 13:51:22.64
あぁ、本当だねぇ。ifelseにするとifよりも遅くなるねぇ。
ifelseを提示したのは、そちらの方が分かりやすいと思ったから。
すまなかったねぇ。
> system.time(sapply(1:1000, function(x){vecA = c(1, 3, 0); ifelse(is.nan(a <- mean(vecA[vecA != 0])), NA, a)}))
ユーザ システム 経過
0.042 0.000 0.059
> system.time(sapply(1:1000, function(x){vecA = c(1, 3, 0); if(is.nan(a <- mean(vecA[vecA != 0]))){mean(a)}else{NA}}))
ユーザ システム 経過
0.023 0.000 0.029
0264132人目の素数さん
2014/03/25(火) 15:18:11.06
>>263
ありがとうございます。ifelse文がわかりやすかったから大変勉強に
なりました。
実装データの量が多くてどうしたもんだかと悩んでたもので、
新たなスクリプト助かります。
自分は基本Cを書いてますが、Rの文が摩訶不思議に思えてしまいます。
system.time()の使い方も初めて知りました。ありがとうございました。
0265132人目の素数さん
2014/03/25(火) 17:43:35.11
>>264
Cの人から見たらRは摩訶不思議かも知れないけど、
変態言語のPerlよりもずっとまし。
0266132人目の素数さん
2014/03/26(水) 23:24:54.38
id <-c(1,2,3,4,5)
sex <-c("F","F","M","M","M")
height<- c(180,192,170,175,180)
weight<- c(50,65,60,55,70)
(MYDATA<- data.frame(ID= id, SEX= sex, HEIGHT= height))

上のようなデータフレームがあるとします。

ここでid=3の行データを以下のように変更(差し替え)したいとするとき、
ID = 3;
SEX = "F"
HEIGHT =150
WEIGHT =55

どう書けばいいでしょうか?
0267132人目の素数さん
2014/03/27(木) 09:58:04.57
>>266
>(MYDATA<- data.frame(ID= id, SEX= sex, HEIGHT= height))
じゃなくて、
> (MYDATA<- data.frame(ID= id, SEX= sex, HEIGHT= height, WEIGHT = weight))
だよね。で、date.frameのrow向きの差し替えは、べたな方法しかないと思うよ。
どこかのパッケージに当該機能を有する便利な関数があるのかもしれないが。
> MYDATA[3, ] <- list(ID = 3, SEX = "F", HEIGHT = 150, WEIGHT = 55)
> MYDATA
ID SEX HEIGHT WEIGHT
1 1 F 180 50
2 2 F 192 65
3 3 F 150 55
4 4 M 175 55
5 5 M 180 70
0268267
2014/03/27(木) 10:10:01.03
気になって試行錯誤をしたら、順番が正しければ変数名は省略できるようだ。
> MYDATA[3, ] <- list(3, "F", 150, 55)
ただし、変数名があってもなくても、順番を間違えると、期待通りの結果を得られないから要注意。
また、変更箇所が多ければ、edit()を使うことを勧める。
うちは、
> Sys.getenv("EDITOR")
[1] "vi"
だけど、使い慣れたテキストエディタを設定しておいた方がよいだろう。
viのキーバインドを知らなかったら、混乱すると思う。
0269132人目の素数さん
2014/03/27(木) 15:38:26.02
>>267
ありがとうございます。WEIGHT忘れてました。
list()と、MYDATA[,]でデータフレームのリスト要素を変更できるの
ですね。
これを使えば、変更(差し替え)だけでなく、列を追加するのにも
同じやり方なので便利ですね。

edit()の使い方もありがとうございました。
0270132人目の素数さん
2014/03/27(木) 16:23:23.60
>>269
お役に立ったようで、どうも。
行(row)や列(col)の追加は、もっと簡単でrbind()やcbind()を使います。

列の場合は
MYDATA$新変数 <- runif(5)
とかでも、MYDATAデータフレームの中に新しく「新変数」が作成されます。

# RjpwikiのQ&Aで質問が放置されていたので回答したけど、
# 河童さんはやっぱりggplotが嫌いなんだな。
0271132人目の素数さん
2014/03/28(金) 15:07:08.25
普通のプログラムでは、0割するとクラッシュしてしまうから、
事前に0割を避ける条件文を作らなくてはいけないんだけど。
Rでは、Infが返ってくるだけなのだから、(クラッシュしない)
答を求めて、Infが出たときに対応の処理をさせてもいいですよね。

プログラムとして0割に対して特に対応しなくてもいいですかね。
0273132人目の素数さん
2014/03/29(土) 10:39:15.46
>>271
まともな統計ソフトならみな対応してるよ
0275132人目の素数さん
2014/03/29(土) 11:53:57.77
Excelは表計算ソフトでしょ。
アドインは発注品だし、マイクロソフトは統計ソフト作っているわけじゃないし。
アドインの酷さは検索すれば出てくるよ。
0276132人目の素数さん
2014/03/30(日) 18:10:19.21
Perlの小飼弾は天才
UCB
0277132人目の素数さん
2014/03/31(月) 13:39:43.19
河童さんは関西人だったのか。
東京の人はチャーリー浜なんて知らないよね。
0278132人目の素数さん
2014/04/02(水) 07:56:27.99
Mac版だと--interactiveという起動オプションがありますが、
Windows版だとこれではなく、変わりに--essという起動オプションがあります
この2つのオプションの挙動に何か違いはありますか?
VimShellの:VemShellInteractiveで呼んでいるのですが、現状違いはないように
思えて、オプション名が違う理由がよくわかりません
0279132人目の素数さん
2014/04/02(水) 08:50:54.70
オプションが名が違うのは別のオプションだからです。以上。
0281132人目の素数さん
2014/05/11(日) 14:07:13.75
マルチタスク学習やりたいんだけどパッケージありませんか?
月曜日までに必要なのでお願いしますね
0282132人目の素数さん
2014/05/13(火) 09:43:49.49
>>281
スルー検定は全員合格か。素晴らしい。
ExtraTrees法なら、extraTreesパッケージかな。
0283132人目の素数さん
2014/05/15(木) 01:39:45.15
writewebGLで保存した図をパワーポイントに図として乗せたいのですが動かせる形でパワーポイント上に図として乗せるにはどうすればいいでしょうか?
0284132人目の素数さん
2014/05/15(木) 04:49:00.39
Livewebってやつのpptアドインがあるみたいだけど上手く行かんな
0285132人目の素数さん
2014/05/18(日) 12:35:30.99
グラフをアスキーアートで書くとか
フレームバッファに書くとか
できますか?
0286132人目の素数さん
2014/07/10(木) 01:22:22.72
ThreeWayパッケージのT3って三相因子分析のことなのでしょうか?
0287132人目の素数さん
2014/07/10(木) 11:45:59.03
>>286
何でマニュアルを読まないの?
T3: Interactive Tucker3 analysis
Description: Detects the underlying structure of a three-way array according to the Tucker3 (T3) model.

とりあえず、下記を読んだら?
P. Giordani, H.A.L. Kiers, M.A. Del Ferraro (2014). Three-way component analysis using the R
package ThreeWay. Journal of Statistical Software 57(7):1–23.

L.R Tucker (1966). Some mathematical notes on three-mode factor analysis.
Psychometrika 31:279–311
0288132人目の素数さん
2014/07/10(木) 12:37:38.03
ありがとうございます。
PCAUSP(超行列の主成分分析?)でcomponentの数の決定を行うと思うのですがここでのcomponentはそれぞれのモード?の因子数を選択しているのでしょうか?
よろしくお願いします。
0291132人目の素数さん
2014/07/11(金) 09:19:39.76
なぜにアスキーアートにこだわるのか分からないけど
出せるかどうかということならあなたがそういう関数を自作すれば出せる
現状でそういう機能を持ったライブラリが存在するかということなら恐らく存在しない
理由はアスキーアートでは現実的な精度のグラフを書くことが難しいから
0292132人目の素数さん
2014/07/11(金) 09:23:59.91
csoundっていうソフトでは出せますよ?
そのソフトが使っているライブラリーわかりますか?
0293132人目の素数さん
2014/07/11(金) 09:35:10.86
ここはRのスレだからなぁ
そのソフトのスレに行って聞くといいんじゃないかなー
0295132人目の素数さん
2014/07/11(金) 18:18:34.17
>>289
LaTeX用に出力するときはpdfだけど、
普段使いには、X11()かquartz()でしょ。
なぜ、いちいち全てをpdfに出力しなくてはならないのだ。

>>290,292,294
aalibを入れて、Rから呼び出せばよいのでは?
色つきならlibcacaで。
仕事なら(対価を支払ってくれるなら)、
ここにデモコードを貼るけど、
そうではないなら自分で頑張れ。
0296132人目の素数さん
2014/07/22(火) 22:48:50.15
>>33
これですが、自己解決しました。
setwd(readline())
パスコピペ
で、できます
0297132人目の素数さん
2014/08/27(水) 01:38:55.66
機械学習のスレってどこの板にある?
0298132人目の素数さん
2014/08/27(水) 01:40:55.49
>>297
自己解決しました。
0299132人目の素数さん
2014/08/28(木) 00:28:03.88
>>292
linux なら

ldd `which csound`

でリンクしてるダイナミックライブラリの一覧表示できるよ。
0301132人目の素数さん
2014/08/28(木) 19:43:48.09
>>300
了解!
0302132人目の素数さん
2014/09/08(月) 23:10:31.20
質問させてください。

Rにはすでにdatasetsが入っていて、すぐ解析出来ると聞いています。
いくつか試したいのですが、datasetsの名前や内容を紹介しているサイトはあっても、属性や変数の数などを記載しているサイトが見つかりません。

もしくは、datasetsの属性などを一覧表示できるコードがあると助かるのですが…

どなたかご助力いただけませんでしょうか?
0303132人目の素数さん
2014/09/08(月) 23:27:22.65
>>302
R datasets
でネット検索するのが良いのでは?

datasetsパッケージのなかにはいってるものの一覧
http://stat.ethz.ch/R-manual/R-patched/library/datasets/html/00Index.html

クリックすればデータの素性は英語だけど説明あるよ。

サイズはdimとかNROWとかNCOLとかheadとかを使えば簡単に調べれるよ。

datasetsのなかにはいってるものの一覧をループでまわしてこれらの関数をつかって調べたいものを表にするのは簡単だと思います。

だれかがまとめて表にしてくれてそうだから上の検索キーワードでもっと探したらありそう。
0305132人目の素数さん
2014/09/09(火) 00:10:14.26
>>303
丁寧にありがとう!
2chに書き込むの初めてだったから、きついこと言われると思ってヒヤヒヤしてたよ
原始的だけどdatasetsの名前をベクトルとして作って、headとかdimとかを使ってみる

R始めたばっかで右往左往しとるけど、先が見えてきて良かった
0306132人目の素数さん
2014/09/09(火) 00:14:05.67
>>304
なんとか自動化出来ないかと思いまして…
一個一個手入力でもいいんですが、もしかしたらスマートな方法があるかと思い質問していまいました。すみません。
0307132人目の素数さん
2014/09/09(火) 00:30:31.35
なにをどう自動化したいのかイマイチつかめないけどデータセット自体の説明なら
ヘルプをデータセット名で検索すれば項目の説明とか出てくるよという意味ですよ
0308132人目の素数さん
2014/09/09(火) 01:08:30.81
>>307 さんを擁護したげよう。
俺が上の検索方法を書いたんだけど
あの画面ってヘルプ画面だし。

help.start()

でヘルプを起動するとブラウザがたちあがる。
パッケージにdatasetsがあるなら、パッケージを選択して datasets をみると
ほぼ同じの画面になる。(バージョンが異なってたら差があるかも。)
0309302
2014/09/09(火) 01:37:25.01
お騒がせしてしまったようですみません。50個ほどのdatasetsについて、headやnrowとかを使ってdatasets名を手入力して調べてました。
str(AirPassengers),str(BJsales),...,
nrow(AirPassengers),str(BJsales),...

さすがにこれを全てのdatasetsについてやるのはしんどいので…
datasets名の手入力をなくす方法を模索してたわけですが…
どうも下記サイトに答えがあったようです。\\(.*\\)といった呪文があって、理解するのには時間かかりそうですがもうちょっと調べてみます。
http://qiita.com/wakuteka/items/c4e341637c6ae77b4ead
0310302
2014/09/09(火) 01:38:30.58
すみません。誤植がありました。
お騒がせしてしまったようですみません。50個ほどのdatasetsについて、headやnrowとかを使ってdatasets名を手入力して調べてました。
str(AirPassengers),str(BJsales),...,
nrow(AirPassengers),nrow(BJsales),...

さすがにこれを全てのdatasetsについてやるのはしんどいので…
datasets名の手入力をなくす方法を模索してたわけですが…
どうも下記サイトに答えがあったようです。\\(.*\\)といった呪文があって、理解するのには時間かかりそうですがもうちょっと調べてみます。
http://qiita.com/wakuteka/items/c4e341637c6ae77b4ead
0311132人目の素数さん
2014/09/09(火) 02:22:11.83
>>310
いいこと教えてくれてありがとう。

Itemをstrsplitで" "で区切って1番目の要素を名前にして

pasteとparseと命令を作成してevalしてやれば半自動で命令実行できる。

他の方法としては、csvファイルで保存してもっとテキスト処理が得意なRubyとかPerlとかPythonで処理して
Rで実行できる命令に整形するとか。

for ループでまわすと自動で str(..) NROW(...)を実行できるよ。
strじゃなくてcolnamesでデータの名前を取得した方が良いかも。
0313132人目の素数さん
2014/09/09(火) 07:32:42.83
>>310
正規表現を「呪文」と表現すると言うことはITの基本的な知識が全くないに近い。
Rを使うのはこの先かなり大変かも。
学生なら情報処理入門のような講義を受けた方がよいかも。
0314302
2014/09/09(火) 11:36:26.39
ご指摘の通り学生です。生物系の専攻ですが研究で必要になりました。
ひとまず基本情報技術者試験の本を見ながら知識を身につけてみます。
0315132人目の素数さん
2014/09/09(火) 15:04:20.46
情報系の講義ははっきり言って無駄だ。
俺の経験からすると。
Youtubeのチュートリアルとか本家のサイトとか
正規表現なら「正規表現 入門」とか「正規表現 最速マスター」とかでヒットしたサイトで勉強した方がよい。
大学の講義って自分のペースにあってないし終るまで半年とかかかるし効率悪すぎる。
0316132人目の素数さん
2014/09/09(火) 15:06:05.11
よっぽど評判良いなら受講しても良いとは思うけど
先生とか内容によるから。
Rの講座とかあるなら受けてみる価値はあるかもしれないけど。
正規表現って理系の研究室あまり重視してないっぽいしな
数値計算とかを重視してそう。

情報の基礎講座うけてうんざりした記憶がある。
0317132人目の素数さん
2014/09/09(火) 15:09:56.22
重視してないもなにも、適当にマニュアル読んで分からないなら死ねっていう扱いなだけだろ
当然そうだわな
0318132人目の素数さん
2014/09/09(火) 16:43:00.21
マニュアルなんぞ
必要箇所以外読まんだろ。

機能確認したら俺の環境だとhelp.start()でブラウザたちあげて
datasetsのhtmlページみれなくなってた。
これって異常?
0320132人目の素数さん
2014/09/10(水) 00:14:13.44
>>319
回答ありがとう。

library(help = "datasets")
は表示されるけど

help.start() してパッケージのdatasetsをみると以下の
文字がブラウザに表示されてる。

No package index found for package datasets

なんでだろ?
ローカルに install.packages()で入れたパッケージのヘルプは見れるんだけどな。
root権限でインストールしたパッケージのヘルプが見れなくなってる。
baseパッケージヘルプもブラウザでみれない。

library(help=base)

はちゃんと表示されるんだけど。
設定がちゃんとできてないのかな?
0321132人目の素数さん
2014/09/10(水) 00:25:12.38
原因わかりました。
パッケージを入れないとそれらのパッケージのhtmlファイルがはいってないみたい。
Debian Linuxをつかってるんだけど。

r-base-html

ってパッケージを入れたら多分表示される。
0322132人目の素数さん
2014/09/10(水) 00:27:51.48
いま入れてみたそのパッケージ。
ちゃんと表示されるようになりました。
いつもネット検索して調べてたから気付かなかった。
0323132人目の素数さん
2014/09/28(日) 22:34:11.15
Rcmdrの使い方について分かりやすく解説されたサイトや成書はありますか?
0324132人目の素数さん
2014/09/28(日) 22:42:09.57
>>323
群馬大学の大学院の研究室のサイトにあったよ
教授の名前忘れてもうた!・
0325132人目の素数さん
2014/09/28(日) 23:08:16.53
>>323
「「R」 Commander ハンドブック」は? ちょっと古いけど

>>324
群馬大学なら青木先生だと思うけど
0327132人目の素数さん
2014/09/29(月) 18:36:49.59
Rcmdrなんて使うくらいならJSTATなり市販ソフト使えよ
Rは、中身わかんないけどとにかく結果だけ欲しい、って人向けじゃない
0328132人目の素数さん
2014/09/29(月) 20:29:26.25
>>327
いやいや、誰もwelcomeだよ。
使いたい人が使えばいい。その自由がOSSのよさだよ。
中身は分からないけどとにかく「無料で」結果だけが欲しい人であっても。

Rcmdrを使いたい人は、Rcmdrを入り口にして、普通のRコンソールを使うようになればいい。
0332132人目の素数さん
2014/10/06(月) 17:26:37.81
dはデータフレームで、1列目(V1)にクラスを表わす文字列、他の列はその特徴量が入ってます
library(kernlab)で読み込んだ状態です
> set.seed(0)
> ksvm(V1~.,d)  (ここがksvm(d$V1~.,d)も同じ)

> set.seed(0)
> ksvm(d[,1]~.,d)
で結果が変わります。下の方は誤分類率0%となり不自然?で、正しいのは上のV1を使うほうなのでしょうが、なぜ結果が変わるのかがわかりません。
どなたか詳しい方教えてください

> str(d)
'data.frame': 512 obs. of 3 variables:
$ V1: Factor w/ 4 levels "a","b","c","d": 1 1 1 1 1 1 1 1 1 1 ...
$ V2: num 0 0 0 0 0 0 0 0 0 0 ...
$ V3: num 0 0 0 0 0 0 0 0 0 0 ...
0333132人目の素数さん
2014/10/06(月) 18:10:51.17
kernlabは知らないけどlm()だと正しくformulaを渡せないね。

> formula(lm(V1 ~ ., d))
V1 ~ V2 + V3
> formula(lm(d$V1 ~ ., d))
d$V1 ~ V2 + V3
> formula(lm(d[,1] ~ ., d))
d[, 1] ~ V1 + V2 + V3

同じようなことになってるんじゃない?
0334132人目の素数さん
2014/10/06(月) 19:48:33.22
>>333
formulaって関数は使えなくて実際にやってみられてないんですけど
その「V1 ~ V2 + V3」というのは、「クラスV2、V3を使って(dから)V1を予測しよう」という意味で、それをformulaに渡せているということですかね
(ttp://d.hatena.ne.jp/araili/20100728/1280313431)
d[,1]~.でダメだったのは、d[,1]という定数を指定したために変数からV1を除外できていない(V1も予測するために使う変数として考えられていた)
予測する対象はd[,1]にV1読んだのと同様に順番・値がそろっていて、分類を予測するときはクラスそのものであるV1を使うので、誤分類率0%となってるわけですか

文が長くなってすみません。結構考えてたんですが、質問してみてよかったです。同時に、予兆はあったのに情けないです。
答えていただきありがとうございました。
0335132人目の素数さん
2014/10/08(水) 13:41:57.34
ThreeWayパッケージのCP関数を実行した場合寄与率に当たる個所はどこになるのでしょうか。
よろしくお願いいたします。
0336132人目の素数さん
2014/10/08(水) 14:23:51.23
連投すいません。
PCA of MEANを実行した際に固有値とfitが出てきたのでfitが累積寄与率になるのではないかと解釈しております。
この解釈で良いのでしょうか。
よろしくお願いいたします。
0337132人目の素数さん
2014/10/09(木) 02:19:56.75
質問させてください。
例えば、100×100の行列のデータがあったとして、11から40列の各行の数字を掛け算した
1×100の行列を作成するにはどのように記述すれば宜しいでしょうか。
0339132人目の素数さん
2014/10/10(金) 00:20:16.58
>>338さん
ありがとうございました!

もう一つ質問なのですが、文字列を含むcsvファイルを読み込みました。
数字しか入っていない列も文字列として認識されてしまっているのですが、
数字しか入っていない列を切り取って、これを数字形式に変換するにはどうすればよいでしょうか。
0340338
2014/10/10(金) 00:33:16.71
as.numeric(a$b)
でどうかしらん?

あとはリード.シーエスヴィーのオプションをちゃんとしていする方法もあるわよん
0341132人目の素数さん
2014/10/10(金) 00:46:11.72
>>340さん

ありがとうございます。
が、初心者なので具体的にどうすればよいかまだ分かりません。
例えばread.csvのオプションは銅のように設定すればよいのでしょうか。
0342132人目の素数さん
2014/10/10(金) 01:25:24.12
>>339
>数字しか入っていない列も文字列として認識され
数字以外のものが混入しているパターンとエスパー
例えば、半角空白は文字であって数字ではない。
表計算ソフトじゃ無くてテキストエディタでcsvの中を確認しては?
0343342
2014/10/10(金) 01:45:15.16
追記。
例えば、
$ echo -e "x1,x2¥n11,A¥n22,B¥n' ',C¥n33,D" > test.csv
$ cat test.csv
x1,x2
11,A
22,B
' ',C
33,D
というcsvファイルがあったとして、
> read.csv("test.csv")
x1 x2
1 11 A
2 22 B
3 ' ' C
4 33 D
> class(read.csv("test.csv")$x1)
[1] "factor"
というように、数値型にならずに因子型になる。
表計算ソフトではx1の3番目は空白なので見えない。
0345132人目の素数さん
2014/10/10(金) 10:54:24.22
>>336
どうもPCA pf MEANは2相の主成分分析の様です。
CPfuncで計算されるfitにあたるものが累積寄与率にあたるものなのでしょうか?
0346132人目の素数さん
2014/10/11(土) 21:18:27.38
質問です。データフレームの列名の一部を変更したいのですがどのように操作すれば宜しいでしょうか。
よろしくお願いします。
0347132人目の素数さん
2014/10/11(土) 21:28:06.62
>>346
> (dat <- data.frame(x = 1:3, y = month.name[1:3], z = LETTERS[1:3]))
x y z
1 1 January A
2 2 February B
3 3 March C
というデータフレームがあったとして、
yをhogeに替えるなら、
> names(dat)[2] <- "hoge"
> dat
x hoge z
1 1 January A
2 2 February B
3 3 March C
例では1つの列名だけだが、もちろん、複数の列名を同時に替えることもできる。
0348132人目の素数さん
2014/10/12(日) 09:52:52.95
>>347さん
ありがとうございます!

もう一つ質問させてください。
例えば以下のようなデータフレームがあったとします。
data1、data2、data3、・・・

下の繰り返し処理の中で、ループの中でdata1、data2、・・・のデータフレーム
を読み込みたいのですが、どのように記述すればよいのでしょうか。

#for (i in 1:5) {

}

下記のように記述したのですがうまくいきませんでした。
(pastedateにはdata1という名前のデータが入ってしまい、以前に入ってたデータは消えてしまっているようです。)
pastedate <- paste("data",i,", sep = "")
sumdata<-rbind(XXXXX,pastedate)

よろしくお願いします。
0349132人目の素数さん
2014/10/12(日) 10:51:17.99
>>348
いまいち状況が分からない。
data1, data2, ...をファイルから読み込みたいのか、
それとも、単に既存のデータフレーム(data1, data2, ...)をrbindで連結したいのか。

後者なら、
> data1 <- data2 <- data3 <- data.frame(x = runif(3))
というデータフレームがあったとして、
> alldata <- lapply(paste0("data", 1:3), get)
という感じでリスト化して、
> Reduce(rbind, alldata)
とすれば結合できる。
他にも、いろいろな連結方法があると思うけど、
自分は、シリーズになっているデータフレームは常にリスト化して運用するので、
do.call()やReduce()で連結している。
0350132人目の素数さん
2014/10/13(月) 19:28:38.06
## S4 method for signature 'formula'
ksvm(x, data = NULL, ..., subset, na.action = na.omit, scaled = TRUE)

ってヘルプに書いてあったのに、xがformulaのときここに出てない引数を使えるんですけどどうしてですか?
一つ和訳がわからなかったのですが、...(説明:additional parameters for the low level fitting function)が関係あるんでしょうか
0351132人目の素数さん
2014/10/13(月) 22:19:35.86
>>350
引数「...」は下請け関数にそのまま渡す引数。
kvsm()は直接使わないけど、
下請け関数が使う引数を指定できますよという意味。
もし「...」がなければ、kvsm()が指定した引数以外を指定するとエラーになる。
例えば、
> f <- function(x = 1){return(x)}
という関数を定義して実行すると、
> f()
[1] 1
となるが、x以外を指定するとエラーになる。
> f(y = 2)
以下にエラー f(y = 2) : 使われていない引数 (y = 2)

でも「...」を追加するとエラーにならない。
> f <- function(x = 1, ...){return(x)}
> f(y = 2)
[1] 1
0352132人目の素数さん
2014/10/14(火) 00:34:29.21
>>351
なるほど。
たとえば
「ksvm(x,data=y,cross=n)」→分析結果(分類法、誤分類率、n重交差確認法による誤分類率)
 (「ksvm(x,data=y)」(xはyの列の内クラスを表わす列を指す)→分析結果(分類法、誤分類率))
というようにヘルプの形式に明示してないけど使えたcrossは、総称的関数ksvmからこの時呼ばれた下請け関数に渡され、使われたのですね
すっきりしましたありがとう!
0353132人目の素数さん
2014/10/14(火) 23:54:05.52
テキストファイルから、Rのデータフレームに格納することを考えています。

例えば2014年10月10日の血液検査のデータが
WBC 4900, RBC 470, Plt 47.3, ALT 32, CRP 7.2, AdV -, Ur.WBC 3+
このようなテキストデータで与えられたとします。
これを読み込んでデータフレームに次のように格納するにはどのようにすればよいでしょうか。
data.frame(20141010, WBC)=4900, data.frame(20141010, RBC)=470, .........
Rだけでやるより、ほかの言語で読み込んで、Rに渡す方がいいでしょうか。
その後で、そのデータフレームからopen office calcのworksheetの相当するセルに値を入れることを考えています。そこはR4Calcでできるかと考えているのですが。アドバイスお願いし
0354132人目の素数さん
2014/10/15(水) 01:33:53.41
>>353
お、同業者が来た。

そのままcsvとして読み込んで、データを分離しちゃえば?
2行のtmp.csvがあったとして、
> (a <- read.csv("/tmp/tmp.csv", header = FALSE))
V1 V2 V3 V4 V5 V6 V7
1 WBC 4900 RBC 470 Plt 47.3 ALT 32 CRP 7.2 AdV - Ur.WBC 3+
2 WBC 4900 RBC 470 Plt 47.3 ALT 32 CRP 7.2 AdV - Ur.WBC 3+
とdata.frameにする。変な空白が混入したので前処理。空白が混入しなければ不要。
> library(stringr)
> (b <- t(apply(a, 1, str_trim)))
V1 V2 V3 V4 V5 V6 V7
[1,] "WBC 4900" "RBC 470" "Plt 47.3" "ALT 32" "CRP 7.2" "AdV -" "Ur.WBC 3+"
[2,] "WBC 4900" "RBC 470" "Plt 47.3" "ALT 32" "CRP 7.2" "AdV -" "Ur.WBC 3+"
さて、次にstrsplit()で分離して、必要なところだけを回収する。
> sapply(apply(b, 2, strsplit, split = " "), function(x){sapply(x, function(y){y[2]})})
V1 V2 V3 V4 V5 V6 V7
[1,] "4900" "470" "47.3" "32" "7.2" "-" "3+"
[2,] "4900" "470" "47.3" "32" "7.2" "-" "3+"
0355354
2014/10/15(水) 01:43:41.07
read.csv()のstrip.whiteオプションの存在を忘れていた。
これを指定すれば前処理は不要。
> (a <- read.csv("tmp.csv", header = FALSE, strip.white = TRUE))
V1 V2 V3 V4 V5 V6 V7
1 WBC 4900 RBC 470 Plt 47.3 ALT 32 CRP 7.2 AdV - Ur.WBC 3+
2 WBC 4900 RBC 470 Plt 47.3 ALT 32 CRP 7.2 AdV - Ur.WBC 3+
> (b <- sapply(apply(a, 2, strsplit, split = " "), function(x){sapply(x, function(y){y[2]})}))
V1 V2 V3 V4 V5 V6 V7
[1,] "4900" "470" "47.3" "32" "7.2" "-" "3+"
[2,] "4900" "470" "47.3" "32" "7.2" "-" "3+"
> b <- data.frame(b)
> names(b) <- c("WBC", "RBC", "Plt", "ALT", "CRP", "AdV", "Ur.WBC")
> b
WBC RBC Plt ALT CRP AdV Ur.WBC
1 4900 470 47.3 32 7.2 - 3+
2 4900 470 47.3 32 7.2 - 3+
0356132人目の素数さん
2014/10/15(水) 10:12:33.01
追記。いまいち意図がくみ取れないけど、
「20141010」は行名ということかな。
そして、「WBC 4900, RBC 470, Plt 47.3, ALT 32, CRP 7.2, AdV -, Ur.WBC 3+」は2014年10月10日のデータで、
次のデータ行は2014年10月11日だったりするのかな?
それなら、2014年10月10日と翌日のデータが入ったtmp.csvがあったとして、
> a <- read.csv("tmp.csv", header = FALSE, strip.white = TRUE)
> b <- sapply(apply(a, 2, strsplit, split = " "), function(x){sapply(x, function(y){y[2]})})
> b <- data.frame(b, row.names = seq(20141010, length.out = nrow(b)))
> names(b) <- c("WBC", "RBC", "Plt", "ALT", "CRP", "AdV", "Ur.WBC")
> b
WBC RBC Plt ALT CRP AdV Ur.WBC
20141010 4900 470 47.3 32 7.2 - 3+
20141011 4900 470 47.3 32 7.2 - 3+

こんな感じかな。
0357132人目の素数さん
2014/10/16(木) 21:16:18.81
356さん

有難うございます。
apply関数の使い方をべんきょうしてみます。
また質問させてください。
0358132人目の素数さん
2014/10/19(日) 01:06:21.07
RをUSBにインストールしたいんですが
一応あるブログを参考にインストールできたのですが
パッケージをインストールしたさいにUSBに保存されないのはどうしたらいいでしょうか?
0360132人目の素数さん
2014/10/19(日) 12:40:27.56
>>359
それはどうしたら指定できますか?
パッケージをインストールすると
ダウンロードされたパッケージは、以下にあります
C:\Users\NEC-PCuser\AppData\Local\Temp\Rtmpgdg0TT\downloaded_packages

と表示されるのでUSBに保存されていないようです
0361132人目の素数さん
2014/10/19(日) 21:13:07.40
>>360
>それはどうしたら指定できますか?
いろいろな方法があるけど、
とりあえずは、install.pacakges()のlibオプションでインストール先を指定すればどうだい?
見たところ、Windows? USBブータブルなLinuxの話じゃ無かったの?
「あるブログ」とか話をぼかさずにちゃんと伝わるように説明しようよ。
Windowsのパスの仕組みはよく知らないけど、例えば、DとかEとかなら、
> install.packages(c("hoge", "fuga"), lib = "D:/library", dependencies = TRUE)
とか。Windowsのパス表記が間違っていたらすまん。
Windowsのパス区切り記号は変態的だから、normalizePath()とかで正常化してやる必要があるかも。
逐次的に指定するのではなく、恒久的にパッケージのインストール先をUSBにしたいなら、
$HOME/.Rprofile に「.libParhs(USB内のインストール先)」を書いておく。
install.packages()のlibオプションが省略された場合、.libPaths()の最初の要素が使われるので、
それをR起動時に設定してしまうという方法。
0363132人目の素数さん
2014/10/20(月) 00:31:14.89
>>362
install.packages()でlibを指定して、ちゃんとUSB内にインストールされるのことは確認したの?

また、そのブログには環境変数R_LIBSをちゃんと設定するように書いてあるけど。
| 環境変数R_LIBSを設定することで、追加したライブラリがUSBメモリ内に
| インストールされるようにする
ドライブレターが毎度変わるから、R起動前にカレントディレクトリを変更して、
R_LIBSをフルパスではなく相対パスにするのはさすがだ思った。

ブログに書いてある通りに、バージョンを読み替えながら設定したら、
うまくいきそうなんだけどなぁ。
私は、Winodwsユーザじゃないので、Rの話ではないWindows操作の話なら、
他の方にパス。
0364132人目の素数さん
2014/10/20(月) 09:10:02.77
なにも設定してないと自分のホームディレクトリのRのディレクトリ内にパッケージがインストールされるはずだけど。
LinuxならそれをシンボリックリンクでUSBのところにして上手くUSBのところに保存されるようにするとか
mount --bind
してやれば希望の動作になりそうな気がするけどな。
0365132人目の素数さん
2014/10/20(月) 09:35:40.16
>>364
仕様が変わったの?
ホームディレクトリにRのディレクトリを作らなければ、システム側にインストールされるはずだけど。
ホームディレクトリに、Rのディレクトリが存在する場合は、そちらが優先されるらしいが。
RStudioとかは、ホームディレクトリ内にRのディレクトリを勝手に掘っちゃうので迷惑する。
0366132人目の素数さん
2014/10/20(月) 14:04:45.85
>>365
ユーザでinstall.package("hogehoge")
したら普通に自分のホームディレクトリにRを作ってその中にさらにディレクトリ、その中にインストールしてくるけどな。
それをmount --bind であらかじめusbの該当のディレクトリに繋げとけば楽だと思うけどな。
0367132人目の素数さん
2014/10/20(月) 15:04:48.08
>>366
新ユーザを作成して試してみた。
$ R --vanilla
[snip]
> install.packages("A3")
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
install.packages("A3") 中で警告がありました:
'lib = "/usr/local/lib/R/site-library"' は書き込み可能ではありません
Would you like to use a personal library instead? (y/n) n
以下にエラー install.packages("A3") :
パッケージをインストール出来ませんでした

以上により、.libPaths()[1]は、
ホームディレクトリのRディレクトリではなく、
/usr/local/lib/R/site-library であることが確認できた訳だけど、
「personal libraryを作る」に y と回答すれば、
確かに勝手にディレクトリを掘りそうだな。
拒否すれば勝手なことはされないけど。
拒否せずに許可するのが「普通」であれば、>>366 は正しいな。

$HOMEを汚されたくない人 (system-wideにしたい人)は、
/usr/local/lib/R/site-libraryにsetgidが立っているから、
このグループに自分のユーザ名を追加することだね。
0368132人目の素数さん
2014/10/20(月) 15:23:14.73
>>367
Linuxならシンボリックリンクはっとくとか
mount --bindしとけば汚れないよ。
0370132人目の素数さん
2014/10/20(月) 17:50:22.09
はよWindows消してLinuxとかBSDにしてしまえ!
そうすれば寿命伸びるよPCの。
無理してバージョンアップで肥大化するOSのためにハードを強化する必要なくなるし。
0372132人目の素数さん
2014/10/21(火) 13:38:03.44
362です
R_LIBS=の後にインストール先を入力すればいいってことですか?
0373132人目の素数さん
2014/10/21(火) 13:57:37.01
>>372
その方法も正しいです。
ただし、USBだと、ドライブレターがころころ変わるので、
インストール先を設定するのが難しく、
そこを乗り越える必要があります。
どうやって乗り越えるのか、その一例が、あなたが示したブログに書かれています。

念のために、申し添えますが、R_LIBSはOSの環境変数です。
(出来なくはないけど)Rの操作によって設定するものではありません。
0374132人目の素数さん
2014/10/21(火) 20:46:25.64
>>372
消せるディレクトリを指定して容量の少ないパッケージをインストールしてみたら話はやいんだよ。
それでどういうディレクトリ掘られるかわかるでしょ。
あとはインストールしたいディレクトに微調整すればOK。

Linuxなら上に書いたようにmount --bindとかシンボリックリンクでいけるけど
Windowsにはそういうの無いの?
0375132人目の素数さん
2014/10/22(水) 09:43:07.07
R言語に興味をもったので
Debian GNU Linuxにインストールしようと思っているのですが、
軽量なバイナリラッパーなるlittlerというパッケージを見つけました。
https://packages.debian.org/ja/wheezy/littler
この解説文を読んでもいまいちよく分からない(汗)
「環境無しの R 言語」っていったい......
0376132人目の素数さん
2014/10/22(水) 10:15:09.81
>>375
Rじゃないrは便利ですよ。
bcで十分と考える人には必要ないですが、
例えば、sin(10)っていくつだったけと思ったとき、
$ echo 'print(sin(10))' |r
[1] -0.5440211
とすれば、Rを起動してなくても即座に結果を得ることが出来る。

また、統計的検定なら、
A群(145/300)とB群(157/250)の比率の差を検定するとき、
わざわざRを起動しなくても、rに流し込めばその場で結果を得ることが出来る。
$ echo 'print(prop.test(c(145, 157), c(300,250)))' |r

2-sample test for equality of proportions with continuity correction

data: c(145, 157) out of c(300, 250)
X-squared = 10.9497, df = 1, p-value = 0.0009362
alternative hypothesis: two.sided
95 percent confidence interval:
-0.23071879 -0.05861454
sample estimates:
prop 1 prop 2
0.4833333 0.6280000
0377132人目の素数さん
2014/10/22(水) 14:56:44.89
>>375
実行ファイルとして

/usr/bin/r

がイストールされるみたい。

シェルスクリプトのように

#!/usr/bin/r

ではじまる ファイルでRのコマンドが実行できるみたい。

俺もインストールした知らなかったありがとう。

>>376 さんの使い方も参考になった。

インストールして以下で内容物確認

dpkg -L littler

あとは

man r

読むとわかりやすいよ。
0378132人目の素数さん
2014/10/22(水) 16:55:55.04
>>377
スクリプト言語として使うなら、
littlerよりも、
#!/usr/bin/Rscript
の方がよいとどこかで読んだ気がする。
0379132人目の素数さん
2014/10/22(水) 18:47:04.91
>>378
情報サンクス。
その理由覚えてる?
0381132人目の素数さん
2014/10/22(水) 19:49:15.42
3次元ヒストグラムを書いたプログラム例などありませんでしょうか?
0382132人目の素数さん
2014/10/22(水) 19:53:36.88
>>381
3次元というのは、3変量という意味か、2変量で立体的にしたヒストグラムか、
どんなものをイメージしているの?
0383132人目の素数さん
2014/10/22(水) 21:02:55.71
>>382
レスありがとうございます
2変量?でしょうか?
x,yの値があって、z軸に頻度分布、のような。
ありますでしょうか?
0384132人目の素数さん
2014/10/23(木) 09:49:48.69
>>383
なるほど。では、手作業でやるとこんな感じかな。自分で関数化して使って。
> d <- data.frame(x1 = rnorm(100), x2 = rnorm(100))
というデータがあったとして、
> h1 <- hist(d$x1, plot = FALSE)
> h2 <- hist(d$x2, plot = FALSE)
> c1 <- cut(d$x1, h1$breaks, right = FALSE)
> c2 <- cut(d$x2, h2$breaks, right = FALSE)
> table(c1, c2)
c2
c1 [-4,-3) [-3,-2) [-2,-1) [-1,0) [0,1) [1,2) [2,3)
[-3,-2.5) 0 0 0 0 1 0 0
[-2.5,-2) 0 0 0 1 1 1 1
[-2,-1.5) 0 0 0 1 3 1 0
[-1.5,-1) 0 1 0 2 2 0 0
[-1,-0.5) 0 0 3 4 8 2 0
[-0.5,0) 1 0 2 10 5 0 1
[0,0.5) 0 0 2 2 12 1 0
[0.5,1) 0 0 3 6 6 0 0
[1,1.5) 0 0 0 4 4 1 0
[1.5,2) 0 0 1 1 1 3 0
[2,2.5) 0 0 0 0 1 0 0
[2.5,3) 0 0 0 0 1 0 0
と2次元の度数分布表が作成できるから、scatterplot3dパッケージでプロット。
> library(scatterplot3d)
> scatterplot3d(as.data.frame(table(c1, c2)), type="h", lwd=5, pch=" ")
期待したのと違うなら、もっと具体的に説明して。
0385132人目の素数さん
2014/10/24(金) 00:35:10.19
>>384
ありがとうございます。
まさに、これです。大変助かりました。
いただいたサンプル利用させていただきます。
ありがとうございました。
0386132人目の素数さん
2014/11/01(土) 13:07:52.20
R 3.1.2 来た!
Win用バイナリはあるけど、MacOSX用バイナリはまだない。
Ubuntu PPAにも来ていない。Debianもまだ。
0387132人目の素数さん
2014/11/01(土) 13:14:46.47
自分確認すべきだけど大きな変更あった?
便利になる機能ある?
バグフィックスがメインかな?
0388132人目の素数さん
2014/11/01(土) 14:14:04.49
>>387
OS XでCLIのRを使っている人はXQuartzがらみで要確認だけど、
Yosemite対応もしているみたいだし、それほど変更点はなさそう。
WindowsのR.exeは64bit固定になったみたいだが、関係ないので読み飛ばした。
個人的に注目したのはembedFonts()のformat引数の値が、
今までNULLだったけど"ps2write"に変わったことぐらい。
0389132人目の素数さん
2014/11/01(土) 14:34:26.67
なんだかんだ言っている間に、OS X版バイナリが来た。
でも、Snow Leopard版とMarvericks版のみ
0390132人目の素数さん
2014/11/01(土) 18:25:44.30
>>388
情報ありがとう。
0392132人目の素数さん
2014/11/02(日) 10:26:48.46
Linux Debian Sidだとすでに3.1.2のパッケージ昨日の段階で供給されてたみたい。
今確認したら3.1.2になってた。
0393132人目の素数さん
2014/11/14(金) 13:20:33.78
plot()の技術的な質問失礼します

plot(iris$Sepal.Width, iris$Sepal.Length, col=c(2,3,4)[iris$Species])
のように記述すれば質的変数で点の色分けが出来ますが、
x種はy色、と明示的に記述する方法などありますか?

(質的変数の名前順を確認して色を割り振る、最初に質的変数毎に分けておいてpointsする、などで
簡単に実現できるので絶対必要というわけではありませんが、何か簡単な書き様があるのではと気になっています)
0394132人目の素数さん
2014/11/14(金) 14:27:53.65
>>393
せっかく簡単に色指定できるようにRで工夫されているのに、
いちいちx種はy色とか個別に指定すると逆に面倒な気がするが、
次のようにすれば、x種はy色と指定できる。

> cols <- character(nrow(iris))
> cols <- NA
> cols[iris$Species == "setosa"] <- "orange4"
> cols[iris$Species == "versicolor"] <- "violetred"
> cols[iris$Species == "virginica"] <- "tan4"
> plot(iris$Sepal.Width, iris$Sepal.Length, col = cols)
0395394
2014/11/14(金) 14:50:16.66
別解として、事前に色対応のデータフレームを作成しているとすると、
次のような感じ。
> (col.table <- data.frame(Species = c("setosa", "versicolor", "virginica"), cols = c("orange4", "violetred", "tan4")))
Species cols
1 setosa orange4
2 versicolor violetred
3 virginica tan4
という対応テーブル(データフレーム)が事前にあったとして、
> iris2 <- merge(iris, col.table, x.all = TRUE)
> with(iris2, plot(Sepal.Width, Sepal.Length, col = cols))
0396132人目の素数さん
2014/11/16(日) 11:43:38.42
>>394-395
レス遅くなりまして申し訳ありません
参考にさせていただきます、ありがとうございました
0397132人目の素数さん
2014/11/28(金) 18:55:36.77
積分を含んだ関数のフィッティングってできますか?
例えば、
f(x) = ∫^1_x {a*t^b/√(t^2 - x^2)}dt
0<x<1
のようなやつです
0398132人目の素数さん
2014/11/28(金) 22:08:21.00
>>397
与えられた関数ではたぶんt^2-x^2が負になることがあるのがめんどいので変えました
できてるかな?コードが汚いのは勘弁して下さい

SS<-function(par){
a=par[1]
b=par[2]
t=par[3]
fx<-c()
for(m in 1:10){
fx<-c(fx,integrate(f,lower=1,upper=x[m],a=a,b=b,t=t)$value)
}
print(fx)
return(sum((y-fx)^2))
}

f<-function(x,a,b,t){
#if(0<x && x<1){return(0)}
#return((a*t^b)/(sqrt(t^2-x^2)))
return(a*x^b+t*log(x))
}

x<-1+2*runif(10)
y<-x+runif(10)
SS(c(1,1,1))

fx=integrate(f,lower=1,upper=12,a=1,b=0.5,t=1.2)
optim(c(1,1,1),SS)
0399132人目の素数さん
2014/11/28(金) 22:48:41.97
うひょー、こんなパッとできるのですか!
ありがとうございます
0402132人目の素数さん
2014/12/04(木) 14:43:19.93
optim関数を実行した時に「オブジェクトは 'double' に変換できません」というエラーが出ます。
何が原因でしょうか?

以下コード

data <- read.table("RSRF_mc150k_80kev.txt", header=FALSE, sep="\t")

f <- function(par){
b <- par[1]
c <- par[2]
d <- par[3]
l <- par[4]
f <- par[5]
g <- par[6]
h <- par[7]
m <- par[8]
V1 <- data[1]
V2 <- data[2]
w <- (-V2 + 1 - ((b*exp(-f*V1))/(1-exp(-f)) + (c*exp(-g*V1))/(1-exp(-g)) + (d*exp(-h*V1)/(1-exp(-h)) + (l*exp(-m*V1))/(1-exp(-m))))^2 )
return(w)
}

init <- c(1.611e-5, 1.468e-4, 9.19e-4, 1.48e-2, 0.0023, 0.0150, 0.0827, 0.5786)
opt <- optim(par=init, fn=f, NULL, method = "SANN")

以下にエラー optim(par = init, fn = f, NULL, method = "SANN") :
(list) オブジェクトは 'double' に変換できません
0403132人目の素数さん
2014/12/04(木) 17:47:16.92
optim関数は関係ない
V1、V2にデータフレームが入っているからエラーが出る、たぶん

(参考) irisを例にstr()で構造を確認してみれば、これらで構造が違うことが解る
str(iris[1])
str(iris[,1])
0404132人目の素数さん
2014/12/04(木) 18:05:52.54
>>403
ありがとうございます。
エラーメッセージが変わりました。↓
optim の目的関数が 1 つではなくて 1135 個の結果を評価しています

nlsのかわりとしてoptimを使ったのですが、nlsのように連立方程式を解くというようなことはできないということでしょうか?
0406132人目の素数さん
2014/12/04(木) 18:38:26.17

V1 <- data[,1]
V2 <- data[,2]
w <- (-V2 + 1 - ((b*exp(-f*V1))/(1-exp(-f)) + (c*exp(-g*V1))/(1-exp(-g)) + (d*exp(-h*V1)/(1-exp(-h)) + (l*exp(-m*V1))/(1-exp(-m))))^2 )
www <- sum(w^2)
return(www)
}


これじゃダメ?
0407132人目の素数さん
2014/12/05(金) 13:04:42.76
>>406
ありがとうございます。
できました
0408132人目の素数さん
2014/12/09(火) 06:11:09.54
1−100の整数を、すべて一回ずつランダムな順番で表示(発生?)させたいのですが
そのような関数はありますでしょうか
0412408
2014/12/10(水) 07:25:42.80
ありがとうございます!
0413ほげ
2014/12/10(水) 19:10:41.03
Rの入力画面が“+”になったままです。
通常の“>”にするにはどうすればいいのでしょうか。
ご教示ください。
0414ほげ
2014/12/10(水) 19:17:12.30
”STOP”をクリックして解決しました。
どうも失礼しました。
0415132人目の素数さん
2014/12/10(水) 19:21:13.85
別に失礼しなくて良いから死ね
0416132人目の素数さん
2014/12/10(水) 20:30:40.69
いちおう答えておくと入力が足りないというメッセージだから足りないものを補うか、
ESCキーで逃げる。
0417132人目の素数さん
2014/12/24(水) 08:45:38.47
macさいこう〜
0419132人目の素数さん
2015/01/09(金) 07:40:53.73ID:33u48+dB
みなさんCPU何使ってますか?

わたしはintel i5 の2coreですが
nnetや深層学習で遅さを感じるように
なりました
0420132人目の素数さん
2015/01/09(金) 13:10:53.64ID:QZWUgko2
>>419
バッチとかシェルとか使って
次々作業を自動でするようにするとか

もっと高いCPU使うとか
並列処理させてみるとか。

安いんだから台数増やして対応したらどう?

俺は基本的に一番安いノートを使ってる。
昔は高いCPUとか部品とか購入してたけど
数年たつと安物に速度も容量も負けるので
バカらしくなって高級部品は買わずに
一番安い機種を購入することにしてるよ。
0421至高の狐独文武学者cafeーSHO-GUNイスラム金融系最高指導者遅獄先生
2015/01/09(金) 14:20:10.06ID:fTyN8wof
統計学は太兵を失い敗退し、時代遅れだが、
虚実混合実数確率集合論は、世界二十世紀最後の最難関
だったから、一読の価値あり。兵法書としても。
戦場で探せるかな。盗み読み。走り読み。
0422至高の狐独文武学者cafeーSHO-GUNイスラム金融系最高指導者遅獄先生
2015/01/09(金) 14:21:12.56ID:fTyN8wof
大兵。
0423132人目の素数さん
2015/01/09(金) 21:55:55.72ID:QZWUgko2
そうか?
数学の中で統計って結構役にたつよ。
特にコンピューター関係で非常に役にたってるじゃん。
0424132人目の素数さん
2015/01/30(金) 22:02:06.23ID:HgcHm/47
Rを使ったクラスター分析についてわからないことがあるので教えて下さい。

Rコマンダーを使ってクラスター分析をウォード法、ユークリッド距離を使って行いました。
その際クラスター数を何個にするべきかクラスターの距離?を使って判断したいんですが
どのようにその距離を数値化することができますか。
JMPを使ったクラスター分析では例えば
クラスター数が1の場合、距離という項目が10.389
2の場合は10.256
3は10.132
4は9.618
5は9.578
というような形で明記されます。
この時3と4の間の距離が大きいのでクラスター数を3個にするといった判断基準を行ってきました。
これと同様のことをRを使って行いたいのですが、調べてもわかりません。
上記をする方法を教えていただきたいです。お願いします。
0425132人目の素数さん
2015/01/31(土) 11:20:45.92ID:SiAB+M7V
>>424
一般的に、
回答できない人 → Rコマンダーユーザ層
回答できる人 → 普通のRユーザ層
と思われるので、
Rコマンダーをメニューから実行したときに出現するコマンドを書いた方が
回答を得やすいと思うよ。
0426132人目の素数さん
2015/01/31(土) 12:50:36.50ID:C1UilbcO
ネット検索しろよ

ツール名 やりたい事

でネット検索したら簡単に調べれるだろ。
osoパッケージ入れてキーワード検索するのも良いかも。
0427132人目の素数さん
2015/01/31(土) 21:48:54.24ID:Epu3UWxe
30名限定!銀座で飲みながら「人生でやりたいことを諦めない」パラレルキャリアについて語り合うイベントを開催!

ってのがヒットした
0428132人目の素数さん
2015/01/31(土) 21:56:57.08ID:RXQnWHQr
>>427
どんだけ検索ヘタッピなんだよ。
メンドクセーやつ。
もっと馬鹿向けのツールにかえた方が良いよ。
0429132人目の素数さん
2015/01/31(土) 22:10:30.13ID:BZTS7IuP
自分が馬鹿なのを人のせいにするなよ
0430132人目の素数さん
2015/01/31(土) 23:00:35.19ID:19ip1QXI
>>429
自分で使えないようなツールつかうなよ。
検索すらできないおバカ!
0431132人目の素数さん
2015/02/02(月) 10:21:50.97ID:GNP7Ha4V
卒論シーズンになると子供が湧くなw
罵倒している子供も、質問している子供と50歩100歩

>>424
クラスターの個数を決めるなら、例えばNbClustパッケージを使うとか
ウォード法、ユークリッド距離を使った例
> data <- iris[,-c(5)]
> library(NbClust)
> res <- NbClust(data, diss=NULL, distance = "euclidean", min.nc=2, max.nc=6,
+ method = "ward.D2", index = "kl")
All 150 observations were used.
> print(res)
$All.index
2 3 4 5 6
5.6522 4.1503 1.5906 1.5679 2.5556

$Best.nc
Number_clusters Value_Index
2.0000 5.6522

$Best.partition
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[38] 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[75] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[112] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[149] 2 2
0432419
2015/02/13(金) 17:34:03.21ID:Wh9OMXZ9
>>420
ご助言ありがとう
高いスペックのPC買うより
安いのを複数で並列にしますわ
0433132人目の素数さん
2015/02/28(土) 23:45:01.63ID:GpLE1gOh
424です
自分なりに調べてみたんですがやはりわからないです
どうやら私が知りたいのはクラスター分析の履歴で、距離の結合過程のようです
すみませんがどなたか教えてください、困ってます

>431さんのはたぶん距離の結合過程ではないようです、でもありがとうございました

>425さん
コマンドで表すと
HClust.1 <- hclust(dist(model.matrix(~-1 +j+k+n+m, A)) , method= "ward")
plot(HClust.1, main= "Cluster Dendrogram for Solution HClust.1", xlab= "Observation Number in Data Set A", sub="Method=ward; Distance=euclidian")
です
0434132人目の素数さん
2015/03/01(日) 00:45:41.96ID:TyvXqwym
>>433
昔ネット検索したときに
距離の関数を自作すれば計算してくれるパッケージあったけどな
ちゃんと検索しろよ
面倒くさくなって検索ちゃんとしとらんだろ
自分でプログラム作れないなら
検索くらいしっかりしろよ
0435132人目の素数さん
2015/03/01(日) 00:59:38.46ID:Dyp/TkMy
>>434
色々と検索してみたんですがダメでした
検索するときに重要なキーワードとかあったら教えて下さい
0437132人目の素数さん
2015/03/01(日) 08:37:56.17ID:TyvXqwym
>>435
途中であきらめとるだろ
俺がみつけれとんだし
まず検索しなおせよ
0438132人目の素数さん
2015/03/01(日) 08:38:24.79ID:TyvXqwym
>>435
そんな手間かけずにみつけれたぞ
なんて名前のパッケージか忘れたけど
0439132人目の素数さん
2015/03/01(日) 14:06:11.66ID:Dyp/TkMy
>>436
distではないようです

>>437
>>438
この1ヶ月検索してみたのですがダメでした
ヒントだけでも教えて下さいお願いします
0440132人目の素数さん
2015/03/01(日) 18:26:16.55ID:08QQ84Zx
>>439
OSOパッケージつかうと検索はしやすい
0441132人目の素数さん
2015/03/01(日) 19:12:17.23ID:Dyp/TkMy
424です
いやもう限界です
もう自力では無理です
教えてくださいお願いします
0442132人目の素数さん
2015/03/01(日) 20:55:32.53ID:08QQ84Zx
>>441
検索すらまともにできんのかよ
この馬鹿は
検索は忍耐力だけ
耐えんかい!
0443132人目の素数さん
2015/03/01(日) 21:02:05.44ID:Dyp/TkMy
>>442
忍耐力というか
もう検索するキーワードがなくてどうしようもないんです
お願いですから教えて下さい
0444132人目の素数さん
2015/03/01(日) 23:12:06.71ID:wKImvE5a
>>424
Rではできないと思う

おれはあきらめて、Rubyでプログラムを作ったよ
プログラミングは得意だと思っていたが二か月かかった

ネットで探しても、参考になるようなソースは見つからなかったから
かなり大変だった

健闘を祈る!
0446132人目の素数さん
2015/03/02(月) 00:43:34.19ID:TMpvWbpk
RubyGemsが特別CRANより優れている訳でもないから
Rubyで書ける計算はRでも書けると思うのだが?
0448132人目の素数さん
2015/03/20(金) 12:16:48.76ID:+ItMXnMR
すみません、多数の住所を巡回しなきゃならないんですが、
このソフトでTSPを解けるんですかね?
住所を緯度経度に変換するところまではなんとかやりましたが、
最短で廻るルートがさっぱりで...
よろしくお願いします
0450132人目の素数さん
2015/03/25(水) 10:00:13.13ID:YSqNlYmo
GPUに勝てない
0451132人目の素数さん
2015/03/25(水) 14:04:02.55ID:CH/w1DxE
違うところに書き込んでたようなので移動しました

453 :132人目の素数さん:2015/03/25(水) 11:42:34.89 ID:XFYYJvdYK
R初心者です
nls.lmの使い方を教えてください
いままでフィッティングはエクセルでやってましたが
誤差評価をつけろと言われてRを始めたところ全然分からなくて困っています
時間に対して観測値が変化するのを普通の式でフィッティングするのはできるのですが
一定の時間の後に式が変化するときの場合分けはどうしたらよいのでしょうか?
具体的に言うと、1回投与に対するフィッティングはできるけど
数回に分けて投与する場合のフィッティングが分かりません
推定値をgetPred(parS, t)という関数で求めるとして、
getPred関数中のif文でtの値による場合分けをして
サブルーチンを呼び出そうと思ったのですが
nls.lm中にはtの値はベクトルで渡されていて
nls.lmが最少化する目的関数の計算中に変化させているt[?]の状態で
サブルーチンに渡すことができず
単純にtをgetPredに渡してif(t<1)とかやると
「条件の長さが2以上なので・・・」
というエラーメッセージがでてしまいます
うまく場合分けする方法はあるでしょうか

454 :453:2015/03/25(水) 11:49:25.36 ID:XFYYJvdYK
補足です
if文ではなく、
getPredの中に場合分けに対応した複数の式を書いて
それぞれの頭に
ceiling(min(1,max(0,t-1)))*
のような0か1になる場合分けの式を書き込んでもnls.lmは分けてくれませんでした
0452132人目の素数さん
2015/03/25(水) 16:15:22.17ID:CFPzIfdW
>>451
数千種のパッケージがある中、使用パッケージの前置きなしに、突然nls.lmと言われても、
ほぼ誰も答えられないと思うぞ。minpack.lmなんて初めて聞いた。有名なのか?
MWE (Minimal Working Example)の提示もなしに、言葉だけの説明だと、検証して助言する気にもなれない。

> day <- 1:100
> y <- 2 * day + 3
> yeps <- y + rnorm(length(y), sd = 2)
> dat <- data.frame(day, yeps)

1日から50日はyeps ~ a + b * day
51日から100日は yeps ~ a + b * I(day^2)だとすると、

> nls(yeps ~ a + b * day, data = dat[dat$day < 51, ], start = list(a = 0.12345, b = 0.54321))
Nonlinear regression model
model: yeps ~ a + b * day
data: dat[dat$day < 51, ]
a b
3.01 2.00
[以下省略]
> nls(yeps ~ a + b * I(day^2), data = dat[dat$day > 50, ], start = list(a = 0.12345, b = 0.54321))
Nonlinear regression model
model: yeps ~ a + b * I(day^2)
data: dat[dat$day > 50, ]
a b
76.3125 0.0131
[以下省略]

質問の意図と全く違うなら、説明の仕方が悪い。
0454451
2015/03/25(水) 21:08:40.68ID:CH/w1DxE
さっそくのお返事ありがとうございます

説明が悪くて申し訳ありません
nls.lmはnlsよりエラーが出にくいとネットで見たので
エラーの対処もなかなかできない自分にとってはそのほうがいいかと思って使ってみました
実際にはnls.lmもエラーが出てそれほど良いわけでもなさそうでした

プログラミング自体初心者なものでMWEがうまくつくれず
どうしても非常に長くなってしまうので
データの概形が分かるグラフだけを下に貼ってみました
これで分かりますでしょうか

t<-c(1:100)
pre<- c(1:100)
k1=0.3
k2=0.1
graphplot<-function(x){
for(i in 1:x){
pre[i]<-
k1/(k1-k2)*(exp(1)^(-k2*t[i])-exp(1)^(-k1*t[i]))+
ceiling(min(1,max(0,t[i]-7)))*k1/(k1-k2)*(exp(1)^(-k2*(t[i]-7))-exp(1)^(-k1*(t[i]-7)))+
ceiling(min(1,max(0,t[i]-21)))*k1/(k1-k2)*(exp(1)^(-k2*(t[i]-21))-exp(1)^(-k1*(t[i]-21)))+
ceiling(min(1,max(0,t[i]-35)))*k1/(k1-k2)*(exp(1)^(-k2*(t[i]-35))-exp(1)^(-k1*(t[i]-35)))
par(new=T)
plot(t[i],pre[i],xlim=c(0,100),ylim=c(-5,5))
}
}
graphplot(100)

続きます
0455451
2015/03/25(水) 21:09:15.05ID:CH/w1DxE
続きです

変なコーディングで意味不明かもしれませんが
不規則な(0,7,21,35日目での)投与で患者さんの反応が4つ山のグラフになっているイメージです
これを、上の関数で使っている
k1/(k1-k2)*(exp(1)^(-k2*t[i])-exp(1)^(-k1*t[i]))
という
直列につながった2ボックスのモデルでフィッティングして
患者さんの体内にあるそれぞれのボックスの代謝排出速度定数k1,k2を得ようとしています
その方法で悩んでいるところです


エクセルでパラメータの誤差を得る方法も分からなくてRを試していました>>453
とりあえず1回投与のような単純なものはRのnlsでパラメータと誤差を得ることができました
エクセルでパラメータの誤差を簡単に得る方法はどこかに出てますでしょうか?
探し方が悪いのかなかなか見つかりません・・・
0456451
2015/03/25(水) 21:12:02.62ID:CH/w1DxE
y軸の指定をミスってグラフがつぶれ気味になってしまいました
すみません
0457132人目の素数さん
2015/03/26(木) 00:47:26.80ID:0DqIuYAV
あん?結局目的は達成できてるの?何ができてないの?
0458451
2015/03/26(木) 09:49:43.09ID:6GQExkhD
目的はパラメータk1, k2を誤差つきで得ることです

>>454のようなデータ(例えばこれにランダムな誤差を与えたもの)を
>>455のような2ボックスモデルで解析してk1,k2を決定したいのですが
nlsやnls.lmでうまくできなくて困っています
>>454のデータは4回投覧^なので4つの山の合成のような形になっています
>>454のモデルはそのままだと1つの山なので
そのままnlsなどでに突っ込んでもフィッティングできません
なにか方法はないでしょうか
0459132人目の素数さん
2015/03/26(木) 10:59:53.11ID:i5xJoGQy
とりあえず >>454をrewriteしてみた

t <- 1:100; n <- max(t)
k1 <- 0.3; k2 <- 0.1
x <- x0 <- k1/(k1-k2)*(exp(-k2*t)-exp(-k1*t))
x[(1 + 7):n] <- x[(1 + 7):n] + x0[1:(n - 7)]
x[(1 + 21):n] <- x[(1 + 21):n] + x0[1:(n - 21)]
x[(1 + 35):n] <- x[(1 + 35):n] + x0[1:(n - 35)]
plot(t, x, type = "l")

で、区間毎に別々にk1, k2を求めて標準誤差または信頼区間を計算するのはだめで、
k1とk2が統合されなければならないってこと?
0460451
2015/03/26(木) 11:37:43.13ID:6GQExkhD
k1,k2は生理的なものなので、それぞれが常に一定である必要があります
例えると、ある薬品が血中に投与された時の
k1は薬物の代謝分解速度定数、k2は腎臓からの排出速度定数で
これらが一定な状態の被験者に
薬物を4回投与した時のデータが>>454のグラフになります
つまり、
知りたいのは人間の体の代謝能力の方で
ある時間における代謝の状態ではないということです

なかなかうまく説明できなくてすみません
0461451
2015/03/26(木) 11:43:15.31ID:6GQExkhD
例えと書きましたが、
実際に排出速度定数k1,k2の直列2コンパートメントの微分方程式を解いたものが
k1/(k1-k2)*(exp(-k2*t)-exp(-k1*t)) です

>>459のように短く書けるのですね
勉強になります。ありがとうございます
0462132人目の素数さん
2015/03/26(木) 11:48:35.14ID:i5xJoGQy
例えば、こんな感じなのか。
t <- 1:100; n <- max(t)
k1 <- 0.3; k2 <- 0.1
x <- x0 <- k1/(k1-k2)*(exp(-k2*t)-exp(-k1*t))
x[(1 + 7):n] <- x[(1 + 7):n] + x0[1:(n - 7)]
x[(1 + 21):n] <- x[(1 + 21):n] + x0[1:(n - 21)]
x[(1 + 35):n] <- x[(1 + 35):n] + x0[1:(n - 35)]
s1 <- ceiling(pmin(1, pmax(0, t - 7)))
s2 <- ceiling(pmin(1, pmax(0, t - 21)))
s3 <- ceiling(pmin(1, pmax(0, t - 35)))
m1 <- nls(x ~ k1/(k1-k2)*(exp(-k2*t)-exp(-k1*t)) +
s1 * k1/(k1-k2)*(exp(-k2*(t - 7))-exp(-k1*(t - 7))) +
s2 * k1/(k1-k2)*(exp(-k2*(t - 21))-exp(-k1*(t - 21))) +
s3 * k1/(k1-k2)*(exp(-k2*(t - 35))-exp(-k1*(t - 35))),
data = data.frame(t, x, s1, s2, s3),
start = list(k1 = 0.4, k2 = 0.2),
control = list(warnOnly = TRUE))
summary(m1)
confint(m1)

confint()が計算できないみたいだけど。
0463451
2015/03/26(木) 12:17:33.16ID:6GQExkhD
ありがとうございます
nlsに与える式の中にtの値での場合分けがあってもちゃんと答えが得られるんですね
式の与え方は自分がやってうまくいかなかったときと同じようなので
tの渡し方とかその辺でなにか間違っていたのかもしれません
(式の複雑さとか、tが整数ではないとか細かい違いはたくさんありますけれど)


うまくいく例>>462を教えていただいたので
それをベースに改変すればできるはずと分かり助かりました
先が見えたのでエラーがでてもめげずにデバッグできそうです
有難うございます
0464132人目の素数さん
2015/03/26(木) 12:41:20.44ID:i5xJoGQy
>>463
s1, s2, s3は、君のやり方を踏襲したけど、
t <- 1:100; n <- max(t)
s1 <- rep(0:1, c(7, n - 7))
s2 <- rep(0:1, c(21, n - 21))
s3 <- rep(0:1, c(35, n - 35))
でいいと思うぞ。
0465451
2015/03/26(木) 16:02:29.70ID:6GQExkhD
教えていただいたテンプレをベースにやったらうまく解析できました
自分でやってうまくいかなかった理由は
ceiling(min(1,max(0,t[i]-7)))*
という部分だと判明しました
投与時間t[i]は実数で欠損値もないので
なぜmin,maxがNaNを返すのかまだ理解できていませんが
とにかく、pmin,pmaxだと大丈夫で、min,maxだと
「計算結果がNaNになりました・・・」というエラーになるようです



nlsやnls.lmの使い方の問題ではなく
自分の式の書き方の問題でした
おさわがせして申し訳ありません

いろいろ教えていただいた皆様、有難うございました
>>459, >>464の書き方も勉強になりました
0466132人目の素数さん
2015/03/26(木) 17:15:55.08ID:i5xJoGQy
>>465
pmin()とmin()は用途が違う。

> (a <- round(rnorm(10)) + 5)
[1] 4 6 6 5 3 5 6 2 4 4
> min(1:10, a)
[1] 1
> pmin(1:10, a)
[1] 1 2 3 4 3 5 6 2 4 4
> max(1:10, a)
[1] 10
> pmax(1:10, a)
[1] 4 6 6 5 5 6 7 8 9 10
0467451
2015/03/26(木) 20:05:22.29ID:6GQExkhD
t[i]じゃなくてtになってました。なのでpmin,pmaxですね
こまごま間違いがあるもの、というか
自分がミスが多すぎるのでしょうか・・・

うまくいったと思っても
別の被験者のデータを入れたらまたエラーになってしまいました
いまのところ5人中3人でNaNエラー
エクセルで得た推定値を入れていて初期値での推定値が測定値にはほぼ一致しているのに何故NaNエラー?
まだまだデバッグにかかりそうです・・・
0468451
2015/03/26(木) 20:35:12.43ID:6GQExkhD
結局6人のデータのうち3人がエラーでした

測定値とエクセルの推定値をプロットして回帰すると
エラーがでなかった方でy=0.81-0.93, r2=0.97-0.99
エラーが出た方で0.84-1.15,r2=0.85-0.98
異常値があるわけでもないしデータの問題ではなさそうです

nlsに入れた式の部分をコンソールにコピーすれば
測定値にほど近い正の実数が並ぶし
なにが問題なんでしょう・・・
0469451
2015/03/26(木) 21:46:40.01ID:6GQExkhD
nlsでエラーが出るデータはnls.lmでもエラーになりました
nls.lmはエラーが出にくいという話でしたが
そういう問題じゃないところでのエラーか
0470132人目の素数さん
2015/03/28(土) 00:27:44.38ID:7TzTwEzf
Mさんだとエラーが出ていしまう男性は多数、
私の数字の概念をはるかに超えている醜さ。
無限大の脂肪率で、人格障害で恋愛成就する確率は0.1の1億乗。
半径50M以上は近づかないでほしい。(証明おわり)
0471132人目の素数さん
2015/03/28(土) 17:37:38.27ID:XFZ1n0Q5
人間の価値は顔とコミュ力の二変数関数と良い近似を見せる
0472132人目の素数さん
2015/04/07(火) 04:22:35.92ID:IdhiGeWV
質問です

whi.e(i in 1:10)
{
 p[i] = i
 i = i + 1
}
print(p)

とすろとオブジェクトpがありませんというエラーが出るのですが、
pというオブジェクトが生成されてない原因は何なのでしょうか
0476132人目の素数さん
2015/04/28(火) 00:49:48.08ID:Tq0doYMv
行列の特定の要素に任意の値を代入するにはどうすればいいですか
a[1,2]=10としてもエラーがでます
これに関してググりまくったんですがなぜか全然出てこなくて困ってます
0477132人目の素数さん
2015/04/28(火) 04:52:33.71ID:zIHTG37z
>>476
> a<- matrix(1:16,nrow=4)
> a
[,1] [,2] [,3] [,4]
[1,] 1 5 9 13
[2,] 2 6 10 14
[3,] 3 7 11 15
[4,] 4 8 12 16
> a[1,2]<- 10
エラー出ないよ。
エラーメッセージを載せたら?
0478132人目の素数さん
2015/04/29(水) 00:43:49.64ID:0Y6+dzWb
>>477
どうやら既存の要素でないと書き換えることができないことを知らず、
その表でいうとa[1,5]=10みたいなことをやっていて、
しっかりnrow=5で行と要素を存在させてから命令したらうまくいきました
ありがとうございました
0479132人目の素数さん
2015/05/03(日) 00:28:40.00ID:pU39guuD
いまESS使ってるんですが、Rstudioとどっちが使いやすいでしょうか?
Rstudioに乗り換えようか迷っています
0481132人目の素数さん
2015/05/16(土) 15:00:59.37ID:NHBCVBFJ
2次元形式で文字を表示させるにはどうすればいいでしょうか
cd/m^2の2乗を表示したいです
0482132人目の素数さん
2015/05/19(火) 10:20:57.41ID:7yqFaZsb
>>481
2次元形式は意味不明だけど、superscript (肩付き)のことを言っているなら、
「expression r superscript」でぐぐれ
0484132人目の素数さん
2015/06/03(水) 21:12:58.43ID:TMOQWk9m
>>480
こっちは、どっちが使いやすいかを訊いているのですが?
お前が共存させてようが知ったことではないです。
0485132人目の素数さん
2015/06/04(木) 19:38:35.06ID:gfaBlbTX
>>484
あなたが共存させて使い比べるのが一番でしょう。
あなたにとっての使いやすさの話なんだろうから。
0486132人目の素数さん
2015/06/05(金) 12:35:31.55ID:MDjykZPp
>>484
そのような返答は端から見ていても不快ですよ。
私はEmacsに慣れているので、ESSの方が圧倒的に使いやすいです。
RStudioとESSとどちらが使いやすいかは、人それぞれですよ。
ただ、Emacsを使ったことがない人には、RStudioを薦めています。
0487132人目の素数さん
2015/06/05(金) 18:00:31.95ID:VSz1UO41
Rは連立三次方程式解けますか?
0489132人目の素数さん
2015/06/08(月) 18:34:18.87ID:K54v27jp
エクセル持って無いんだけどopenofficeのデータを
Rにコピペする方法ってある?(´・ω・`)
0490132人目の素数さん
2015/06/08(月) 18:38:32.69ID:/HB4vF8B
区切り文字が分かればできてるでしょ
ちなみにExcelはタブ区切り
0491132人目の素数さん
2015/06/08(月) 20:36:58.31ID:M9dGRTLi
OpenOffice持ってないんだけど、範囲選択し、copyを選択し、
Rで
read.delim("clipboard")
とかで出来ないかな。
0492132人目の素数さん
2015/06/09(火) 18:58:46.73ID:ifB12Z3k
指定した一定の距離で
互いに離れた点の分布を生成するのって
簡単な関数ある?
0494132人目の素数さん
2015/07/01(水) 04:25:30.24ID:TGLv9MfB
Rのマニュアルやらわかりやすい例題やら作れって言われた。 
創薬系研究室在籍やけど、なんかいい例題ないですかね?
0498132人目の素数さん
2015/07/01(水) 22:18:43.50ID:I24ifN48
いや万人には受けない…
データ取ってくるの一番めんどくさそう
0499132人目の素数さん
2015/07/12(日) 14:57:40.77ID:Sw/04KCk
rinsideってc++にR組み込めるみたいだけど
fortranかjavaにR組み込めるパッケージ出ないのかな
作ろうっていう神とかいらっしゃらない?
0500132人目の素数さん
2015/07/21(火) 23:10:29.27ID:FsBb/NpU
3.2.0が出たことを知った今日この頃
ちな3.1.1

ここにいる皆さんは新しいバージョンが出るとすぐにアプデするの?
0501132人目の素数さん
2015/07/23(木) 20:48:22.72ID:AOB+IQP4
お前R全然使えないじゃん。
ブログのコードとか結構ひどいと思うぞ
0502132人目の素数さん
2015/07/24(金) 09:37:24.04ID:YGu5K6J3
>>500
Ubuntu/Debianだと、事実上自動的にアップデートされてしまうので、
そんなことは意識しない。論文を書くときに、分析したときのバージョンをチェックするぐらい。
0504132人目の素数さん
2015/07/27(月) 18:25:21.42ID:KzAHLkDJ
プログラミングの非常に初歩的な質問で申し訳ないんですが、複数のcsvファイルを読み込んで特定の列を抽出して結合し、一つのマトリクスとして書き出したいのですが、どのようにプログラムを組めばいいでしょうか?
手作業でも可能な作業ですが、csvファイルの数は500あるのでプログラムを組んで時間を短縮できたらと思います。
おそらくfor文を使うのでしょうが、プログラミングを始めたばかりでどのように書けばいいのかわかりません
知恵を貸してください
0506132人目の素数さん
2015/07/27(月) 20:26:20.99ID:KzAHLkDJ
>>505
回答ありがとうございます
読み込みに関してはread.csvでa1-a500まで書いて読み込めてます
非効率なのは承知していますが、これからもっと勉強して効率的なコード技術を身につけたいと思います。
問題はその後、for文を使えば繰り返しを行えるとのことで
i=1
for[i in 500]{
bi <- ai[,10]
}
みたいに書いてみたのですが、当然回りませんでした。
結合はcbindを使えばいいということも調べたのですが、列抽出と結合をfor文に上手く組み込めないという現状です。
0507132人目の素数さん
2015/07/27(月) 20:54:47.17ID:hW1bJ8L9
かなり汚い書き方だけど、その列の長さ(nとする)が同じなら
A<-list.files()
B<-matrix(0,n,length(A))
for(m in 1:length(A)){
temp<-read.csv(A[m],header=TRUE)
#その列の名前がxとする
B[,m]<-temp$x
}
とかでできないのかなあ
0508132人目の素数さん
2015/07/27(月) 21:24:59.06ID:KzAHLkDJ
>>507
>>504です

A<-list.files(pattern=".csv$")
B<-matrix(0,360,length(A))
for(m in 1:length(A)){
temp<-read.csv(A[m],header=TRUE)
B[,m]<-tenp$10
}
こんな感じでよろしいのでしょうか?列の長さは等しくないので最大のcsvのものを設定しています.
このまま回したところエラーが吐き出されてしまいました.
0510132人目の素数さん
2015/07/27(月) 22:07:51.04ID:KzAHLkDJ
>>509
取り出せていなかったようなので

A<-list.files(pattern=".csv$")
B<-matrix(0,360,length(A))
for(m in 1:length(A)){
temp<-read.csv(A[m],header=TRUE)
B[,m]<-tenp$name
}

こちらで回したところ,
Error in file(file, "rt") : コネクションを開くことができません
追加情報: Warning message:
In file(file, "rt") :
ファイル 'NA' を開くことができません: No such file or directory
>
とのことでした.
また,ValuesにAは表示されていますが,character(empty)となっていてcsvファイルも読み込まれていないように感じます.
私はmacでRStudioという環境ですが,Rと.csvが同一フォルダにある場合list.files()のパスは必要ないんですよね?
質問ばかりで申し訳ありませんが,後学のために教えていただけると助かります.
0511132人目の素数さん
2015/07/27(月) 22:26:08.37ID:hW1bJ8L9
list.files(pattern=".csv$")
ここだけ実行して目的のcsvは表示される?

指定もできるけどと思うけど指定しなかったら普通にカレントだろうねえ
まあRSTtudii使ってるなら引数は候補で出てくるしそこらへん適当にヘルプでも見て
0512132人目の素数さん
2015/07/27(月) 22:37:29.01ID:KzAHLkDJ
>>511
character(0)となっているということは.csvが検出されていないということですよね?
なぜでしょう…
0513132人目の素数さん
2015/07/27(月) 23:14:50.99ID:hW1bJ8L9
>>512
getwd()でカレントどこになってるか見える
RStusioの右下に表示されてるスペースがカレントとは限らなかったような
0514132人目の素数さん
2015/07/28(火) 00:16:37.53ID:vtbmtaiA
>>513
getwd()でカレントを確認し,pathに代入して

A<-list.files(path,pattern=".csv$")
B<-matrix(0,360,length(A))
for(m in 1:length(A)){
temp<-read.csv(A[m],header=TRUE)
B[,m]<-tenp$速度name
#nameに列名
}
で回しても
Error in file(file, "rt") : コネクションを開くことができません
追加情報: Warning message:
In file(file, "rt") :
ファイル 'NA' を開くことができません: No such file or directory

Aはcsvを見つけられてないようです
0515132人目の素数さん
2015/07/28(火) 00:26:37.64ID:vtbmtaiA
>>513
すいません!!カレントを正しく打ち込み直したらcsvを読み込むことができました!!
ただBの中身が全て0になってしまい

Error in make.names(col.names, unique = TRUE) :
'<95>W<8d><82><28>m)' に不正なマルチバイト文字があります

というエラーを吐き出してきました
これはどういう修正を加えれば良いでしょうか?
0516132人目の素数さん
2015/07/28(火) 00:33:47.62ID:KWe1rzzX
>>515
わからん
ただ、ぐぐったら
http://app.f.m-cocolog.jp/t/typecast/1990464/1998288/93641564
こんなのが出てきた
今はcsvファイルの一列目は列の名前ですか?
そうでないならheader=FALSEにしてみてください
そのときに$でアクセスすることができなくなります。何列目か固定(m列目とする)ならtemp[,m]でいけるかな
0517132人目の素数さん
2015/07/28(火) 00:40:51.36ID:vtbmtaiA
>>516
遅くまでありがとうございます.
ヘッダーの件はは自分でも調べてエンコードを以下のように変えてなんとか対処できました.
path <-XXXXX
A <- list.files(path,pattern=".csv$")
B <- matrix(0,360,length(A))
for(m in 1:length(A)){
temp<-read.csv(A[m],header=TRUE,fileEncoding = "utf8")
B[,m]<-temp$name
}
すると,以下のようなエラーがでました

エラー: 関数でないものを適用しようとしました
追加情報: Warning messages:
1: In read.table(file = file, header = header, sep = sep, quote = quote, :
入力コネクション ‘YYYYYYY.csv' に不正な入力がありました
2: In read.table(file = file, header = header, sep = sep, quote = quote, :
incomplete final line found by readTableHeader on ‘YYYYYY.csv'
これについては何かおわかりでしょうか?
0518132人目の素数さん
2015/07/28(火) 01:08:17.44ID:KWe1rzzX
>>517
Warningなら動いてるはずだけど

mが1のときはちゃんと読み込めてるんだよね?
0519132人目の素数さん
2015/07/28(火) 01:31:14.83ID:vtbmtaiA
>>518
そのはずなんですが…
Bが0行列になってしまっているということは読み込めていないんですかね?
0522132人目の素数さん
2015/07/28(火) 01:45:28.67ID:KWe1rzzX
>>521
temp<-read.csv(A[1],header=TRUE,fileEncoding = "utf8")
も入んないのかね?
Aにやっぱりファイル名取れてる?
コンソールでAとだけ打ったら中身見えるのは知ってるよね?
0523132人目の素数さん
2015/07/28(火) 01:55:44.46ID:vtbmtaiA
>>522
Aにはちゃんと全ファイル名が取れています
見てみると1つ目のcsvファイルで突っかかっているようです
0524132人目の素数さん
2015/07/28(火) 01:57:20.78ID:vtbmtaiA
>>522
追記になりますがA[1]に置き換えて1行で実行しても同じエラーを吐き出します
0525132人目の素数さん
2015/07/28(火) 02:00:17.62ID:KWe1rzzX
>>523
なるほどねえ

あ、今ってさ、カレントディレクトリにcsvあるわけじゃないんだけ?
setwd(path)でそこにディレクトリ移動できるからそれからread.csvやったらダメかね?
0526132人目の素数さん
2015/07/28(火) 02:05:16.07ID:vtbmtaiA
>>525
setwd(path)
getwd()
path <- ‘ZZZZZZZZZZ’
A <- list.files(path,pattern=".csv$")
B <- matrix(0,360,length(A))
for(m in 1:length(A)){
temp<-read.csv(A[m],header=TRUE,fileEncoding = "utf8")
B[,m]<-temp$name
}
こちらで回しても同様です
.Rファイルと.csvファイルは同じフォルダにいれています
0528132人目の素数さん
2015/07/28(火) 02:39:20.26ID:vtbmtaiA
>>527
先ほどのtxtをcsv形式で保存してpath2に代入
bb<-read.csv(path2,header=TRUE,fileEncoding = "utf8")
bb

こちらは普通にマトリクスが表示されます
0529132人目の素数さん
2015/07/28(火) 02:59:14.78ID:KWe1rzzX
>>528
そっか、手間取らせちゃったね

Rとは直接関係ないけど、csvファイルのセパレータは「,」か改行コードがどうとかなのかなあ
テキストエディタでcsv開いたら確認できる
0530132人目の素数さん
2015/07/28(火) 10:06:15.51ID:vtbmtaiA
>>529
お早うございます昨日はありがとうございます
一応read.csvの中にsep=','も入れてるのですがどうにも…
ヘッダーに日本語が混じっているとエンコード入れてもダメなんですかね?
0531132人目の素数さん
2015/07/28(火) 20:43:03.59ID:M+NvABK0
>>530
> ヘッダーに日本語が混じっているとエンコード入れてもダメ
今のRは、そんなことない。

正常なcsvは正常に読み込めて、君のcsvは正常に読み込めないのであれば、
われわれ読み手には分からない未知の原因がそのcsvファイルにあるのだと思うよ。
とにかくファイルA[1]がread.csv()で読めるようにならないと先に進まないよね。

こういう場合は、csvファイルの列を減らして、徐々に増やして、原因を調べる。
また、行を減らして、3行ぐらいのcsvを作ってみて、それを試してみるとか。
成功したら、また行を増やして試してみるとか。
不正なcsvファイルの原因を追及して、分かったら、その対処をして、Rに読み込めばいいと思うよ。
0532132人目の素数さん
2015/07/28(火) 23:00:40.47ID:vtbmtaiA
>>531
アドバイスありがとうございます

遅くなってしまいましたが、解決したので報告にきました。
全てのcsvのヘッダーを削除することでread.csvが正常に作動するようになりました。(ヘッダーのT,F切り替えでは無理でした)
また、結合したい列群をlist関数に一度格納して、全てを結合することで解決できました。

ご協力頂いた方、ありがとうございました
0533132人目の素数さん
2015/07/31(金) 09:59:53.05ID:DO8zGsqL
>>532
> ヘッダーのT,F切り替えでは無理でした
header = FALSEにするなら、1行目を無視するためにskip = 1も必要だろ。

いずれにしても解決おめでとう。
0534132人目の素数さん
2015/07/31(金) 21:25:16.77ID:riU+k5oH
ふと思ったんだけど、統計解析を題材にしたSF小説って無いだろうか?
『星を継ぐもの』の統計解析版みたいな感じに、ホームズ役がt検定とかF検定で謎を解く。
誰か書かんかね。
億万長者になれるかもよ。
0535132人目の素数さん
2015/07/31(金) 21:35:39.73ID:riU+k5oH
統計解析がどの程度「科学」なのかにちょっと疑問を感じて。

p値が10のマイナス××乗くらいだと「何かある」と言って良いのだろうけど、
反証可能性がどうのという次元と5%で有意という次元に、厳密性でだいぶ開きがあるような気がする。
0536132人目の素数さん
2015/07/31(金) 22:54:53.01ID:awcQKgZ6
統計解析ミステリーとか面白いな
主人公が頑張って調べて一応事件が解決するんだけど、
唯一残った謎が実は有意水準の設定による第1種の誤謬とかが
起こっていたみたいなエピローグがあるところまでは、妄想したw
0537132人目の素数さん
2015/08/01(土) 02:33:55.55ID:ZNLg3iYz
確率が絡む分かりやすい例はDNA鑑定なのかな
もっとも統計解析ミステリーと銘打っておいて題材がDNA鑑定じゃ
ちょっと陳腐か
0538132人目の素数さん
2015/08/01(土) 14:00:24.11ID:cdZbFyUY
こんなのなら少し近いかな。
『グレーレンズマン』アスタウンディング誌1939年10月号より四回連載。
>「では分析し理論づけを行い、結論を引き出そう」首席は宣言した。
>各生物は自己のアイディアと推論を機械に提供した。機械は短時間
>うなった後、テープを押し出した。<中略>「九五パーセント以下の
>可能性しか持たない結論はすべて除外する」彼は宣言した。「われ
>われは次のような結論を得た。第一、三つ一組の事実が、九九・九
>九パーセントの確率で―つまり事実上確実に―存在する。すなわち…
九五パーセントって、統計的検定を意識してるよね。
0539132人目の素数さん
2015/08/01(土) 20:38:34.34ID:3lDnuubF
あ、すごい有意水準定めてるwwwww
俺統計学史には疎いんだけど、ストーリーに紹介されるほどには発達してたんか
0540132人目の素数さん
2015/08/02(日) 11:08:47.80ID:pPxvYBP9
警察による税金を使ったいやがらせ犯罪、集団ストーカー。犯行内容
盗聴、盗撮、尾行、待ち伏せ、家宅侵入、窃盗、器物破損、風評のばらまき、就職妨害、リストラ工作、
暴走族や暴走大型車両による騒音攻撃の繰り返し、住居周辺での事件のでっちあげ、音声送信の強要、
電磁波による触覚攻撃、思考盗聴、無言電話、無実の人間を犯人にでっち上げ、ヘリによる威嚇、殺人、
メディアを使ってのほのめかし。特に家宅侵入、器物破損、窃盗は犯罪そのもので、犯罪組織に人を
逮捕する権限をあたえているのが今の日本であり、恐ろしい国になっているである。
0541132人目の素数さん
2015/08/19(水) 04:13:08.56ID:tbE5FBce
for(a 1 in 100){
 for(b 1 in 100){
  for(c 1 in 100){
   for(d 1 in 100){
    e=a*b*c*d
    if(e>max_e)max_e=e
   }
  }
 }
}



という入れ子ループにすると、
ご存知の通りRでは劇的に処理が遅く、
これを解決する手法としてベクトル化することが知られてますが、
ググってはみてもベクトル化の仕方が分かりません
forが1つであれば分かるのですが入れ子の場合はどうすればベクトル化できるのでしょうか
0542132人目の素数さん
2015/08/19(水) 11:13:37.49ID:fli8kshb
RってCUDAもしくはCPUのマルチスレッド化をできるものなんですかね?
0543132人目の素数さん
2015/08/20(木) 00:09:16.90ID:ShE/kWzv
>>541
こんなのは? 2行目がベクトル化ということだと思う:
df <- expand.grid(a=1:10, b=1:10, c=1:10, d=1:10)
df$e <- with(df, a*b*c*d)
max(df$e)
0544132人目の素数さん
2015/08/20(木) 01:40:41.55ID:dXbmcH55
>>543
うおお・・・!
素晴らしいとしか言いようがないです
1:100として手元のi5ノートPCで走らせたところ

ユーザ システム 経過
20.19   4.97    25.43

なお541のコードだと・・・

ユーザ システム 経過
499.98  0.19    505.33

雲泥の差です
expand.gridで組合せの行列を作ることができるんですね
それでeを一括計算してmaxで最大値を導き出す
やはりRでは常にベクトル化を心がけないと遅すぎでR嫌いになりかねないというか、
いかにベクトル化できる知識があるかというのが重要なファクターですね
i7でゴリ押し処理出来ないこともないんですが、エクセレントコード化への努力がハード面の改良を大きく越えることができるのがRの長所(R以外の言語もそうですが)と思うので、色々と本なりネットなり漁ってみたいと思います
ほんと勉強になりました
ありがとうございました
0546132人目の素数さん
2015/08/20(木) 19:46:36.26ID:Y8GshSzD
>>545
この例だったら総当りじゃなくて重複組み合わせの積で十分だと思うけど
Rでどうやってやんの?
0547132人目の素数さん
2015/08/20(木) 20:23:38.30ID:6h9pThzp
>>546
RってLAPACKのラッパーだからな。
行列の処理に帰着させられない問題はもともとどうしようも無いのだと思う。
0549132人目の素数さん
2015/08/24(月) 11:33:04.13ID:fMyLrrec
オレもexpand.gridが思い浮かんだ。
>>545と比較すると、

> system.time(max(1:100%o%1:100%o%1:100%o%1:100) )
ユーザ システム 経過
0.711 0.075 0.787
> system.time({df <- expand.grid(a=1:10, b=1:10, c=1:10, d=1:10);df$e <- with(df, a*b*c*d);max(df$e)})
ユーザ システム 経過
0.002 0.000 0.002

圧倒的だな。
0551132人目の素数さん
2015/08/25(火) 14:23:38.49ID:VKOwsEzn
>>550
ほんまや、すまんかった
> system.time(max(1:100%o%1:100%o%1:100%o%1:100))
ユーザ システム 経過
0.643 0.104 0.747
> system.time({df <- expand.grid(a=1:100, b=1:100, c=1:100, d=1:100);max(with(df, a*b*c*d))})
ユーザ システム 経過
4.381 0.759 5.144
0553132人目の素数さん
2015/08/28(金) 02:21:22.46ID:BhFILxkp
expand.gridで組合せ一覧を作って行列計算できる系だと速いけど、
if文とか入ってる自作関数を適用するときはエラー吐かれて結局逐次計算せざるを得ないケースも多いから、
俺の場合行列計算で高速化できるケースは少ない
0554132人目の素数さん
2015/08/28(金) 10:17:06.13ID:D54eSQRE
>>553
なんで「if文とか入ってる自作関数を適用するときは...逐次計算せざるを得ない」のだろう?
最小の事例とか示せる?
0555132人目の素数さん
2015/08/29(土) 17:32:24.04ID:nwQxpgb8
>>554
例えば-10から+10の乱数を10000個作る
これを10列で区切って1000行の行列にする
行の0以上の要素の合計をA、0未満の要素の合計をBとして、
A+Bの合計Cを11列目に追加する作業を、
行列計算で一括計算はできない、
1行毎にif文使って逐次計算する他ないということだ

x<-floor(runif(10000, min=-10, max=10+1))
y<-matrix(x,ncol=10)

A=sum(y[y>=0])みたいなif文を使うからfor文使わざるを得ない
 
0556132人目の素数さん
2015/08/29(土) 19:13:13.30ID:2gl0DL79
>>555
大きなお世話かもしれんが、データフレームでいいんだったらこんなんでいいと思うけど。
library(dplyr)
y <- data.frame(x=floor(runif(10000, min=-10, max=10+1)), group=rep(1:1000, each=10))
summarize(group_by(y, group), A=sum(x[x>=0]), B=sum(x[x<0]), C=A+B)
0557132人目の素数さん
2015/08/29(土) 19:39:13.16ID:2gl0DL79
行列で計算するならこんなだろうか。
x<-floor(runif(10000, min=-10, max=10+1))
y<-matrix(x,ncol=10)
z <- cbind(y, apply(y, 1, function(a) sum(a[a>=0])+sum(a[a<0])))
0558132人目の素数さん
2015/08/29(土) 20:24:54.57ID:nwQxpgb8
>>556,557
調べればRって大規模計算が苦手なんだな
dplyrって結構有名らしいがニッチなパッケージばかりいじってたから知らなかった
汎用性高そうというかRに最初から付属しておいて欲しいくらい高性能だ
しかも俺みたいにパッケージに丸投げして終了ではなく、
しっかり標準装備の関数でも実現するとは・・・
ちなみに557の方が556より20倍速かった
ということでdplyrマスターするためにあれこれググろうと思う
行列計算にif文使えるというのが分かって非常に感動している
ありがとう>>556さん、涙出た
0559132人目の素数さん
2015/08/29(土) 23:11:25.09ID:Ks3pTbSX
>>558
失礼かもしれないがこれって結構常識だぞ
rってスクリプトでバカでもすぐ動くコードが手に入るからこういう知ったかした自称中級者みたいなやつが多すぎる気がする
データサイエンティスト()みたいな人たちもかなりひどいコード書いてる事例をいくつも見てきた
0560132人目の素数さん
2015/08/31(月) 10:26:40.19ID:0WBAiZli
dplyrとかggplot2とか、未だに抵抗あるし、使っていない。
0561132人目の素数さん
2015/08/31(月) 18:25:06.81ID:6OjiZrwk
先輩方、2つ質問があります

1つはベクトルを一期ずつずらして行列にするというもので、
1〜100が入ったベクトルから、

1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
...

という行列を作りたいんですが、
こういうのは、

a=1:100
b=a
a.len=length(a)
for(i in 2:5){
b=cbind(b,a[i:a.len])
}
b

という感じでforとbind使うしか方法ないでしょうか?
これだとaが10000とかあるとまあまあの処理時間を要してしまいます
0562132人目の素数さん
2015/08/31(月) 18:25:53.91ID:6OjiZrwk
もう一つがあれから色々とググってたdplyrについてで、
dplyrのsummarizeという関数は、
applyみたいに行単位で関数にデータを渡して計算できないんですか?
上のbをb.df=data.frame(b)として、
のb.dfをsummarizeにそのまま渡したら行ではなく全体を計算してしまうわけですが、
>>557のapply(y, 1, function(a) sum(a[a>=0])+sum(a[a<0]))
みたいな処理をさせるにはb.dfをグルーピングする必要があるのでしょうか?
0563132人目の素数さん
2015/08/31(月) 21:21:59.53ID:VE1W5WJm
a<-1:1000
n<-5
b<-c()
last.b<-length(a)-n
for(i in 0:last.b){b<-rbind(b,head(a,n)+i)}

そこまで時間かかるわけでもないしなにがしたいのかあまりわからない・・・
横は5固定なのだろうか・・
0564132人目の素数さん
2015/08/31(月) 21:37:59.43ID:a6KkcCW8
>>561
for と bind を使うしかないと思う。縦にずらした後の末尾の値がNAでいいのなら、より早いのは
library(dplyr)
a <- list(1:100)
for (i in 2:5) a[[i]] <- lead(a[[i-1]])
b <- do.call(cbind, a)

>>562
データフレームでもそのままapplyが使える。
b.df=data.frame(b)
apply(b.df, 1, function(a) sum(a[a>=0])+sum(a[a<0]))
0566132人目の素数さん
2015/08/31(月) 22:49:57.01ID:bRmq7rAJ
>>561

n <- length(a)
m <- 5
idx <- outer(1:n, 1:m, function(x, y) {
i <- x + y - 1
ifelse(i > n, NA, i)
})
matrix(a[as.vector(idx)], n, m)
0568132人目の素数さん
2015/09/01(火) 03:44:48.39ID:APnc79JV
>>563
この時系列行列に変換する作業を数百回近く計算させるので少しでも速い方が良いわけです
1000も5も暫定の数です
やはりcbindではなくrbindですよね
forの回数を減らしたいがためにちょっとインチキかなと思ったんですが、
563さんのコードが正確に意味を捉えた書き方で、
自分のやり方だと行列計算したときに結果が違ってきそうです

>>564
おお、dplyrを使った方法とは・・・
末端部分に多少の欠損値があっても大丈夫です
do.call関数でググったら、
なにやらcbind_allというものを使うとめっちゃ速くなるらしいので少し調べてみたいと思います

b.dfにapplyを適用させるのではなく、
apply(b.df,1,・・・と同等の処理をdplyrで実現できないか?ということです
実はforからapplyに書き換えたら処理速度が遅くなったという経緯がありまして・・・
多分書き換える過程で余計な処理が入ったためと思われますが、
dplyrで処理したら或いはという思惑と、
これが実現できたらこれから大分dplyrに依存=夢広がるという期待があります
0569132人目の素数さん
2015/09/01(火) 03:45:19.40ID:APnc79JV
>>565,567
うおお・・・for文使ってない!
凄いのですが基本を右往左往してる自分には理解するのに暫くかかりそうです
特に+0:99など何がどうなっているのか
あと条件後出しで申し訳ないんですが実際計算するときのaは等間隔で増加するベクトルではなく、
任意の数列を使うのでサンプルでとなるとa<-floor(runif(1000, min=-10, max=10+1))みたいなのを想定しています
matrix関数を使って出来るのでしょうか

>>566
今のところ最速で処理できています
aを任意のベクトルにしても実用的な速さで十分な速度が得られています
まだコードを理解しきれていないですが、これでかなりいけそうです
あとはこれをdplyrで行列計算できれば・・・
0570132人目の素数さん
2015/09/01(火) 06:35:19.43ID:APnc79JV
>>566
と思ったらこちらも任意のベクトルを適用できませんでした・・・orz
しかしトリッキーな発想で面白い
ん〜・・・試行錯誤してみます


ちなみに自前のデータで処理時間を計測

[要素数1,000]
for+cbind
ユーザ システム 経過
0.07 0.00 0.07
dplyr(>>564)
ユーザ システム 経過
0 0 0
[要素数100,000]
for+cbind
ユーザ システム 経過
6.78 0.53 7.42
dplyr
ユーザ システム 経過
0.41 0.03 0.43
[要素数1,000,000]
for+cbind
ユーザ システム 経過
61.94 8.00 70.55
dplyr
ユーザ システム 経過
4.23 0.78 5.02

という結果でした
0571132人目の素数さん
2015/09/01(火) 11:44:57.85ID:K/HKBkbA
>>561
任意のベクトルを使い、n行m列の場合。意外なことに、行列を使った方が遅かった。
n <- 100000; m <- 1000; x <- floor(runif(n, min=-10, max=10+1)); library(dplyr)
system.time(suppressWarnings(matrix(c(x,rep(NA,m)),nrow=n+m+1,ncol=m)[1:n,]))
system.time({y<-list(x);for(i in 2:m) y[[i]]<-lead(y[[i-1]]);do.call(cbind,y)})
0572132人目の素数さん
2015/09/01(火) 14:54:45.72ID:sVtr2BWr
Rのkernlabパッケージのksvmについて質問です。

クラス分類の方法は、1対他分類法でしょうか?それとも、1対1分類法でしょうか?
0573132人目の素数さん
2015/09/01(火) 21:52:40.64ID:APnc79JV
>>571
numericで領域確保してからやると1割くらいは速くなりましたが、
やはりc++で書かれてるdplyrが大分上手のようです

applyライクな処理をdplyrでの件ですが、
引き渡すベクトルが順不同であればsummarizeでもイケるんじゃね、
ということで見様見真似で書いたのが、

result <- data.frame(b,group=1:length(b[,1]))%>%group_by(group)%>%summarize(sum(x[x>=0])+sum(x[x<0]))

で、遅っい上に結果も散々でした
どこが悪いんでしょうか
0574566
2015/09/01(火) 22:17:22.56ID:SSGZ4Gcs
>>571
a が任意のベクトルで動作するはずだが。
うまくいかないなら、例を示してくれ。
0575566
2015/09/01(火) 22:41:48.49ID:SSGZ4Gcs
>>570
a が任意のベクトルで動作するはずだが。
うまくいかないなら、例を示してくれ。
0576132人目の素数さん
2015/09/02(水) 02:57:51.71ID:4iW/oU28
>>574
どうやら色々やってるうちにaに生成した(1:1000)ベクトルが入った状態でテストしたようで、
勝手に先の流れで序順を利用したコードだと思い込んでいました
大変に失礼しました

ちなみに処理時間を計測

[要素数1,000]
ユーザ システム 経過
0 0 0
[要素数100,000]
ユーザ システム 経過
0 0 0
[要素数1,000,000]
ユーザ システム 経過
0 0 0

( д) ゚ ゚


これが神か・・・
コードの理解に暫く時間がかりますが、
これは何としても使えるようになりたいです
 
0577132人目の素数さん
2015/09/02(水) 12:39:45.57ID:4iW/oU28
なるほど先に要素行列を作ってベクトルに変換して必要な要素を一気に取り出して行列に変換しているのか
1期ずらす処理を1度に処理する為にouter使っているのがミソというわけで
見るほどに感心するコードだ
0578132人目の素数さん
2015/09/03(木) 00:14:38.52ID:5YiJ7XJ/
今はdplyrだけに頼らず、
他の関数見つけたりプログラムの構造変えたりで何とかやってみます
みなさんどうもありがとうございました!
0580132人目の素数さん
2015/09/09(水) 21:15:19.06ID:TrnTzRuR
プログラミング言語っていくつ覚えればいいのか不安になる(と思ったのが10年以上昔のこと)。
C/C++、Perl 4とshだけでもこりごりという感じだったのに。
0581132人目の素数さん
2015/09/17(木) 23:09:34.21ID:IcXN+AYD
重回帰分析についての質問です。
普通の線形回帰で、残差をリサンプリングするブートストラップはlm.boot関数でできます。
そして、ロバスト回帰はlmrob関数でできます。
ロバスト回帰の標準誤差を「残差をリサンプリングする」ブートストラップで
求めるにはどうしたらいいでしょうか?
FRBパッケージのFRBmultiregMM関数だと、説明変数をリサンプリングするタイプしかできません。
よろしくお願いします。
0582132人目の素数さん
2015/09/19(土) 23:05:08.64ID:SzjUH7wj
581さんと被っちゃいますが、重回帰分析について質問です

調べたのですがどうにも重相関係数Rの出し方が分からなくて。どなたかお教え頂けないでしょうか?
0583132人目の素数さん
2015/10/07(水) 21:26:24.84ID:SCBAaPXh
普通の多層パーセプトロン(MLP)なら {neuralnet} や {RSNNS}、
リカレントボルツマンマシン(RBM)なら {RSNNS} や {deepnet}、
Deep Belief Network (DBN)なら {deepnet} など。
よく読みこめてませんが、広くディープラーニングは {h2o}。

畳み込みニューラルネット(DNN)、ディープボルツマンマシン(DBM)を
実装しているパッケージが見つかりません。
知っている方いらっしゃったら教えていただけませんか?
0584132人目の素数さん
2015/11/25(水) 11:47:23.80ID:w1ZE2Z96
昨日からターミナルで使い始めた初心者です。
?saveでsaveのヘルプを表示させました。
スペースを押して、ヘルプの最後まで表示させると
(END)という表示が出ています。
このヘルプを終了させて、?saveでヘルプを表示させる
までの続きの作業をしたいのですが、どうやって
ヘルプを終了させてもとのRの作業に戻れるのでしょうか?
0585132人目の素数さん
2015/11/25(水) 12:29:22.87ID:wET37QtA
>>584
操作はページャの種類に依存します。
自分でoptions("pager")を設定した記憶がないのであれば、
lessやmanなどと同じ操作系だと思います。
qを押下して終了です。
0586132人目の素数さん
2015/11/25(水) 17:52:35.61ID:w1ZE2Z96
>>585
ありがとうございます。教えていただいたやり方でヘルプを抜けることが
できました。
0587132人目の素数さん
2015/11/28(土) 17:28:15.50ID:YHjirQEi
RとRsdudioインストールしました。入門書教えてください。
0591132人目の素数さん
2015/11/30(月) 16:28:03.44ID:mrGrCOoh
>>588
>>590
ありがとう、でも初心者には難しい
はじめての「R」、とか見付けたので色々あさってみる
0592132人目の素数さん
2015/12/09(水) 11:22:45.05ID:/M/35Cmk
Rのコンソール設定を変更して、背景色を変えたり、テキストのカラーを
変更してsaveやapplyしても、もう一回、Rコンソールに入り直すと、
デフォルトの白色の背景色と赤色の>コマンドになってしまうのは、なぜなのでしょうか。

ちなみに、windowsユーザで、Rstudioは使用していません。
macユーザだと、その辺りが簡単になっている感じがする。
0593132人目の素数さん
2015/12/09(水) 11:30:29.13ID:/M/35Cmk
あと、R3.2.2だと、直交表を作成するconjointライブラリーやepicalcライブラリー
が入らないのですが、R3.2.2で、それらと同様のことが出来るライブラリーは
ありませんか。

Rの2系を入れて試しても、バージョンが少しでも違うと入らないようです。

なるべく、R3.2.2だけを利用していきたいので、なんかいい方法ないかな、と。
0594132人目の素数さん
2015/12/09(水) 17:19:57.20ID:eAv93o6+
嘘はよくないぞ
> R.Version()$version.string
[1]
0595132人目の素数さん
2015/12/09(水) 17:21:57.88ID:eAv93o6+
あれ、途中で切れた?
R version 3.2.2でもepicalcはインストールできるよ
> R.Version()$version.string
[1] "R version 3.2.2 (2015-08-14)"
> packageVersion("epicalc")
[1] ‘2.15.1.0’
0596132人目の素数さん
2015/12/10(木) 13:23:04.42ID:0xWTEjIU
>>595
今、それと同じように実行してみたところ、以下の結果になった。

> R.Version()$version.string
[1] "R version 3.2.2 (2015-08-14)"

> packageVersion("epicalc")
packageVersion("epicalc") でエラー:
パッケージ ‘epicalc’ が見付かりません

と表示されたので、パッケージをインストールしてみた。


> install.packages('epicalc')
Installing package into ‘C:/Users/ユーザー名/Documents/R/win-library/3.2’
(as ‘lib’ is unspecified)
--- このセッションで使うために、CRAN のミラーサイトを選んでください ---
警告メッセージ:
package ‘epicalc’ is not available (for R version 3.2.2)

と表示されて、やはり、入らなかったよ。
0597132人目の素数さん
2015/12/10(木) 13:30:31.94ID:1yOwJ443
>>596
epicalcはアーカイブに入っているから、そんな方法じゃ入らないよ。
CRANからソース(*.tar.gz)をダウンロードして、ソースから入れないと。
コンパイルできる環境が構築していないなら、まずはそこからだな。
Mac OS XやLinuxでは何てことはない平常運転でも、
Windowsユーザはいろいろと苦労しなくてはいけないことがあるが、まぁ頑張れ。
0598132人目の素数さん
2015/12/10(木) 14:17:12.25ID:0xWTEjIU
>>597 ありがとうございます。やはり、Rはコンソール設定など含めて、
Macの方がいろいろと楽みたいですね。

あと、今、自分が使っている、最近、出版されたRのテキストに、
IQR()関数は、四分位偏差と書いてあるのだけど、
これって、四分位範囲のことと間違えているんじゃない。

四分位範囲は、(第3四分位数)−(第1四分位数)のことで、それを2で
割ったものが、四分位偏差だと思うのだけど。


でも、それをRで実行してみると、おかしな結果になる

> a <- c(1,2,3,4,5,6)
> median(a)
[1] 3.5 中央値は、これで正解になっている


> IQR(a)
[1] 2.5

と出るのだけど、四分位範囲であれば、ここでの第3四分位数である
5と、第1四分位数である2を引いた数である3が正解になっているはず
なのに、なぜか、2.5がIQR()関数での結果となってしまう。

この理由が分かる人、誰かいませんか。
0600132人目の素数さん
2015/12/10(木) 15:13:40.19ID:0xWTEjIU
>>599 関数の()を付けないで入力すると、函数のソースを出せるんですね。
さっそく、やってみました。

> IQR

と、入力してIQR()関数がどうなっているかを調べてみると、


function (x, na.rm = FALSE, type = 7)
diff(quantile(as.numeric(x), c(0.25, 0.75), na.rm = na.rm, names = FALSE,
type = type))
<bytecode: 0x2c0ca970>
<environment: namespace:stats>

この関数のコードは、よく分からないのだけど、たぶん、ベクトルcの中で、
0.75の位置にあるもの(第3四分位数)と0.25の位置にあるもの(第1四分位数)を
差分(diff)した解を求める関数とある。やはり、IQR()は、四分位範囲(quantile)を
求める関数で、四分位偏差を求めると記述してあったRの本は、記述ミスだったらしい。

でも、 a <- c(1,2,3,4,5,6)で、自分で計算するやると、やはり、3が答えになるのだけど、
Rだと、

> IQR(a)
[1] 2.5

と表示されるので、やはり、自分にとっては謎設定であるIQR()関数
0602132人目の素数さん
2015/12/10(木) 16:30:43.29ID:/qElYksh
>>600
aをquantile()に入れてみそ

ヘルプ見ると分かるけど四分位値の計算方法って9通りあるから

スマフォなんで、ぶっきらぼうでスマンが
0603132人目の素数さん
2015/12/10(木) 16:32:36.22ID:1yOwJ443
>>599
そのあたりの話はヘルプに詳しく書いてあった気がするけど。
>>601 の指摘通り、複数のやり方があるので要注意。
0605132人目の素数さん
2015/12/10(木) 22:09:25.43ID:0xWTEjIU
>>601

共著者3人で書かれたものです。題名と著者名があえて挙げないけど、
出版社はオーム社で、今年、出版されたもの。これだけで、結構、
該当著書が絞り込めるはず


>>602
面白い方法を教えてくれて、ありがとうございます。
さっそく、言われた通り実行してみると、

a <- c(1,2,3,4,5,6)

quantile(a)
0% 25% 50% 75% 100%
1.00 2.25 3.50 4.75 6.00

と実行結果が得られる。このRの四分位数の計算だと、第3四分位数が75%の下に
書いている4.75になって、第1四分位数が25%の下にある2.25になって、
その四分位範囲は、(第3四分位数の4.75)−(第1四分位数の2.25)の演算で
2.5が答えという風になっているようだけど、学校で習う一般的なレベルでの
要素が偶数個ある場合の四分位範囲の求め方は、

a <- c(1,2,3,4,5,6) だと、左半分(この場合は、1,2,3)の中央値である2が
第1四分位数となって、右半分(この場合は、4,5,6)の中央値である
5が第3四分位数になるので、a <- c(1,2,3,4,5,6) のベクトルでは

(第3四分位数の5)−(第1四分位数の2)=(四分位範囲の3)

が、一般的な四分位範囲の答えのはずなのです。
0606132人目の素数さん
2015/12/10(木) 22:09:52.51ID:0xWTEjIU
>>603 ヘルプに書いてあるんですね。今、コンソールのヘルプにある
関数で、quantileを入力すると、

ttp://127.0.0.1:27220/library/stats/html/quantile.html

に、その演算の仕様が書いてあって、英語なので、まだ、よく読んでいない
のだけど、教えてくれたように、9タイプくらいの方法 quantile algorithms が
あるみたいです。そして、記述によると、どうもベクトル内の要素を連続量(値)とみなすか、
離散量(値)とみなすかで計算方法が違うらしくて、それで私の計算結果との誤差が生じている
感じですね。RのIQR()関数は、どうやら連続量を前提にして、計算しているらしいです。

quantile(a)
0% 25% 50% 75% 100%
1.00 2.25 3.50 4.75 6.00  で、分かりました。
0607132人目の素数さん
2015/12/10(木) 22:10:14.21ID:0xWTEjIU
>>604
やってみました。

> fivenum(a)
[1] 1.0 2.0 3.5 5.0 6.0

そう、この区切り方が5数要約として一般的なもの。この並びだと
真ん中の3.5が、このベクトルの中央値で、一番左の1.0が最小値、
一番右が最大値6.0、

(第3四分位数の5.0)−(第1四分位数の2.0) = (四分位範囲の3)

でいいはずなのに、Rで実行すると、IQR(a) は2.5になってしまう。
上記に書いたように、Rは四分位範囲を離散値でなく、実数の連続量
とみなして計算しているらしいので、いろんな計算の仕方があるんだ、
という風に理解しておきます。みなさんのアドバイス、すごい役立ちました。
感謝です。
0608ID:/qElYksh
2015/12/10(木) 23:09:46.44ID:cDoHP26z
既にご自身で結論を出されていましたね。Rで計算結果に疑問を感じたら
ヘルプを見て、ソースを見てみて下さいな。
0611132人目の素数さん
2015/12/25(金) 06:56:52.21ID:aM2CFtVE
ggplot2のパッケージが、いろんな設定(rstan、JAGS言語など)を
グチャグチャ昨日、適当にいじっていたら、使えなくなってしまった。

インストールは普通に出来るのだけど、library(ggplot2)で実行すると、

> library(ggplot2)
Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) :
‘Rcpp’ という名前のパッケージはありません
エラー: ‘ggplot2’ に対するパッケージもしくは名前空間のロードが失敗しました


となってしまう。Rでggplot2が使えないのは、かなり致命傷になる。それでqplot()なども
使えなくなってしまう。R自体をアンインストール、再インストール・再起動しても同じ状態。
ファイルやフォルダ関係、あとは、アクセス権限がない、みたいなエラーが出たので、
その辺りも、いろいろ弄ってしまったので、調べても訳が分かりません。

barplot()の棒グラフやhist()ヒストグラム、箱ひげ図などは、普通に、表示できるっぽい。
qplot()関係がダメ。だから、それを使った散布図などが出来なくなりました。

windowsユーザーです。Rstudioは使っていない。

これが分かる、サンタさんはどこかにいますか?
0612132人目の素数さん
2015/12/25(金) 07:00:27.25ID:aM2CFtVE
library()で見てみると、

ggplot2 An Implementation of the Grammar of Graphics

という風に、ちゃんと入っている状態なのだけど……
0613132人目の素数さん
2015/12/25(金) 07:52:52.50ID:aM2CFtVE
library(dplyr) でも、

Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) :
‘Rcpp’ という名前のパッケージはありません
エラー: ‘dplyr’ に対するパッケージもしくは名前空間のロードが失敗しました

と出てしまう。
0614132人目の素数さん
2015/12/25(金) 09:34:56.89ID:N3WdRUCJ
頭悪すぎるだろエラーちゃんと読めよ
Rcppが無いって言ってんだからお前がすべきなのはRの再インストールでもggplot2の再インストールでもない
Rcpp消して入れ直してみるのが先だろゴミゆとり野郎
0616132人目の素数さん
2015/12/25(金) 13:33:16.76ID:aM2CFtVE
>>614
言われた通り、Rcppのフォルダを削除して、もう一度、インストールしたら、
即、直りました。サンタさま、ありがとうございました。
おかげで、所要時間20秒で済んだ。年末、これが憂鬱の種にならなくてよかった.

>>615 いや、サンタさまで、十分間に合いました。こんな簡単な処理で、
すぐに直るものなのですね。>>すべては、614さんのおかげ。謝謝
0617132人目の素数さん
2016/01/06(水) 23:07:21.72ID:cU3+F9ld
このスレの人は普段どういう環境で仕事や研究してるの?マシンスペック教えてください。

rstudioは使ってますか?
0618132人目の素数さん
2016/01/07(木) 07:34:53.00ID:X61d4/mV
>>617
RStudioは初心者の教育用に使うだけ。自分の仕事には使わない。
ESS一択。計算量が多い時には、ローカルなマシンで計算せずに、
sshでワークステーションに仕事を投げる。
OSはDebianだったりUbuntuだったり。
0621132人目の素数さん
2016/01/17(日) 00:42:59.69ID:9b3bxHlo
俺もiPad Air持ってて、アプリでR使いたいな

入れておけば(使うことはないだろうけど)精神衛生上なんとなく落ち着くw
0622132人目の素数さん
2016/01/30(土) 01:26:15.08ID:EpxjstHo
y1=5sin(2x)-(x-1)^2-x+1
y2=5xのとき、これらのグラフをx軸について回転したとき
2つのグラフによって囲まれた部分の図形が作り出す体積を求めるプログラムを知りたいです
わかる方よろしくお願いします
少し面倒かと思われますので、指針だけでもよろしくお願いします。
0624132人目の素数さん
2016/01/30(土) 21:47:27.52ID:+SVdgNRU
>>622です
どなたかご協力いただけないでしょうか?
原点付近の、回転体のとき重なる部分が単にy1-y2の絶対値を取るだけでは答えにならない点で困っています
また、式的にはy1-y2=0は解けないので、正確な答えはでないと思います
言い忘れていましたが、xの定義域は-3~3で、統合を含め、xは0.05刻みです
0625132人目の素数さん
2016/01/30(土) 22:40:17.48ID:sI/08laF
>>624
x軸の周りに回転させるんでしょ。
maximaで
> integrate(%pi*(abs(5*sin(2*x)-(x-1)^2-x+1-5*x))^2, x, -3, 3)
とやればいいんじゃないでしょうか。
0626132人目の素数さん
2016/01/31(日) 02:38:51.77ID:I0z1DqCP
>>625
それだと回転体を作るとき重なる部分が出てきませんか?
自分としては2つの関数が正負それぞれの符号の値の時、絶対値が大きい方のみを使えばいいかと思ったのですが
0627132人目の素数さん
2016/01/31(日) 04:22:20.52ID:5xdbM6c9
囲まれた部分を、x軸を中心に回転させるんでしょ
だったら体積は π∫(絶対値の大きい方^2−絶対値の小さい方^2)dx
具体的には、y1とy2の交点は4つ
x1=-3.4 辺り、x2=-1.2 辺り、x3=0、x4=0.9 辺り 
x1〜x2までは、直線の方が絶対値が大きく、
x2〜x4までは曲線の方が絶対値が大きい。従って、
π∫[x1,x2](y2^2-y1^2)dx + π∫[x2,x4](y1^2-y2^2)dx
=π{G(x1)+G(x4)-2G(x2)}、ただしG(x)=∫(y1^2-y2^2)dx
囲まれた部分全体ではなく、-3<x<3に限るんなら、上の式のx1を-3に変えればいい
0628132人目の素数さん
2016/01/31(日) 20:47:21.80ID:2V+6v/YT
すみません、ggplot2について質問なんですが、
X軸の日付が順番通りにならなくて困ってます
グラフの2012年のところだけ順番通りではありません
(10月→11月→12月→1月→2月・・・の順番になってしまっている)
データフレームはUNIXTIME、DATE、CNTで出来ていて、
以上を回避するためにorder=UNIXTIMEとしているのですが症状が変わりません
どうしたら良いでしょうか

ttp://i.imgur.com/MbyJ4Nl.jpg
 
0629132人目の素数さん
2016/01/31(日) 20:48:59.80ID:2V+6v/YT
2012年というか全部12月→1月→2月・・・になっています
出来れば日付は日本語表記のままでグラフを作成したいです
0631132人目の素数さん
2016/02/01(月) 02:05:39.03ID:CZb7wEI0
>>630
やっぱそうなりますよね・・・
でもこれなんでDATEで勝手にソートされるんですかね
0632132人目の素数さん
2016/02/01(月) 02:20:49.00ID:0KawvKnN
>>631
このページは見た? 参考になるかも。
ttp://d.hatena.ne.jp/triadsou/touch/20110701/1309496186
0633132人目の素数さん
2016/02/01(月) 02:32:27.94ID:CZb7wEI0
>>632
私もググってて何となくreorderを使うくさいと思ってたんですが、
今一うまく解説してるところ見つけきらなくて、提示頂いたサイトむちゃくちゃ参考になりました
なるほどやはりggplot2側で自動ソートされる仕様になってたんですね
x=reorder(DATE,UNIXTIME)でうまくいきました
本当にありがとうございました

ttp://i.imgur.com/yDQzvLz.jpg
 
0634132人目の素数さん
2016/02/04(木) 10:32:04.35ID:JL7iFL5z
質問失礼します (作業環境:Rstudio)
plot関数で、Console窓右上の演算マーク (赤丸) が消えてから実際に図に反映されるのに物によって結構ラグがあるのですが、
これってPCスペックの何が原因なのでしょうか? (グラボ?メモリ?)
0635132人目の素数さん
2016/02/08(月) 20:03:50.54ID:LxZQ+c+P
失礼します。

Rのbigmemoryで大規模データを扱っているのですが、
いくつもbig.matrixを開いていたら、
メモリ周りがよく分からない状況になりました。
http://imgur.com/5Qzg6t4
(Ubuntu, R:3.2.3 + CRAN bigmemory)

Rで200GB (300% of 実メモリ) 使っていても、swap 0 ?
VIRTだけなら分かるのですが、RESもSHRも200GBあるのに?
動いているので良いのですが、どこかで落とし穴にはまりそうで、
状況が分かる方がいらっしゃれば教えていただけませんでしょうか。

よろしくお願いいたします。
0636635
2016/02/09(火) 11:18:39.06ID:fzCoE2Td
自己解決しました。
/proc/meminfoを見てみたらほとんどがmapped(mmapでファイルを割り付けたもの)のようで、それがRES等にも加えられてるようです。実質的には3Gも使われてないっぽい。

わ、分かりづらい
0637132人目の素数さん
2016/02/15(月) 08:40:12.65ID:oRmEdyA+
ノーパソ買いかえるんだが、ベイズやる上でCore i7の6500Uと6700HQに体感できる差はある (or 将来的にできそう) ?
重い解析はワークステーションに投げるんで、数十分で終わる程度の奴を想定している
0638132人目の素数さん
2016/02/15(月) 20:28:53.09ID:0p6HKS2R
ノートでi7は要らない
デスクトップのi7と性能違いすぎて詐欺レベル
0640132人目の素数さん
2016/02/18(木) 10:27:34.17ID:ZteT24Rk
>>638-639
レスあり
性能ならデスクトップ一択なのは承知しているんだが、取り回し等よりノーパソ1台で済ませたいという
GPUは意識したこと無かったわ、ありがと
0643132人目の素数さん
2016/02/20(土) 15:26:34.88ID:tDm8yoBp
どれも性能悪い。
無理してRに固執する必要ないだろ。
0644132人目の素数さん
2016/02/26(金) 19:36:22.86ID:sIiMyP7t
素のままじゃできなくて、workspace増やしてfisher.testやったら止まったwww

core i5 560mじゃそろそろ限界かね…\(^o^)/
0645132人目の素数さん
2016/03/08(火) 20:42:50.89ID:yuH6aTM/
複数マシンでSOCKベースのforeachで並列処理をしてたんだけど、
doSNOWとdoParallelって動きが違うのね。
doParallelは.inorder=Fを指定しても.inorder=Tの動きをするみたい。
同期待ちでmasterのメモリが食いつぶされるからちょっとだけ困る
Parallelが標準パッケージだからdoParallelでいけるかと検討したけど、
まだしばらくはdoSNOWじゃないとダメかも。
0648132人目の素数さん
2016/04/28(木) 03:08:15.29ID:aybSk7QD
>>647
俺も今週の月曜にnot foundでショック受けたけど、今さっき復活したわ
何か不安定なのかね
0649132人目の素数さん
2016/05/13(金) 16:55:37.87ID:xYRRJQlp
wilcox.testのwが手計算と合わないので調べたらこういうことだった。


# The literature is not unanimous about the definitions of
# the Wilcoxon rank sum and Mann-Whitney tests.
# The two most common definitions correspond to the sum of the ranks of
# the first sample with the minimum value subtracted or not:
# R subtracts and S-PLUS does not,
# giving a value which is larger by m(m+1)/2 for a first sample of size m

# http://stats.stackexchange.com/questions/65875/different-ways-to-calculate-the-test-statistic-for-the-wilcoxon-rank-sum-test

m<-5
n<-10
x<-rnorm(m)
y<-rnorm(n,1.05)
W<-wilcox.test(x,y)$statistic ; W

sum(rank(c(x,y))[1:m]) ; W + m*(m+1)/2

#p<-wilcox.test(x,y)$p.value ; p
#pwilcox(W,a,b)*2
0650132人目の素数さん
2016/08/13(土) 20:59:56.75ID:dlJBKWkf
Rグラフィック自由自在を買ってみたが、酷い日本語訳だった
内容はいいのに残念
0651◆2VB8wsVUoo
2016/08/13(土) 21:01:15.20ID:MH0rl3z5


>1 :名無しさん :2006/04/30(日) 01:41:01 ID:KPnB.CH2
> 迷惑かしらん
>
>5470 :¥ ◆2VB8wsVUoo :2016/08/06(土) 17:43:47 ID:???
> ¥
>
>5471 :kmath1107★ :2016/08/07(日) 06:25:49 ID:???
> 人への念の盗み見による介入を阻め。
>
>5472 :¥ ◆2VB8wsVUoo :2016/08/07(日) 08:32:51 ID:???
> ¥
>
>5473 :kmath1107★ :2016/08/07(日) 17:43:49 ID:???
> 人への念の盗み見による介入を阻め。
>
>5474 :¥ ◆2VB8wsVUoo :2016/08/07(日) 17:54:48 ID:???
> ¥
>
>5475 :名無しさん :2016/08/08(月) 04:30:59 ID:C9rjCaNs
> 人への念の盗み見による介入を阻むことができれば、多くの人に明るい未来が来る?
>
>5476 :kmath1107★ :2016/08/08(月) 10:05:45 ID:???
> 人への念の盗み見による介入を阻め。
>
> Re:>>5475 人への念の盗み見による介入が無くなれば世の不和が無くなるだろう.
>
0671132人目の素数さん
2016/08/15(月) 23:48:32.35ID:xJYWYtfQ
Big Data
大学学部に入学して
Programming with Big Data in R.読むから
0672◆2VB8wsVUoo
2016/08/16(火) 01:55:22.44ID:N2o8Q9O0


>1 :名無しさん :2006/04/30(日) 01:41:01 ID:KPnB.CH2
> 迷惑かしらん
>
>5535 :¥ ◆2VB8wsVUoo :2016/08/13(土) 18:53:14 ID:???
> ¥
>
>5536 :kmath1107★ :2016/08/13(土) 21:08:24 ID:???
> 人への念の盗み見による介入を阻め。
>
>5537 :¥ ◆2VB8wsVUoo :2016/08/13(土) 21:25:44 ID:???
> ¥
>
>5538 :kmath1107★ :2016/08/13(土) 23:23:07 ID:???
> 人への念の盗み見による介入を阻め。
>
>5539 :kmath1107★ :2016/08/13(土) 23:41:45 ID:???
> 人への念の盗み見による介入を阻め。
>
>5540 :名無しさん :2016/08/14(日) 00:05:47 ID:???
> かつて僕(増田哲也、痴漢で逮捕)が大阪大学基礎工学部の学部学生であった時、大学院の指導教官となってくれそうな先生を
> 探して各地のいろんな先生方を訪ねて回った時の事である。理論物理学を大学院で専攻しようとして理
> 論物理学の初歩をかじっていた僕(増田哲也、痴漢で逮捕)は、当時京都大学数理解析研究所に居られた超一流の理論物理学者で
> おられる中西先生にこんな質問をした事がある。
>
>  僕(増田哲也、痴漢で逮捕) : 「理論物理学では円周率が様々な所に出てきますが、それには何か深い物理的な理由があるの
> でしょうか?」
>
> 中西先生: 「そういう事を何時も頭の片隅に置いておくのはとても大切な事です。でもそんな事ばかり
> 考えていたら研究論文が書けなくなります。研究者とはそんな甘いものではありません。」
>
>  僕(増田哲也、痴漢で逮捕) : 「は−そうなんですか−」
>
> 結局僕(増田哲也、痴漢で逮捕)は京都大学の中西先生ではなく、別の先生に大学院の指導教官になって頂き、理論物理学ではな
> く純粋数学を専攻した。しかしこの時の中西先生のお言葉は今でも何となく「気になって」いる
>
>5541 :名無しさん :2016/08/14(日) 00:22:38 ID:???
> いい加減、芳雄に謝罪しろ
>
0673132人目の素数さん
2016/08/29(月) 20:34:18.53ID:FNSNZBXi
質問します。

id date id2 class x
000 201506 s000 A 1.0
000 201506 s000 B 2.0
000 201506 s000 C 3.0
000 201507 s001 A 0.5
000 201507 s001 B 1.5
000 201507 s001 C 2.5
000 201508 s002 A 3.0
000 201508 s002 B 0.5
000 201508 s002 C 0.1

このようなデータフレームがあったときに、

id date id2 x
000 201506 s000 6.0
000 201507 s001 4.5
000 201508 s002 3.6

このようにclassという変数でxという値に足してまとめる関数などはありますでしょうか?
0674132人目の素数さん
2016/08/29(月) 21:05:52.91ID:UJLq6vde
classの値を条件に取り出して、sumするだけだろ?
0675◆2VB8wsVUoo
2016/08/29(月) 21:16:14.14ID:5a8Ea2gJ


>702 :132人目の素数さん 2016/08/28(日) 09:23:11.92 ID:TqV2rkX7
>荒らしじゃなくてリアル糖質やろ
>数学ってその記号の乱舞や得体のしれなさ感が思考漏出や侵入の妄想に侵されてる糖質を特にひきつけやすいんやろうな
>
>703 :132人目の素数さん 2016/08/28(日) 14:03:57.24 ID:HR+3VvKr
>増田とか決めつけてるやつなんなの。
>
>ただの統合失調症の患者だろ。
>ちょっと前にいた長文キチガイと同じ人物
>
>704 :132人目の素数さん 2016/08/28(日) 23:09:09.34 ID:zyy7a/SC
>お前の方こそマジなんなんだって感じだ。
>芳雄芳雄と騒いだりkmath1107の掲示板に粘着したりするやつは\=猫=Dr.Masudaしかいない。
>
>707 :132人目の素数さん 2016/08/29(月) 00:13:27.56 ID:a08IoyIs
>牟岐線の行楽へ行かないんですか?
>
>755 名前:132人目の素数さん :2016/08/29(月) 16:30:34.20 ID:tk2e6+QZ
> 夏目漱石の遺作である明暗に小林って男がいて
> そいつは人に嫌われることに快感を見出し他人に迷惑をかけることに自分を見出す男なんだけど、猫の人生ってまさにそんな感じだな
> ごみみたいな論文しか書けなくて低学歴
>
>759 名前:132人目の素数さん :2016/08/29(月) 17:22:16.26 ID:3C5ckLv/
> 増田哲也 の銅像を建て、
> 古事記に 増田哲也命(ますだてつやのみこと) の痴漢話を追加して、
> 増田哲也 の悪行を後世に永遠に語り継ごう!
>
0676◆2VB8wsVUoo
2016/08/29(月) 21:18:11.28ID:5a8Ea2gJ


>702 :132人目の素数さん 2016/08/28(日) 09:23:11.92 ID:TqV2rkX7
>荒らしじゃなくてリアル糖質やろ
>数学ってその記号の乱舞や得体のしれなさ感が思考漏出や侵入の妄想に侵されてる糖質を特にひきつけやすいんやろうな
>
>703 :132人目の素数さん 2016/08/28(日) 14:03:57.24 ID:HR+3VvKr
>増田とか決めつけてるやつなんなの。
>
>ただの統合失調症の患者だろ。
>ちょっと前にいた長文キチガイと同じ人物
>
>704 :132人目の素数さん 2016/08/28(日) 23:09:09.34 ID:zyy7a/SC
>お前の方こそマジなんなんだって感じだ。
>芳雄芳雄と騒いだりkmath1107の掲示板に粘着したりするやつは\=猫=Dr.Masudaしかいない。
>
>707 :132人目の素数さん 2016/08/29(月) 00:13:27.56 ID:a08IoyIs
>牟岐線の行楽へ行かないんですか?
>
>755 名前:132人目の素数さん :2016/08/29(月) 16:30:34.20 ID:tk2e6+QZ
> 夏目漱石の遺作である明暗に小林って男がいて
> そいつは人に嫌われることに快感を見出し他人に迷惑をかけることに自分を見出す男なんだけど、猫の人生ってまさにそんな感じだな
> ごみみたいな論文しか書けなくて低学歴
>
>759 名前:132人目の素数さん :2016/08/29(月) 17:22:16.26 ID:3C5ckLv/
> 増田哲也 の銅像を建て、
> 古事記に 増田哲也命(ますだてつやのみこと) の痴漢話を追加して、
> 増田哲也 の悪行を後世に永遠に語り継ごう!
>
0677◆2VB8wsVUoo
2016/08/29(月) 21:19:27.29ID:5a8Ea2gJ


>702 :132人目の素数さん 2016/08/28(日) 09:23:11.92 ID:TqV2rkX7
>荒らしじゃなくてリアル糖質やろ
>数学ってその記号の乱舞や得体のしれなさ感が思考漏出や侵入の妄想に侵されてる糖質を特にひきつけやすいんやろうな
>
>703 :132人目の素数さん 2016/08/28(日) 14:03:57.24 ID:HR+3VvKr
>増田とか決めつけてるやつなんなの。
>
>ただの統合失調症の患者だろ。
>ちょっと前にいた長文キチガイと同じ人物
>
>704 :132人目の素数さん 2016/08/28(日) 23:09:09.34 ID:zyy7a/SC
>お前の方こそマジなんなんだって感じだ。
>芳雄芳雄と騒いだりkmath1107の掲示板に粘着したりするやつは\=猫=Dr.Masudaしかいない。
>
>707 :132人目の素数さん 2016/08/29(月) 00:13:27.56 ID:a08IoyIs
>牟岐線の行楽へ行かないんですか?
>
>755 名前:132人目の素数さん :2016/08/29(月) 16:30:34.20 ID:tk2e6+QZ
> 夏目漱石の遺作である明暗に小林って男がいて
> そいつは人に嫌われることに快感を見出し他人に迷惑をかけることに自分を見出す男なんだけど、猫の人生ってまさにそんな感じだな
> ごみみたいな論文しか書けなくて低学歴
>
>759 名前:132人目の素数さん :2016/08/29(月) 17:22:16.26 ID:3C5ckLv/
> 増田哲也 の銅像を建て、
> 古事記に 増田哲也命(ますだてつやのみこと) の痴漢話を追加して、
> 増田哲也 の悪行を後世に永遠に語り継ごう!
>
0678◆2VB8wsVUoo
2016/08/29(月) 21:20:37.33ID:5a8Ea2gJ


>702 :132人目の素数さん 2016/08/28(日) 09:23:11.92 ID:TqV2rkX7
>荒らしじゃなくてリアル糖質やろ
>数学ってその記号の乱舞や得体のしれなさ感が思考漏出や侵入の妄想に侵されてる糖質を特にひきつけやすいんやろうな
>
>703 :132人目の素数さん 2016/08/28(日) 14:03:57.24 ID:HR+3VvKr
>増田とか決めつけてるやつなんなの。
>
>ただの統合失調症の患者だろ。
>ちょっと前にいた長文キチガイと同じ人物
>
>704 :132人目の素数さん 2016/08/28(日) 23:09:09.34 ID:zyy7a/SC
>お前の方こそマジなんなんだって感じだ。
>芳雄芳雄と騒いだりkmath1107の掲示板に粘着したりするやつは\=猫=Dr.Masudaしかいない。
>
>707 :132人目の素数さん 2016/08/29(月) 00:13:27.56 ID:a08IoyIs
>牟岐線の行楽へ行かないんですか?
>
>755 名前:132人目の素数さん :2016/08/29(月) 16:30:34.20 ID:tk2e6+QZ
> 夏目漱石の遺作である明暗に小林って男がいて
> そいつは人に嫌われることに快感を見出し他人に迷惑をかけることに自分を見出す男なんだけど、猫の人生ってまさにそんな感じだな
> ごみみたいな論文しか書けなくて低学歴
>
>759 名前:132人目の素数さん :2016/08/29(月) 17:22:16.26 ID:3C5ckLv/
> 増田哲也 の銅像を建て、
> 古事記に 増田哲也命(ますだてつやのみこと) の痴漢話を追加して、
> 増田哲也 の悪行を後世に永遠に語り継ごう!
>
0679◆2VB8wsVUoo
2016/08/29(月) 21:22:20.69ID:5a8Ea2gJ


>702 :132人目の素数さん 2016/08/28(日) 09:23:11.92 ID:TqV2rkX7
>荒らしじゃなくてリアル糖質やろ
>数学ってその記号の乱舞や得体のしれなさ感が思考漏出や侵入の妄想に侵されてる糖質を特にひきつけやすいんやろうな
>
>703 :132人目の素数さん 2016/08/28(日) 14:03:57.24 ID:HR+3VvKr
>増田とか決めつけてるやつなんなの。
>
>ただの統合失調症の患者だろ。
>ちょっと前にいた長文キチガイと同じ人物
>
>704 :132人目の素数さん 2016/08/28(日) 23:09:09.34 ID:zyy7a/SC
>お前の方こそマジなんなんだって感じだ。
>芳雄芳雄と騒いだりkmath1107の掲示板に粘着したりするやつは\=猫=Dr.Masudaしかいない。
>
>707 :132人目の素数さん 2016/08/29(月) 00:13:27.56 ID:a08IoyIs
>牟岐線の行楽へ行かないんですか?
>
>755 名前:132人目の素数さん :2016/08/29(月) 16:30:34.20 ID:tk2e6+QZ
> 夏目漱石の遺作である明暗に小林って男がいて
> そいつは人に嫌われることに快感を見出し他人に迷惑をかけることに自分を見出す男なんだけど、猫の人生ってまさにそんな感じだな
> ごみみたいな論文しか書けなくて低学歴
>
>759 名前:132人目の素数さん :2016/08/29(月) 17:22:16.26 ID:3C5ckLv/
> 増田哲也 の銅像を建て、
> 古事記に 増田哲也命(ますだてつやのみこと) の痴漢話を追加して、
> 増田哲也 の悪行を後世に永遠に語り継ごう!
>
0680◆2VB8wsVUoo
2016/08/29(月) 21:24:22.09ID:5a8Ea2gJ


>702 :132人目の素数さん 2016/08/28(日) 09:23:11.92 ID:TqV2rkX7
>荒らしじゃなくてリアル糖質やろ
>数学ってその記号の乱舞や得体のしれなさ感が思考漏出や侵入の妄想に侵されてる糖質を特にひきつけやすいんやろうな
>
>703 :132人目の素数さん 2016/08/28(日) 14:03:57.24 ID:HR+3VvKr
>増田とか決めつけてるやつなんなの。
>
>ただの統合失調症の患者だろ。
>ちょっと前にいた長文キチガイと同じ人物
>
>704 :132人目の素数さん 2016/08/28(日) 23:09:09.34 ID:zyy7a/SC
>お前の方こそマジなんなんだって感じだ。
>芳雄芳雄と騒いだりkmath1107の掲示板に粘着したりするやつは\=猫=Dr.Masudaしかいない。
>
>707 :132人目の素数さん 2016/08/29(月) 00:13:27.56 ID:a08IoyIs
>牟岐線の行楽へ行かないんですか?
>
>755 名前:132人目の素数さん :2016/08/29(月) 16:30:34.20 ID:tk2e6+QZ
> 夏目漱石の遺作である明暗に小林って男がいて
> そいつは人に嫌われることに快感を見出し他人に迷惑をかけることに自分を見出す男なんだけど、猫の人生ってまさにそんな感じだな
> ごみみたいな論文しか書けなくて低学歴
>
>759 名前:132人目の素数さん :2016/08/29(月) 17:22:16.26 ID:3C5ckLv/
> 増田哲也 の銅像を建て、
> 古事記に 増田哲也命(ますだてつやのみこと) の痴漢話を追加して、
> 増田哲也 の悪行を後世に永遠に語り継ごう!
>
0681◆2VB8wsVUoo
2016/08/29(月) 21:27:09.48ID:5a8Ea2gJ


>702 :132人目の素数さん 2016/08/28(日) 09:23:11.92 ID:TqV2rkX7
>荒らしじゃなくてリアル糖質やろ
>数学ってその記号の乱舞や得体のしれなさ感が思考漏出や侵入の妄想に侵されてる糖質を特にひきつけやすいんやろうな
>
>703 :132人目の素数さん 2016/08/28(日) 14:03:57.24 ID:HR+3VvKr
>増田とか決めつけてるやつなんなの。
>
>ただの統合失調症の患者だろ。
>ちょっと前にいた長文キチガイと同じ人物
>
>704 :132人目の素数さん 2016/08/28(日) 23:09:09.34 ID:zyy7a/SC
>お前の方こそマジなんなんだって感じだ。
>芳雄芳雄と騒いだりkmath1107の掲示板に粘着したりするやつは\=猫=Dr.Masudaしかいない。
>
>707 :132人目の素数さん 2016/08/29(月) 00:13:27.56 ID:a08IoyIs
>牟岐線の行楽へ行かないんですか?
>
>755 名前:132人目の素数さん :2016/08/29(月) 16:30:34.20 ID:tk2e6+QZ
> 夏目漱石の遺作である明暗に小林って男がいて
> そいつは人に嫌われることに快感を見出し他人に迷惑をかけることに自分を見出す男なんだけど、猫の人生ってまさにそんな感じだな
> ごみみたいな論文しか書けなくて低学歴
>
>759 名前:132人目の素数さん :2016/08/29(月) 17:22:16.26 ID:3C5ckLv/
> 増田哲也 の銅像を建て、
> 古事記に 増田哲也命(ますだてつやのみこと) の痴漢話を追加して、
> 増田哲也 の悪行を後世に永遠に語り継ごう!
>
0682◆2VB8wsVUoo
2016/08/29(月) 21:28:37.42ID:5a8Ea2gJ


>702 :132人目の素数さん 2016/08/28(日) 09:23:11.92 ID:TqV2rkX7
>荒らしじゃなくてリアル糖質やろ
>数学ってその記号の乱舞や得体のしれなさ感が思考漏出や侵入の妄想に侵されてる糖質を特にひきつけやすいんやろうな
>
>703 :132人目の素数さん 2016/08/28(日) 14:03:57.24 ID:HR+3VvKr
>増田とか決めつけてるやつなんなの。
>
>ただの統合失調症の患者だろ。
>ちょっと前にいた長文キチガイと同じ人物
>
>704 :132人目の素数さん 2016/08/28(日) 23:09:09.34 ID:zyy7a/SC
>お前の方こそマジなんなんだって感じだ。
>芳雄芳雄と騒いだりkmath1107の掲示板に粘着したりするやつは\=猫=Dr.Masudaしかいない。
>
>707 :132人目の素数さん 2016/08/29(月) 00:13:27.56 ID:a08IoyIs
>牟岐線の行楽へ行かないんですか?
>
>755 名前:132人目の素数さん :2016/08/29(月) 16:30:34.20 ID:tk2e6+QZ
> 夏目漱石の遺作である明暗に小林って男がいて
> そいつは人に嫌われることに快感を見出し他人に迷惑をかけることに自分を見出す男なんだけど、猫の人生ってまさにそんな感じだな
> ごみみたいな論文しか書けなくて低学歴
>
>759 名前:132人目の素数さん :2016/08/29(月) 17:22:16.26 ID:3C5ckLv/
> 増田哲也 の銅像を建て、
> 古事記に 増田哲也命(ますだてつやのみこと) の痴漢話を追加して、
> 増田哲也 の悪行を後世に永遠に語り継ごう!
>
0684◆2VB8wsVUoo
2016/08/29(月) 21:30:24.05ID:5a8Ea2gJ


>702 :132人目の素数さん 2016/08/28(日) 09:23:11.92 ID:TqV2rkX7
>荒らしじゃなくてリアル糖質やろ
>数学ってその記号の乱舞や得体のしれなさ感が思考漏出や侵入の妄想に侵されてる糖質を特にひきつけやすいんやろうな
>
>703 :132人目の素数さん 2016/08/28(日) 14:03:57.24 ID:HR+3VvKr
>増田とか決めつけてるやつなんなの。
>
>ただの統合失調症の患者だろ。
>ちょっと前にいた長文キチガイと同じ人物
>
>704 :132人目の素数さん 2016/08/28(日) 23:09:09.34 ID:zyy7a/SC
>お前の方こそマジなんなんだって感じだ。
>芳雄芳雄と騒いだりkmath1107の掲示板に粘着したりするやつは\=猫=Dr.Masudaしかいない。
>
>707 :132人目の素数さん 2016/08/29(月) 00:13:27.56 ID:a08IoyIs
>牟岐線の行楽へ行かないんですか?
>
>755 名前:132人目の素数さん :2016/08/29(月) 16:30:34.20 ID:tk2e6+QZ
> 夏目漱石の遺作である明暗に小林って男がいて
> そいつは人に嫌われることに快感を見出し他人に迷惑をかけることに自分を見出す男なんだけど、猫の人生ってまさにそんな感じだな
> ごみみたいな論文しか書けなくて低学歴
>
>759 名前:132人目の素数さん :2016/08/29(月) 17:22:16.26 ID:3C5ckLv/
> 増田哲也 の銅像を建て、
> 古事記に 増田哲也命(ますだてつやのみこと) の痴漢話を追加して、
> 増田哲也 の悪行を後世に永遠に語り継ごう!
>
0687◆2VB8wsVUoo
2016/08/29(月) 22:40:57.85ID:5a8Ea2gJ


>702 :132人目の素数さん 2016/08/28(日) 09:23:11.92 ID:TqV2rkX7
>荒らしじゃなくてリアル糖質やろ
>数学ってその記号の乱舞や得体のしれなさ感が思考漏出や侵入の妄想に侵されてる糖質を特にひきつけやすいんやろうな
>
>703 :132人目の素数さん 2016/08/28(日) 14:03:57.24 ID:HR+3VvKr
>増田とか決めつけてるやつなんなの。
>
>ただの統合失調症の患者だろ。
>ちょっと前にいた長文キチガイと同じ人物
>
>704 :132人目の素数さん 2016/08/28(日) 23:09:09.34 ID:zyy7a/SC
>お前の方こそマジなんなんだって感じだ。
>芳雄芳雄と騒いだりkmath1107の掲示板に粘着したりするやつは\=猫=Dr.Masudaしかいない。
>
>707 :132人目の素数さん 2016/08/29(月) 00:13:27.56 ID:a08IoyIs
>牟岐線の行楽へ行かないんですか?
>
>755 名前:132人目の素数さん :2016/08/29(月) 16:30:34.20 ID:tk2e6+QZ
> 夏目漱石の遺作である明暗に小林って男がいて
> そいつは人に嫌われることに快感を見出し他人に迷惑をかけることに自分を見出す男なんだけど、猫の人生ってまさにそんな感じだな
> ごみみたいな論文しか書けなくて低学歴
>
>759 名前:132人目の素数さん :2016/08/29(月) 17:22:16.26 ID:3C5ckLv/
> 増田哲也 の銅像を建て、
> 古事記に 増田哲也命(ますだてつやのみこと) の痴漢話を追加して、
> 増田哲也 の悪行を後世に永遠に語り継ごう!
>
0688◆2VB8wsVUoo
2016/08/29(月) 22:41:51.05ID:5a8Ea2gJ


>702 :132人目の素数さん 2016/08/28(日) 09:23:11.92 ID:TqV2rkX7
>荒らしじゃなくてリアル糖質やろ
>数学ってその記号の乱舞や得体のしれなさ感が思考漏出や侵入の妄想に侵されてる糖質を特にひきつけやすいんやろうな
>
>703 :132人目の素数さん 2016/08/28(日) 14:03:57.24 ID:HR+3VvKr
>増田とか決めつけてるやつなんなの。
>
>ただの統合失調症の患者だろ。
>ちょっと前にいた長文キチガイと同じ人物
>
>704 :132人目の素数さん 2016/08/28(日) 23:09:09.34 ID:zyy7a/SC
>お前の方こそマジなんなんだって感じだ。
>芳雄芳雄と騒いだりkmath1107の掲示板に粘着したりするやつは\=猫=Dr.Masudaしかいない。
>
>707 :132人目の素数さん 2016/08/29(月) 00:13:27.56 ID:a08IoyIs
>牟岐線の行楽へ行かないんですか?
>
>755 名前:132人目の素数さん :2016/08/29(月) 16:30:34.20 ID:tk2e6+QZ
> 夏目漱石の遺作である明暗に小林って男がいて
> そいつは人に嫌われることに快感を見出し他人に迷惑をかけることに自分を見出す男なんだけど、猫の人生ってまさにそんな感じだな
> ごみみたいな論文しか書けなくて低学歴
>
>759 名前:132人目の素数さん :2016/08/29(月) 17:22:16.26 ID:3C5ckLv/
> 増田哲也 の銅像を建て、
> 古事記に 増田哲也命(ますだてつやのみこと) の痴漢話を追加して、
> 増田哲也 の悪行を後世に永遠に語り継ごう!
>
0689◆2VB8wsVUoo
2016/08/29(月) 22:50:16.84ID:5a8Ea2gJ


>702 :132人目の素数さん 2016/08/28(日) 09:23:11.92 ID:TqV2rkX7
>荒らしじゃなくてリアル糖質やろ
>数学ってその記号の乱舞や得体のしれなさ感が思考漏出や侵入の妄想に侵されてる糖質を特にひきつけやすいんやろうな
>
>703 :132人目の素数さん 2016/08/28(日) 14:03:57.24 ID:HR+3VvKr
>増田とか決めつけてるやつなんなの。
>
>ただの統合失調症の患者だろ。
>ちょっと前にいた長文キチガイと同じ人物
>
>704 :132人目の素数さん 2016/08/28(日) 23:09:09.34 ID:zyy7a/SC
>お前の方こそマジなんなんだって感じだ。
>芳雄芳雄と騒いだりkmath1107の掲示板に粘着したりするやつは\=猫=Dr.Masudaしかいない。
>
>707 :132人目の素数さん 2016/08/29(月) 00:13:27.56 ID:a08IoyIs
>牟岐線の行楽へ行かないんですか?
>
>755 名前:132人目の素数さん :2016/08/29(月) 16:30:34.20 ID:tk2e6+QZ
> 夏目漱石の遺作である明暗に小林って男がいて
> そいつは人に嫌われることに快感を見出し他人に迷惑をかけることに自分を見出す男なんだけど、猫の人生ってまさにそんな感じだな
> ごみみたいな論文しか書けなくて低学歴
>
>759 名前:132人目の素数さん :2016/08/29(月) 17:22:16.26 ID:3C5ckLv/
> 増田哲也 の銅像を建て、
> 古事記に 増田哲也命(ますだてつやのみこと) の痴漢話を追加して、
> 増田哲也 の悪行を後世に永遠に語り継ごう!
>
0700132人目の素数さん
2016/09/04(日) 17:17:46.73ID:uNZrFEhe
実時間が入っているデータで、一定幅の「時間帯」をラベルにするような方法はあるでしょうか?
0701132人目の素数さん
2016/09/04(日) 19:55:06.67ID:TDOQWzXP
>>700
POSIXlt型に変換されているならcut関数を使えばいける。breaks=に"hour"とか区切り方を指定すればOK
0702700
2016/09/08(木) 12:54:34.16ID:UODsNiRV
>>701
ありがとうございます!
やってみます
0703132人目の素数さん
2016/09/25(日) 09:34:42.83ID:b94OmM0w
相関係数の標本分布の図を出力したいです。
リンクの画像みたいな奴
ttps://www.sitmo.com/wp-content/uploads/2012/03/correlation_dist_vs_rho.png
ずばり式なり、プログラミングなり教えてくれ。
0715◆2VB8wsVUoo
2016/09/25(日) 11:26:10.40ID:VBoukDxw


>347 名前:132人目の素数さん :2016/09/22(木) 01:38:42.56 ID:CSzeBKOI
> 337 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 338 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 339 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 340 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 341 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 342 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 343 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 344 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 345 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 346 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
0716132人目の素数さん
2016/09/25(日) 11:46:14.02ID:b94OmM0w
>>714
式ありがとうございます。
Rで相関係数の標本分布の図を描くプログラミングも知りたいのでどなたか教えてください。
0717◆2VB8wsVUoo
2016/09/25(日) 11:50:31.48ID:VBoukDxw


>347 名前:132人目の素数さん :2016/09/22(木) 01:38:42.56 ID:CSzeBKOI
> 337 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 338 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 339 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 340 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 341 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 342 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 343 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 344 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 345 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 346 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
0718132人目の素数さん
2016/09/25(日) 11:53:19.14ID:R70tUm2r
>>716
library(SuppDists)
N<-10
y1<-rPearson(n=100000, N, rho=0)
y2<-rPearson(n=100000, N, rho=0.25)
y3<-rPearson(n=100000, N, rho=0.5)
plot(density(y1),xlim=c(-1.5,1.5),ylim=c(0,1.6))
lines(density(y2),col=2)
lines(density(y3),col=3)
0719132人目の素数さん
2016/09/25(日) 11:58:17.53ID:b94OmM0w
>>718
SuppDistsを入れて、動かしてみました。
思っていたものです。
ありがとうございます。
いろいろ数字をいじってみます。
0720◆2VB8wsVUoo
2016/09/25(日) 12:16:10.32ID:VBoukDxw


>347 名前:132人目の素数さん :2016/09/22(木) 01:38:42.56 ID:CSzeBKOI
> 337 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 338 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 339 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 340 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 341 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 342 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 343 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 344 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 345 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 346 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
0721132人目の素数さん
2016/09/25(日) 12:29:48.98ID:b94OmM0w
r2norm <- function(n, mu, sigma, rho) {
tmp <- rnorm(n)
x <- mu+sigma*tmp
y <- rho*x + sqrt(1-rho^2)*rnorm(n)
return(data.frame(x=x,y=y))
}
mydata <- r2norm(100, 0, 1, 0.5)
cor(mydata$x,mydata$y)

x1 <- numeric(length=10000)
for (i in 1:10000) {mydata <- r2norm(10, 0, 1, 0)
s<- cor(mydata$x,mydata$y)
x1[i] <- s}
x2 <- numeric(length=10000)
for (i in 1:10000) {mydata <- r2norm(10, 0, 1, .25)
s2<- cor(mydata$x,mydata$y)
x2[i] <- s2}
x3 <- numeric(length=10000)
for (i in 1:10000) {mydata <- r2norm(10, 0, 1, .5)
s3<- cor(mydata$x,mydata$y)
x3[i] <- s3}

plot(density(x1),xlim=c(-1.5,1.5),ylim=c(0,1.6))
lines(density(x2),col=2)
lines(density(x3),col=3)
0722132人目の素数さん
2016/09/25(日) 12:31:31.25ID:b94OmM0w
>>721は、>>718に触発されて作ってみました。
複数のサイトのコピペで作っただけですが、なんだか、スッキリしました。

>>718さん、改めてありがとうございました。
0723◆2VB8wsVUoo
2016/09/25(日) 12:38:12.82ID:VBoukDxw


>347 名前:132人目の素数さん :2016/09/22(木) 01:38:42.56 ID:CSzeBKOI
> 337 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 338 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 339 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 340 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 341 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 342 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 343 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 344 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 345 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 346 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
0724132人目の素数さん
2016/09/25(日) 12:39:28.00ID:b94OmM0w
図々しいのですが、加えて質問をさせてください。
ランダム生成からのplotではなく、
確率密度関数によって、きれいにplotするプログラミンも教えてもらえませんか。
0725◆2VB8wsVUoo
2016/09/25(日) 12:43:06.99ID:VBoukDxw


>347 名前:132人目の素数さん :2016/09/22(木) 01:38:42.56 ID:CSzeBKOI
> 337 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 338 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 339 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 340 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 341 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 342 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 343 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 344 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 345 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 346 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
0726132人目の素数さん
2016/09/25(日) 12:57:25.55ID:R70tUm2r
>>724
x<-seq(from=-1.5,to=1.5,length.out = 1000)
d1<-dPearson(x = x,N = 10,rho = 0)
d2<-dPearson(x = x,N = 10,rho = 0.25)
d3<-dPearson(x = x,N = 10,rho = 0.5)
plot(x,d1,type="l",col=1,ylim=c(0,1.6))
lines(x,d2,col=2)
lines(x,d3,col=3)
0727◆2VB8wsVUoo
2016/09/25(日) 13:14:40.61ID:VBoukDxw


>347 名前:132人目の素数さん :2016/09/22(木) 01:38:42.56 ID:CSzeBKOI
> 337 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 338 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 339 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 340 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 341 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 342 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 343 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 344 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 345 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 346 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
0728132人目の素数さん
2016/09/25(日) 13:19:00.04ID:b94OmM0w
>>726
まことに、ありがとうございました。
教えていただいたプログラミングの意味を勉強します。
0729◆2VB8wsVUoo
2016/09/25(日) 13:21:05.27ID:VBoukDxw


>347 名前:132人目の素数さん :2016/09/22(木) 01:38:42.56 ID:CSzeBKOI
> 337 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 338 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 339 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 340 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 341 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 342 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 343 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 344 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 345 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 346 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
0730132人目の素数さん
2016/09/25(日) 15:32:03.95ID:BL+yjTYo
みんな頭いいんだなぁ
勉強中だけどさっぱり分からん
0731◆2VB8wsVUoo
2016/09/25(日) 16:35:30.09ID:VBoukDxw


>347 名前:132人目の素数さん :2016/09/22(木) 01:38:42.56 ID:CSzeBKOI
> 337 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 338 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 339 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 340 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 341 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 342 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 343 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 344 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 345 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 346 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
0742◆2VB8wsVUoo
2016/09/25(日) 18:17:03.92ID:VBoukDxw
馬鹿板遊びはもうヤメレ。頭の悪い奴が跋扈したらアカンやろ。東京都庁
みたいにナルぞ。

0743132人目の素数さん
2016/10/01(土) 14:58:06.90ID:uxqnkz1u
year month income expense diff
2016 07 50 15 35
2016 08 30 70 -40

このようなdata.frameがあります。
その月毎のincomeとexpenseをこの順に左からならべてbarplotにしたいです。
2016年7月分はincomeを(2016-07,-15)と(2016-07, 35)の間の縦棒、expenseは(2016-07, -15)と(2016-07,0)の間の縦棒。この2本はくっつけて表示させたいです。
次の2016年8月分はincome(2016-08, 0)と(2016-08, 30)の間の縦棒、expenseは(2016-08, -40)と(2016-08,30)の間の縦棒を描画したいです。この2つは7月分とは少し離して描画できないでしょうか。
よろしくお願いします。
0744◆2VB8wsVUoo
2016/10/01(土) 16:14:10.42ID:hX8kEwRO
馬鹿板遊びはもうヤメレ。頭の悪い奴が跋扈したらアカンやろ。東京都庁
みたいにナルぞ。

0754◆2VB8wsVUoo
2016/10/01(土) 17:44:48.85ID:hX8kEwRO
馬鹿板遊びはもうヤメレ。頭の悪い奴が跋扈したらアカンやろ。東京都庁
みたいにナルぞ。

0757132人目の素数さん
2016/10/02(日) 21:17:03.85ID:jWdphjbd
>>743
とりあえず、ヒントだけ。
> d <- data.frame(i = 1:5, e = 1:5)
> barplot(t(d[, c("i", "e")]), beside = TRUE, names.arg = paste(7:11, "月"))
0758132人目の素数さん
2016/10/04(火) 00:03:38.42ID:Eu7Cy3cF
> 757

ヒントありがとうございます。

year<- c(2016,2016)
month<-c(07,08)
income<-c(50,30)
expense<-c(15,70)
diff<-c(35,-40)
(dtt<-data.frame(YEAR=year, MONTH=month, INCOME=income, EXPENSE=expense, DIFF=diff))
dttm<-as.matrix(dtt)
barplot(t(dttm[,c(3,4)]), beside=TRUE)

教えてもらったここまではできました。
0759◆2VB8wsVUoo
2016/10/04(火) 00:15:40.99ID:ZaAz6bOT
馬鹿板遊びはもうヤメレ。頭の悪い奴が跋扈したらアカンやろ。東京都庁
みたいにナルぞ。

0770132人目の素数さん
2016/10/04(火) 23:17:06.05ID:5lO37yPD
rect()とかでbarを描画していくしかないでしょうか。
barplotのままでbarをshiftさせていくのは難しいか。
0771◆2VB8wsVUoo
2016/10/04(火) 23:21:18.58ID:ZaAz6bOT
若い奴を相手にして、『人前ではメッキで遣り過ごせ!』と教える芳雄が、
何と「研究者としての基本的態度」を申し述べ、毎晩の様に連呼して、そ
の重要性を訴えてた。所が芳雄は一向に「何をどうスル事なのか」を説明
せず、子供の私は日々頭を悩ませた。普通に考えれば、ソレは:
★★★「研究対象に向かう時にどういう風に頭を使って考えて創造的になるか」★★★
であろう。そして試行錯誤を繰り返しながら失敗を重ね、その度毎に芳雄
に罵倒され、そして「釜ヶ崎へ行け!」と恐喝された。

でも芳雄を良く観察し、そして:
★★★『芳雄と一緒になって母親を無根拠に罵倒したら「芳雄は大喜び」した!』★★★
ので、やっと理解した。芳雄が言う「研究者としての基本的態度」とは:
1.その場の自分の損得を考える。
2.何も考えずに「芳雄に同調」スル。
3.発言の中身を空虚にして、表現にだけ注意して敬語を使う。
という様な事であり、要は『顔色を窺って、その場を繕え』という事だ。

コレを理解した時はホンマに嬉しかった。芳雄のオツムが『サル並である』
という定理を証明した瞬間だった。

0783132人目の素数さん
2016/10/05(水) 00:56:33.07ID:PcC8Rgne
久しぶりに来たらなんだこれ
なんかRに恨みでもあんのか
0786◆2VB8wsVUoo
2016/10/08(土) 00:04:21.68ID:tA6BJFvJ
馬鹿板遊びはもうヤメレ。頭の悪い奴が跋扈したらアカンやろ。東京都庁
みたいにナルぞ。

0787◆2VB8wsVUoo
2016/10/08(土) 00:08:15.98ID:tA6BJFvJ
ワシが炎上さしたろか。

0799132人目の素数さん
2016/10/09(日) 09:55:08.20ID:T1ly88NG
$
0801132人目の素数さん
2016/10/09(日) 18:03:54.15ID:iuUISe+C
>>785
あなたが何をやりたいのがこちらに伝わったら、
多分回答できると思うけど、やっぱり分からない。
丁寧に説明しようと努力しているのはひしひしと伝わるのだが。

とりあえず、水色とクリーム色の棒グラフを再現すれば次のようようになる。
1. 描画する数値を計算する
m1 <- matrix(c(30,0,30,30), 2)
m2 <- matrix(c(-15,-15,0,-40), 2)

2. 描く
barplot(m1, beside = TRUE, ylim = c(-40, 40))
barplot(m2, beside = TRUE, add = TRUE)
0803132人目の素数さん
2016/10/10(月) 10:47:31.22ID:nDVpiw1f
基準点をあわせるように自分でベクトルを平行移動させないと多分ムリ
何をやりたいのかは俺もさっぱり分からないけどw
0804743
2016/10/13(木) 18:40:49.69ID:BRFThXT1
x

month income_expense
1 2016-07 50
2 2016-07 -15
3 2016-08 30
4 2016-08 -75

x$id <- seq_along(x$income_expense)
x$type <- ifelse(x$income_expense > 0,
0805743
2016/10/13(木) 18:42:39.50ID:BRFThXT1
"in",
"out")
x[x$month %in% c("Starting Cash", "End Cash"),
"type"] <- "net"
month_type <- paste(x$month, x$type, sep="-")
x.paste<-cbind(x, month_type)

for (i in 1:(length(x.paste)/2)) {
x.paste$start5[2*i-1] <- ifelse(abs(x.paste$income_expense[2*i-1]) > abs(x.paste$income_expense[2*i]) , x.paste$income_expense[2*i],
0)
x.paste$end5[2*i-1] <- ifelse(abs(x.paste$income_expense[2*i-1]) > abs(x.paste$income_expense[2*i]) , x.paste$income_expense[2*i-1]+x.paste$income_expense[2*i],
x.paste$income_expense[2*i-1])
x.paste$start5[2*i] <- ifelse(abs(x.paste$income_expense[2*i-1]) > abs(x.paste$income_expense[2*i]) ,x.paste$income_expense[2*i] ,
x.paste$income_expense[2*i-1]+x.paste$income_expense[2*i])
x.paste$end5[2*i] <- ifelse(abs(x.paste$income_expense[2*i-1]) > abs(x.paste$income_expense[2*i]) , 0,
x.paste$income_expense[2*i-1])
}

png("Waterfall_bs01.png", width = 500, height = 300, pointsize = 12, bg = "white")
library(ggplot2)
ggplot(x.paste, aes(month_type, fill = type)) + geom_rect(aes(x = month_type,
xmin = id - 0.45, xmax = id + 0.45, ymin = end5,
ymax = start5))

graphics.off()

>> 801さん, 803さん
返答ありがとうございました。
基準線を合わせるように自分でベクトル平行移動させました。
geom_rectで描くことができました。
ありがとうございました。
0806◆2VB8wsVUoo
2016/10/13(木) 19:19:35.31ID:vumtC5Zn


>347 名前:132人目の素数さん :2016/09/22(木) 01:38:42.56 ID:CSzeBKOI
> 337 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 338 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 339 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 340 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 341 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 342 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 343 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 344 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 345 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
> 346 名前:あぼ〜ん[NGName:¥ </b>◆2VB8wsVUoo <b>] 投稿日:あぼ〜ん
>
0817132人目の素数さん
2016/10/13(木) 22:21:29.74ID:nyVxQQ1F
0819132人目の素数さん
2016/10/19(水) 20:13:01.33ID:eayAaE2q
R初心者の者です。
> c <- 10

> c(c = c)
 c
10
となる理由がよく分かりません。
2行目のうち、最初のcが関数で、次のcがただの文字、最後のcが1行目のc(=10)ということですか?
よろしくお願いします。
0820◆2VB8wsVUoo
2016/10/19(水) 20:13:48.01ID:2Wa6Uw62


>191 名前:132人目の素数さん :2016/10/12(水) 14:26:06.21 ID:5WGW5M4m
> 「筑波大学准教授の強制わいせつ痴漢行為」に思う | 月光院璋子の日記
> http://plaza.rakuten.co.jp/gekkouinnblog/diary/200708060000/
>
> 芳雄「哲也の話にするな、忘れろ!奴は増田家の恥、もはや養子でさえない」
>
0837132人目の素数さん
2016/10/21(金) 22:53:24.77ID:kk6Osvdu
>>835
ご回答ありがとうございます!
0838◆2VB8wsVUoo
2016/10/22(土) 03:14:05.61ID:dMde0TVU


>673 名前:132人目の素数さん :2016/10/20(木) 08:48:57.82 ID:1+lfflhP
> 阪大ごときで研究者目指したらアカンやろw
>
>674 名前:¥ ◆2VB8wsVUoo :2016/10/20(木) 08:53:56.11 ID:4i85UFaq
> ホウ、なるほどナ。
>
> ¥
>
>675 名前:¥ ◆2VB8wsVUoo :2016/10/20(木) 09:21:36.53 ID:4i85UFaq
> そやし東大と京大以外の大学院は全部閉鎖せんとアカンわ。無駄やさかいナ。
>
> ¥
>
>676 名前:¥ ◆2VB8wsVUoo :2016/10/20(木) 09:28:07.86 ID:4i85UFaq
> ほんで宮廷以外の数学科かて全部閉鎖せんとアカンわ。馬鹿板人みたいな
> 低能ゾンビばっかし居っても税金の無駄にナルだけで役に立たへんしナ。
>
> ¥
>
0850132人目の素数さん
2016/10/22(土) 21:37:00.71ID:M7jVWcyA
>>849
R言語徹底解説です
0851132人目の素数さん
2016/10/22(土) 23:20:02.84ID:XZKF8OyD
>>850
ああ。今確認した。エクササイズ6.2.5の1か。
c(c=c)の最初のcがcombine関数の関数(省略)名cで、
二番目のc(c関数の引数の左辺値)がベクトルの構成要素の名前を定義するcで、
三番目のc(c関数の引数の右辺値)が前の行でcという名前で定義されているオブジェクト(の値)。
0852◆2VB8wsVUoo
2016/10/23(日) 02:03:11.21ID:3ZIBPF5r


>269 名前:132人目の素数さん :2016/09/24(土) 11:16:21.64 ID:ERaem3b8
> 生活保護受給者の三割がメタボだそうだ
> マス哲もそうなのか?
>
>270 名前:¥ ◆2VB8wsVUoo :2016/09/24(土) 12:04:07.63 ID:gc7JIRwz
> 粗食してますんで、太ってはいますがまあ大丈夫そうですわ。今は精神科
> 系の強い薬物が一切必要が無いので、在任中よりも猛烈に健康になったと
> 思いますね。ストレスが何も無いっちゅうんはホンマに有り難いですわ。
>
> ¥
>
>271 名前:132人目の素数さん :2016/10/22(土) 11:25:03.06 ID:EFTkFzKF
> どぴゅ
>
>501 名前:132人目の素数さん :2016/06/11(土) 12:35:37.39 ID:Ise/AxZk
>  
> 哲也はコンヌの黒歴史
>
>502 名前:132人目の素数さん :2016/10/22(土) 11:24:37.17 ID:EFTkFzKF
> どぴゅ
>
0863132人目の素数さん
2017/03/18(土) 22:10:26.69ID:9lKmiZM8
盛り上げていこうぜ!
0864132人目の素数さん
2017/03/19(日) 08:25:18.19ID:BUbMna52
2chはゴミ
0865132人目の素数さん
2017/03/30(木) 22:10:28.44ID:K8rGc65l
Rってどれくらい使えたら役に立つんだ?ベイズ階層位はできんとだめ?
0868132人目の素数さん
2017/04/24(月) 23:49:44.87ID:38+Bilc8
>>865
Stanを使えばベイズ階層も苦にならない。
Samplingの待ち時間が苦痛かも。
0869132人目の素数さん
2017/04/25(火) 18:50:16.56ID:M0sS+FAa
>>867
おかげでアップデートに気づいたわ

ちなみにyou stupid darknessってどういう意味やろか?
0871132人目の素数さん
2017/04/25(火) 19:46:55.22ID:24RIix2u
1. なにそれ?
2. 暗いと不平を言うよりも、すすんで灯りをつけましょうって聞いたんだ。
3. それはそうだけど、世の常としてそう思わない人もいるだろうね。
4. 暗いぞバカヤロー!

って感じかな?
0872132人目の素数さん
2017/04/26(水) 11:52:55.96ID:tqLIcCJs
取引先の、統計をやってるという人と話をした。
名刺には「シニアスタティスティシャン」と書いてある。

話しをしてみると、統計学のダメな入門書に書いてあるような
大ウソを堂々と主張する。

だが相手は取引先であるから、「馬鹿かてめーは!」とか言えない。

言えないからここに書くのだが、
名刺に「シニアスタティスティシャン」とか書くなよ馬鹿たれが!
0873132人目の素数さん
2017/04/26(水) 11:59:53.14ID:tqLIcCJs
>>868
Stanって知らんかった。
便利そうだな使ってみる。
ありがとう!
0874869
2017/04/26(水) 12:31:23.28ID:Vq01HD2H
>>870
>>871
ありがとう
ピーナッツが読めるぐらいに英語が堪能ならなぁ
0875
2017/04/28(金) 19:19:21.81ID:10ctknwL
a+b=C
0876
2017/04/28(金) 20:57:46.81ID:10ctknwL
>>875今の現代数学は間違ってできてるため、すうじでフっ素をあらわしてる。
そのため、人をすいとる。養分の話しか、してない。数学が人を、おしつぶして、時をすいとってしまった
数式をかえよう
X(f)が、あらたな、人を救う。数式。だということになるよね
0877
2017/04/28(金) 21:05:59.12ID:10ctknwL
4代元素が、すべて、支払いをし、責任をおうべきだと、思う。この世は、人間をつくり、だまし、最後には、すう式で、すいとってしまい、4代元素は次第には、元素になり、死にいたらしめる、などフリーメーソンなどつくった、元素からの安易な暗号の挑戦状なんだと思う
0878
2017/04/29(土) 02:13:36.09ID:PXwKZAGU
>>875 a+b=abでいい。c+c=ccでいいと思うんだけど…
同じものを+んだから、同じものになればいいわけで。a×90乗=aで、いいいわけじゃない。なんか、変化して元素に、なるなら、回りのものも、全部元素にならないと、いけないのに、自分たちは、固くのこってて、これを、やりたいなら、人が死んでから、やるべき
0879
2017/04/29(土) 02:39:27.48ID:PXwKZAGU
>>878固くのこされた人の気持ちを考えるべき。だE=MC2にしたって
E=C2で、やるべきなのに、添字にMを、そえて、そのエネルギーの座標に、人間をさしかえてるだけの、話しでね、
時間一次元と空間3次元の4成分だけ、もたされて、それを、吸う、すう、しき、とか、うけとるだけやないか。元素って。最初からE=C2で、この世を回すべき。
E=Mにかきかえるべきだ。それが、正しいと思うし。正当的。アルケーが歩け

元素はまちがった空間をつくっている
E=C2、または、E=M、で、場をつくるべき
相対性理論はまちがっている
死後の世界観を座標に4つ、ひきつける空間をもたせて、座標に吸わせることを、表しており、正当性のかけらもない
死後なら死後で座標をCがやればいい。わけで、それを有限にしており、できなかった、のだ
だから、元素が悪いのだすべて火、土、水、空に原因がある
0880132人目の素数さん
2017/04/29(土) 02:58:57.49ID:OVQ3EEWI
馬鹿が現れた
0881132人目の素数さん
2017/05/01(月) 17:04:16.76ID:xPREFfVb
−δC2こうで
0882132人目の素数さん
2017/05/01(月) 17:09:14.52ID:xPREFfVb
>>875я
0883132人目の素数さん
2017/05/01(月) 17:12:13.05ID:xPREFfVb
タダシさ
0884132人目の素数さん
2017/05/01(月) 17:19:22.91ID:xPREFfVb
タダシさ=こたえ
0895132人目の素数さん
2017/05/25(木) 19:49:56.38ID:zLanYWay
数値の20170501を2017-05-01ってな感じで日付に変換したいんですが、何か良い方法はないでしょうか。
力技は考えたんですが、100万行くらい変換しないといけないので、力技以外で変換したいんです。
0907132人目の素数さん
2017/06/16(金) 15:45:46.35ID:r+tPpOy0
R version 3.1.1ユーザです。

> a = 5
> is.double(a)
[1] TRUE
> is.integer(a)
[1] FALSE

のようにTRUEとFALSEが逆になってしまうのはなぜなんでしょう。
整数を代入するだけでは整数だと予測してくれないんでしょうか?
0908◆2VB8wsVUoo
2017/06/16(金) 16:12:39.43ID:TDPjrtUP


>112 名前:¥ ◇2VB8wsVUoo 2017/06/15(木) 08:39:06.70 ID:7Rm0/VD6
> ★★★数学徒は情熱的な霊感により主観的に暮らし、唯ひたすら自己の世界に沈潜すべき。★★★
>
> 佐藤幹夫を見よ、ラマヌジャンを見よ
>
> 本物の¥
>
0909132人目の素数さん
2017/06/16(金) 17:21:40.28ID:nDRgYZZV
>>907
その代入だと実数として扱われる

a <- 5L

とすれば整数として扱われるようになる
0910◆2VB8wsVUoo
2017/06/16(金) 17:44:03.74ID:TDPjrtUP


>112 名前:¥ ◇2VB8wsVUoo 2017/06/15(木) 08:39:06.70 ID:7Rm0/VD6
> ★★★数学徒は情熱的な霊感により主観的に暮らし、唯ひたすら自己の世界に沈潜すべき。★★★
>
> 佐藤幹夫を見よ、ラマヌジャンを見よ
>
> 本物の¥
>
0921907
2017/06/17(土) 10:07:37.47ID:oboZrWLI
>>909
ユーザーが明示的に指定してやらないとすべて実数になっちゃうんですね?
お答えくださってどうも有難うございました。
0922◆2VB8wsVUoo
2017/06/17(土) 10:26:55.03ID:x2f6D4gs
★★★忖度と処世術に汚染された日本人:権威主義的な支配と損したくない人達★★★
  〜〜〜芳雄氏が言う『研究者としての基本的態度』とは一体何だろうか〜〜〜

佐藤幹夫:自分自身の素朴な疑問に真剣に耳を傾ける。⇒不滅の金字塔を打ち立てる。
糞父芳雄:人間関係を駆使し他人を操り根回しを行う。⇒ハリボテお教授として君臨。

隠蔽の財務省、嘘吐きの文科省、そして問答無用に屈服させる官邸。コレでも先進国?

(佐藤師がしてたのは本物の研究だ。だが)芳雄氏がしてたのはケケケ、ケンキュウ。
外見を繕って偉そう見せさえすれば何でもヨロシ。ほんで教授になりさえすれば研究の
中身なんて何でもヨロシ。そもそも論文なんてモンは、外国の権威ある雑誌に掲載され
さえすれば、その中身のギロンなんて何でもヨロシ。そやし適当に書いてしまえ〜〜〜
中身がダメだと知ってて、ソレでもSTAP論文を外国に投稿して受理される。発覚したら
適当に言い逃れる醜い態度。オツムのダメな大学院生に「虚偽の良品ラベル」を貼って
世間に出荷するハリボテ大学は詐欺行為そのもの。世間に媚びを売って客商売に徹し、
『売れさえすれば学生の脳の質なんて何でもヨロシ』と居直る大学。そしてブランド名
だけを見て仕入れる世間。●●は一流大学やさかい、きっと優秀なエリートやろwww

中身を何も説明しないで、問答無用に上から押し付ける。ソレをイチャモンで騒いで、
そして邪魔して潰そうとする周囲の下々。大学教員も国会議事堂も、そして馬鹿板人の
遣ってる事も皆同じだ。日本人はバカ民族であり、今は外国にもちゃんとバレてるので
海外からも軽蔑されるだけであり、そのうちにどの国からも信用されなくなるだろう。

近視眼的で打算的な人生観を息子に押し付ける父親と、大脳に栄養が足りてない連中が
跋扈する永田町や霞が関に支配される国に住む不幸、一体どうしてくれるというのか。

☆☆☆数学徒が馬鹿板をしたらダメ。さもないと国家議事堂みたいになります。☆☆☆

0933132人目の素数さん
2017/07/23(日) 16:07:33.29ID:AqYrJa+q
下のy式をもっとスマートに書く方法を教えてください
つまり、yの式は実際には+1, +2 …, +100までしなくてはいけないのです。
x <- 1:10
y <- c(sum((x+1)^2), sum((x+2)^2), sum((x+3)^2), …, sum((x+100)^2))

よろしくお願いします。
0934132人目の素数さん
2017/07/23(日) 16:33:37.21ID:FF49HrjI
z<-c()
for(i in 1:100){
z<-c(z, sum(x+i)^2))
}
でもできるけどダメ?
0935◆2VB8wsVUoo
2017/07/23(日) 16:35:16.97ID:r8UcZ6ry
〒〒〒馬鹿板は悪い習慣であり、この行為は脳を悪くする。そやし足を洗いなさい。〒〒〒

0936132人目の素数さん
2017/07/23(日) 17:11:12.91ID:AqYrJa+q
>>934
ありがとうございます。一つ解決しました。
しかし、続いて教わった方法で、平均の最小2乗法による最小値を図示しようと思ったのですが
seq(0, 10, .01)を入れると、x軸がなぜか100倍されてしまします。
なぜなのか分かりませんか?おそらく、このforを使った解決策が
その後の応用(最小値を図示する)に適切でないのでしょうが
それがなんでなのか・・・(私はforについて、勉強し直します)

x <- c(3,5,6,8,2,9)
mean(x)

z<-c()
for(i in seq(from=0, to=10, by=.01)){
z<-c(z,sum(x-i)^2)
}
plot(z, type ="l") # x=5.5が最小のはずなのに、550が最小になっている
0937◆2VB8wsVUoo
2017/07/23(日) 17:45:58.37ID:r8UcZ6ry
〒〒〒馬鹿板は悪い習慣であり、この行為は脳を悪くする。そやし足を洗いなさい。〒〒〒

0938132人目の素数さん
2017/07/23(日) 23:11:56.44ID:k8lcunzY
横軸の数値用ベクトルwにサンプリング数値を保存しておいて、
グラフ化時のx軸の値として指定してみてはどうか?

x <- c(3,5,6,8,2,9)
mean(x)

z<-c()
w<-c()
for(i in seq(from=0, to=10, by=.01)){
z<-c(z,sum(x-i)^2)
w<-append(w, i)
}
plot(w, z, type ="l")
0939132人目の素数さん
2017/07/23(日) 23:14:46.35ID:k8lcunzY
w<-append(w, i)

w<-c(w, i)
の方が簡潔で上との整合性も保てるか。
0941132人目の素数さん
2017/07/24(月) 01:07:34.75ID:7iMASKV5
>>936
y軸の値しか指定しないから、x軸の値は1から始まる整数になる。
xv <- seq(0, 10, by=0.01)
z <- outer(x, xv, function(x, y) (x - y)^2)
yv <- apply(z, 2, sum)
plot(xv, yv, type="l")
0942132人目の素数さん
2017/07/24(月) 05:19:21.68ID:0E8vffzB
>>938-941
たくさんの返信ありがとうございます。
仕事から帰ったら、試してみます。
0956◆2VB8wsVUoo
2017/07/24(月) 17:33:19.17ID:/2fQM0DG
〒〒〒馬鹿板は悪い習慣であり、この行為は脳を悪くする。そやし足を洗いなさい。〒〒〒

0957132人目の素数さん
2017/07/24(月) 21:41:07.75ID:J3GDpKdM
>>941
添削。
> system.time(for(i in 1:10){yv <- apply(z, 2, sum)})
ユーザ システム 経過
0.032 0.005 0.037
> system.time(for(i in 1:10){yv <- colSums(z)})
ユーザ システム 経過
0.002 0.000 0.001
ということで、apply()ではなくcolSums()を使うべき
0958132人目の素数さん
2017/07/25(火) 00:40:01.16ID:w3drJ+gw
>>957
初心者には、速度を追及するよりは、応用の効くやりかたを学んでもらったほうが良いのでは?
0959132人目の素数さん
2017/07/25(火) 00:41:44.53ID:BWjSvXL+
数学板はなんで荒らし投稿ばかりなの?
ロボットのしわざかな?
常連さんのPCが乗っ取られているの?
0960132人目の素数さん
2017/07/25(火) 06:50:18.42ID:7svw9fzv
>>938, 939
ありがとうございます。x軸の値の指定が間違っていたのですね。
y軸の値をx軸に指定していても図の形が同じなため気がつきませんでした。
しかし、y軸の値をx軸にあてはめても図の形が同じなのはなぜだろうか?
というか、y軸を指定しないでx軸だけ指定したのに、エラーが出ず
それなりの図(plot)が書けているのはなぜだ?
世の中分からんことばかりです。

>>940, 941, 957
outer()とapply()も実は使ったことなくて、いろいろいじってみて勉強します。
この分野は計算速度とか測って極めていくのか。
colSums()とか初めて見ました。

>>958
働き出してから、統計を勉強し直している初心者です。
ご迷惑おかけします。
基本的には論文(心理学・医療系)を理解するための勉強です。
ふと、このスレで、とんちんかんな質問をしていたら私かもしれません。
0971132人目の素数さん
2017/07/25(火) 21:48:57.22ID:PpGdU5wz
>>960
x軸の値を指定せずにplotすると、横軸はデータのインデックス(順番)が表示される。
インデックスに対応する、本当の値をx軸の値としてplotしても、当然同じ図形になる。
0972◆2VB8wsVUoo
2017/07/25(火) 22:08:54.95ID:1OMr9h78
〒〒〒馬鹿板は悪い習慣であり、この行為は脳を悪くする。そやし足を洗いなさい。〒〒〒

0974◆2VB8wsVUoo
2017/07/25(火) 22:24:57.98ID:1OMr9h78
〒〒〒馬鹿板は悪い習慣であり、この行為は脳を悪くする。そやし足を洗いなさい。〒〒〒

0985132人目の素数さん
2017/08/02(水) 19:58:43.15ID:CTkpktyp
自由度10のt分布に従う乱数を50個作りたい時は
rt(50,10)
でokでしょうか
10011001
Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 1406日 9時間 18分 13秒
10021002
Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/

▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況