初級Q&A アーカイブ(3)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
COLOR(green){SIZE(20){初心者のための R および RjpWiki に...
新規投稿はできません
----
-[[初級Q&A アーカイブ(2)]] (元記事が 2004-12-13 より 2...
-[[初級Q&A アーカイブ(1)]] (元記事が 2004-08-03 より 2...
----
#contents
----
**起動中の vignette 呼び出し [#l876d9d0]
>[[青木繁伸]] (2005-11-07 (月) 12:40:49)~
~
Macintosh OS 10.4.3 で,R 2.2.0 を使っていますが,R を起...
現在は,ダミーの vignette 関数を定義してバイパスするよう...
//
-私はPowerBook G4(1GHz)、Mac OS 10.4.3でR 2.2.0を使って...
-パッケージはどれくらいインストールなさってますか。~
私は全部インストールしているせいか(^_^;),dual 2.5GHz Pow...
-お、多いですね・・ 私の場合、追加インストールしたパッケ...
-起動中の vignette にどのような意味があるかはよく分からな...
ということで,取りあえずは vignette <- function() return(...
**計量経済分析向けの商用ソフト [#u1116df0]
>[[どうむ]] (2005-10-26 (水) 11:08:06)~
~
株式市場の(主に国内)分析等でRをバリバリ使っていますが、...
//
-よく考えたら、TSP も Eviews も RATS もそんなに安くはない...
**独立成分分析のチュートリアル [#z8a3c680]
>[[ ]](2005-10-26 (水) 10:54:37)~
~
Rを使ったICA(独立成分分析)のチュートリアルってどこかに...
//
-ICAといえば、[[http://www.cis.hut.fi/projects/ica/fastic...
**時系列データの解析について [#ue4f8d28]
>[[山形]] (2005-10-26 (水) 10:52:53)~
~
時系列データの解析を行なうにあたり、Box-Jenkins ARIMAを使...
Rでもこの方法は出来ますか?出来るとしたらどのパッケージを...
それとも、普通のARIMAで出来るのでしょうか?~
//
-google で,site:r-project.org Box-Jenkins ARIMA を検索...
CRAN Task View: Computational Econometrics - [ このペー...
Time series modelling : Classical time series modelling ...
the stats package and include arima() for ARIMA modellin...
analysis. Furthermore stats provides StructTS() for fitt...
cran.r-project.org/src/contrib/Views/Econometrics.html -...
みたいのが出てきますが -- &new{2005-10-26 (水) 11:13:28};
**バスエラー - コアダンプに悩まされております(T_T) [#xcff...
>[[ちょろべぇ]] (2005-10-25 (火) 13:34:32)~
~
現在はじめてUNIXでのR実行にチャレンジしています。~
ただ、そこでPDF形式で画像を出力しようとしますと~
~
”バスエラー - コアダンプしました。”~
~
というエラーが出てしまい、異常終了いたします。~
またUNIXとLINUXの双方でプログラムをじっこうしてみた所、~
UNIXではコアダンプしてしまいますが、なぜかLINUXでは問題な...
動作します。~
本件、どのように解決すべき問題なのか、ウェブ等色々調べま...
まったく見当がつかない状態です。お気づきの点等ありましたら~
アドバイスいただければと思います。~
~
====== 以下 詳細情報~
・Rのバージョン 2.0.1(UNIXもLINUXも)~
・実行したOS ソラリス8(UNIX)、スージーLINUX~
・実行したコマンド
TestChars <- function(encoding="ISOLatin1", ...)
{
pdf(encoding=encoding, ...)
par(pty="s")
plot(c(-1,16), c(-1,16), type="n", xlab="", ylab...
title(paste("Centred chars in encoding", encodin...
grid(17, 17, lty=1)
for(i in c(32:255)) {
x <- i
y <- i
points(x, y, pch=i)
}
dev.off()
}
## there will be many warnings.
TestChars("ISOLatin2")
#↑?pdfで出てくるサンプルスクリプト~
・読み込んでいるライブラリー Rの標準もの~
//
-TestChars()も同様に失敗するのでしょうか。環境変数LANGに...
-自分で make した物なんでしょうか.だったら,自分で gdb 等...
-谷村様、TestCharsも同様に失敗します。なお失敗するUNIXの...
**グラフの大きさ [#kb5daf65]
>[[初心者K]] (2005-10-23 (日) 18:50:45)~
~
かなり初歩的な質問で申し訳ありません.~
毎回同じ大きさグラフをつくりたいのですがデバイスの大きさ...
どなたかご教示お願いします.~
//
-どのグラフィックデバイスをお使いですか?それと,OS名とそ...
私は pdf を使うのですが,pdf(ファイル名, width=インチ, he...
-[[初級Q&A アーカイブ(1)]]の「出力画像のサイズを変更し...
-「毎回同じ大きさにならないグラフ」のスクリプトを掲載した...
私はxinXPproでRは1.90ぐらいから現バージョンまで使っていま...
-ご回答ありがとうございます.初級Q&Aアーカイブ(1)等を参照...
**連続尺度の変数を名義尺度にコーディングしたい。 [#jdc650...
>[[bob3]] (2005-10-23 (日) 01:46:36)~
~
連続尺度の変数を名義尺度の変数にコーディングしたいと思っ...
たとえば、以下の例では AREA が1〜5の場合は「P」という...
~
x <- data.frame(AREA=1:9)
AreaCode <- c('P','Q')
ifelse(x$AREA>5, x$A2<-AreaCode[1], x$A2<-AreaCode[2])
# ここでは期待した結果が出力されるのですが、
x
# データフレームをみると全て「Q」になっています。
~
上手なやり方があれば、教えてください。~
なお、使っているのは 闇R 2.2.0 です。~
よろしくお願いいたします。~
//
-不等号が逆なのでは?ちなみに x$AREA < 6-- &new{2005-10...
-闇R2.2.0以外のほかのバージョンではどうなるんですか。それ...
Mac R2.1.1では以下の通りになりましたとさ
> x <- data.frame(AREA=1:9)
> AreaCode <- c('P','Q')
> ifelse(x$AREA>5, x$A2<-AreaCode[1], x$A2<-AreaCode[2])
[1] "Q" "Q" "Q" "Q" "Q" "P" "P" "P" "P"
> x
AREA A2
1 1 Q
2 2 Q
3 3 Q
4 4 Q
5 5 Q
6 6 Q
7 7 Q
8 8 Q
9 9 Q
ifelse の第2,第3オペランドで代入しているから変なことにな...
不等号の件はご愛敬か
ifelse(x$AREA>5, x$A2<-AreaCode[1], x$A2<-AreaCode[2])
は冗長なので
x$A2<-ifelse(x$AREA>5, AreaCode[1], AreaCode[2])
これで,問題解決。~
または
x$A2<-AreaCode[1+(x$AREA>5)]
などとも -- &new{2005-10-23 (日) 09:36:34};
-ご回答ありがとうございます。不等号の件、失礼いたしました。
OSは WindowsXP HOME と Windows98SE で確認しました。~
出力結果を載せなかったのもまずかったです。~
ひとまず、解決いたしました。~
当初の方法だと、以下のようにデータフレームには全て「Q」が...
> x <- data.frame(AREA=1:9)
> AreaCode <- c('P','Q')
> ifelse(x$AREA<=5, x$A2<-AreaCode[1], x$A2<-AreaCode[2])
[1] "P" "P" "P" "P" "P" "Q" "Q" "Q" "Q"
> x
AREA A2
1 1 Q
2 2 Q
3 3 Q
4 4 Q
5 5 Q
6 6 Q
7 7 Q
8 8 Q
9 9 Q
そして、ご回答いただいた方法にするとうまく行きました。~
> x <- data.frame(AREA=1:9)
> AreaCode <- c('P','Q')
> x$A2<-ifelse(x$AREA<=5, AreaCode[1], AreaCode[2])
> x
AREA A2
1 1 P
2 2 P
3 3 P
4 4 P
5 5 P
6 6 Q
7 7 Q
8 8 Q
9 9 Q
> x <- data.frame(AREA=1:9)
> AreaCode <- c('P','Q')
> x$A2<-AreaCode[1+(x$AREA>5)]
> x
AREA A2
1 1 P
2 2 P
3 3 P
4 4 P
5 5 P
6 6 Q
7 7 Q
8 8 Q
9 9 Q
ところで、名義尺度の水準が三つ以上の場合は、以下のように ...
> x <- data.frame(AREA=1:9)
> AreaCode <- c('P','Q','R')
> x$A2<-ifelse(x$AREA<=3, AreaCode[1], ifelse(x$AREA>3 &...
> x
AREA A2
1 1 P
2 2 P
3 3 P
4 4 Q
5 5 Q
6 6 Q
7 7 R
8 8 R
9 9 R
よろしくお願いいたします。 -- [[bob3]] &new{2005-10-23 (...
-x$AREA をどのような規則性により変換するかにもよりますね~
例では1〜9の整数値ですが,最初の質問では連続値とありまし...
x$A2 <- AreaCode[as.integer((x$AREA-0.00001)/3)+1]
のようなのも一つの方法ですね(0.00001 というのは本当は良く...
1以上4未満,4以上7未満,7以上10未満というのなら
x$A2 <- AreaCode[as.integer((x$AREA-1)/3)+1]
データに応じた,臨機応変なプログラミングが必要になるでし...
ちなみに
x$A2<-ifelse(x$AREA<=3, AreaCode[1], ifelse(x$AREA>3 & x...
は冗長で,
x$A2<-ifelse(x$AREA<=3, AreaCode[1], ifelse(x$AREA<=6, A...
とするだけでよい -- &new{2005-10-23 (日) 17:02:02};
-なるほど。実際に分析したいデータは必ずしも等間隔ではない...
-質問文をよく読んでませんでした。ifelse の第2,第3パラメ...
-cut(x$AREA, breaks=c(-Inf,4,7,Inf), right=FALSE, labels=...
-もちろん,これが一番ですね。なにかあったはずと思いつつ,...
**dynlmというパッケージについて [#a9c3aac2]
>[[山形]] (2005-10-21 (金) 18:32:18)~
~
Rを用いて時系列解析を行ないたいと考えています。
Rは初心者です。~
先輩から dynlm というパッケージを用いてやると良いと聞いた...
help(dynlm)を見たときに、Examplesに~
## multiplicative SARIMA(1,0,0)(1,0,0)_12 model fitted
## to UK seatbelt data
uk <- log10(UKDriverDeaths)
dfm <- dynlm(uk ~ L(uk, 1) + L(uk, 12))
というプログラムがありました。~
L(uk,1)やL(uk,12)の1や12は何を表しているのでしょうか?~
これと似たようなプログラムを実行したいので、よろしくお願...
//
-An example would be d(y) ~ L(y, 2), where d(x, k) is dif...
-dynlm のヘルプに書いてありましたね。よく読んでなく、すみ...
**メモリの上限に関する質問です [#qbe36bde]
>[[花子]] (2005-10-20 (木) 14:55:17)~
~
大規模データを用いて数量化理論を実行したいと思っている~
Rの超初心者です。~
掲示板の記事によると~
「Rは実メモリ又は1024Mという上限がある」ようですが、~
これは明確な情報としてどこに明記されているのでしょうか?~
(疑っているわけではありませんが、私の中でホントに「1024M...
実際に、試しに1Gから2Gにメモリを増やしてRを起動し、~
memory.limit()をみてみましたが、~
1Gの時と変わらないのをみると、やはり1024Mが上限なのかなぁ...
~
「どこに明記してあるか?」というあいまいな質問ですが、~
人からの情報ではなく、なにか説明書のようなものに上限が書...
//
-恐らく MSW 版で R を使っているのでは。Windows 版 R の FA...
-返答ありがとうございました。ちなみに私の使用しているWind...
**data.frame の番号の書き換え [#e1cd4068]
>[[近藤]] (2005-10-20 (木) 08:59:58)~
~
例えば~
data(sleep)
sleep[sleep$g==2,]
とすると~
>sleep[sleep$g==2,]
extra group
11 1.9 2
12 0.8 2
13 1.1 2
14 0.1 2
15 -0.1 2
16 4.4 2
17 5.5 2
18 1.6 2
19 4.6 2
20 3.4 2
となります。~
この左端の番号 11 - 20 を 1 からふり直すにはどうしたら良...
//
-行名なので,例えば data.frame(sleep[sleep$g==2,],row.name...
-row.names を表示しないというのは可能ですか? -- [[近藤]]...
-cat を使って表示するような汎用関数を書くと良いでしょう。...
-がんばってみます。 -- &new{2005-10-20 (木) 12:34:46};
**さっぱり訳が分かりません・・・・・ [#h9dc0559]
>[[リサ]] (2005-10-14 (金) 08:03:35)~
~
intvlest<-function(x,n,sd,a){
h<-abs(qnorm((1-a)/2)*sd/sqrt(n))
return(c(x-h,x+h))
}
conf.intvl<-function(n,k,a=0.95,mu=0,sd=1){
Llim<-rep(0,k)
Ulim<-rep(0,k)
for(i in 1:k){
x<-rnorm(n,mu,sd)
lim<-intvlest(mean(x),n,sd,a)
Llim[i]<-lim[1]
Ulim[i]<-lim[2]
}
matplot(cbind(Llim,Ulim))
abline(h=mu)
ng<-0
for(i in 1:k){
if(Llim[i]>mu|Ulim[i]<mu)ng<-ng+1
lines(c(i,i),c(Llim[i],Ulim[i]))
}
return(ng/k)
}
初めまして。~
~
以上のプログラム、学校の授業で作成したのですが、黒板に書...
~
intvlestっていうプログラムに何かを代入して、グラフを作成...
これが結果的に何を計算しているかも分かるんです。~
中心極限定理ですよね?~
でも、それぞれの言語の意味が分かりません。~
かなり初歩的なことだとは思うのですが、このプログラム1行1...
よろしくお願いします。~
//
//-少なくとも2行目を直さないと、まともには動かないでしょ...
-ご質問は「関数が分からない」のか、「文法が分からないのか...
関数が分からないなら、R上で「?(関数名)」とすれば使い方...
しかしそれ以前に、学校の授業ならプログラムが黒板に書かれ...
-文法が分かりません。 -- [[リサ]] &new{2005-10-14 (金) 09...
-help("Syntax") とか help("{") とか help("if") とか help(...
-注意:このコーナーの上に「学校の宿題は自分で考えるべきで...
-その通り! -- [[先生]] &new{2005-10-14 (金) 14:09:24};
-プログラムが,あまりエレガントでないので書き換え
conf.intvl <- function(n, k, a = 0.95, mu = 0, sd = 1) {
x <- apply(matrix(rnorm(n*k, mu, sd), n, k), 2, mean)
h <- qnorm((1-a)/2)*sd/sqrt(n)
lim <- cbind(x+h, x-h)
matplot(lim)
abline(h = mu)
sapply(1:k, function(i) lines(c(i, i), c(lim[i,1], lim[i...
return(sum(lim[,1] > mu | lim[,2] < mu)/k)
}
こんな風にしてみましたが,sapply が,「いやん」な感じ -- ...
**maptoolsのインストール [#e262e445]
>[[たろう]] (2005-10-13 (木) 17:32:01)~
~
R 2.2.0で,maptoolsのzipファイルをR上でインストールしたの...
以下のように表示されてしまいます.改めてzipファイルをXP上...
展開しても同じでした.library()と入力すると,mapttolsも表...
対策をご教示くださいませ.~
~
> utils:::menuInstallLocal()~
package 'maptools' successfully unpacked and MD5 sums che...
updating HTML package descriptions~
> library(maptools)~
要求されたパッケージ foreign をロード中です~
エラー:'%s' が要求したパッケージ '%s' は見つけられません...
//
-そういうときは、まずwebででもパッケージのマニュアルを読...
-まあ,「エラー:'%s' が要求したパッケージ '%s' は見つけ...
-ありがとうございます。packageのmanualに書いてあるDepends...
-対処方法のめどがたったなら,そのようにして頂いて,うまく...
-うまくいきましたぁ! 英語の勉強にもなりました。御礼申し...
-どうやったらうまくいったかを書くべきですね。 -- &new{20...
-失礼しました.Dependsに書いてあるforeign, spパッケージを...
**確率分布同士の演算の信頼区間 [#z5f1cfcf]
>[[takahashi]] (2005-10-11 (火) 20:54:48)~
~
Rとは直接関係ないのでここに書いてみます(説明はRでしてみま...
~
> x<-c(-3,-2,-1,1,2,3)
> y1<-c(0.1,0.2,0.3,0.7,0.8,0.9)
> y2<-c(0.2,0.3,0.4,0.6,0.7,0.8) #データは適当です
で,~
y1~N1=pnrom(x,0,sd1),y2~N2=pnorm(x,0,sd2) #これはRのコー...
と正規分布に従うことを仮定して,N1,N2に対するsd1,sd2の...
~
ちなみにあんまり関係ないんですが,↑の過程でpsignifit(http...
//
->を書いたんですが,c側のコードを実行中にたまに落ちます...
プログラムのミスなんでは?~
コードも何も示されないでそんなこと言われても,反応は限ら...
-自然なパラメータは sd1^2+sd2^2 もしくはそのルートだと思...
-ああ,すみません.勘違いです.そうですね.pnormの引数は...
-とすれば(二種類のデータの数が同じという前提で)適当にペ...
-すみません,ペア毎の和をとるという操作が良くわからないの...
->ペア毎の和をとるという操作が良くわからないのですが~
MKRさんが言っておられるように,適当に2つずつとって和を求...
-N1,N2からサンプルを生成して和をとりモンテカルロ法でN3の...
-そういうことでしょう。ただし,今回の場合は,2つの独立な...
-度々すみません.N3のパラメータについて点推定であれば理論...
-母数がわかっていることなんか滅多にないことなので,サンプ...
> y1 <- rnorm(200, mean=5, sd=3)
> y2 <- rnorm(200, mean=8, sd=2)
> y3 <- y1+y2
> mean(y1)+mean(y2)
[1] 12.82907
> mean(y3)
[1] 12.82907
> sqrt(var(y1)+var(y2))
[1] 3.726669
> sd(y3)
[1] 3.84084
となりますが,試行回数を多くするなりしてシミュレーション...
-上の結果は勿論,試行回数を無限に取れば理論値に収束します...
-上記試行を繰り返し,sd3 の経験分布を求めれば良いだけでは...
> sim <- function(n, trial=1000)
+ {
+ result <- numeric(trial)
+ for (i in 1:trial) {
+ y1 <- rnorm(n, mean=5, sd=3)
+ y2 <- rnorm(n, mean=8, sd=2)
+ result[i] <- sd(y1+y2)
+ }
+ result <- list(sd3 = mean(result), se = sd(result), r...
+ class(result) <- "sim"
+ return(result)
+ }
> print.sim <- function(result)
+ {
+ cat("sd3=", result$sd3, "?tse=", result$se)
+ }
> sim(10)
sd3= 3.477083 se= 0.8488288
> sim(200)
sd3= 3.601848 se= 0.1748326
> sim(400)
sd3= 3.602084 se= 0.1328714
とか。。se は sd/sqrt(2n) かなあ。ちゃんと数学で解かない...
以下で図を描くと,ほぼあっていそう。
> result1 <- result2 <- numeric(100)
> for (i in 1:100) {
+ a <- sim(i*10)
+ result1[i] <- a$sd3
+ result2[i] <- a$se}
> plot(1:100, result2)
> lines(1:100, result1/sqrt(1:100*20), col="red")
そんないい加減でいいのか。。 -- &new{2005-10-12 (水) 12:...
-まだ混乱があるようですね。y1~N1=pnrom(x,0,sd1) と書いた...
sdi はσi の(yi から求めた)推定値という意味なら、sqrt(sd1^...
-すみません.全くそういうことです.>MKRさん.N3の理論標...
-おさらいしておきます。x1,x2,...,xn ~ N(0,σ1^2), y1,y2,.....
-- [[MKR]] &new{2005-10-12 (水) 18:46:59};
-よくわかりました.今回最初から私の説明が悪く,皆様に余計...
-比率が正規分布するんですか。 -- &new{2005-10-13 (木) 16...
-たとえ話とか,話を簡単にするとかは,論者がよっぽどの技量...
-Rottenbach -- [[Austria]] &new{2005-10-22 (土) 03:03:24};
**Ruby-RMathlib [#xb06c203]
>[[るびお]] (2005-10-05 (水) 23:37:07)~
~
ここのページに書いてあるRuby-RMathlibを使ってみたいのです...
http://www.okada.jp.org/RWiki/index.php?cmd=read&page=Ruby~
~
そのためには、libRmath.a standalone libraryをCRANからとっ...
どこでこのライブラリのwindows版もしくはcygwin版等を手に入...
また、Ruby-RMathlibを使うのに、R自体はインストールする必...
~
環境はWindows XP + cygwinです。~
//
-Rのソースをとってきて,Rを構築(Mingw)した後,src/nmath/sta...
-VineLinuxだったらlibRmath-devel-2.1.1-0vl1.i386.rpmに/us...
-なかまさんのやり方でできました。ありがとうございました。...
**パッケージの読み込みができない [#m61bb040]
>[[hatena]] (2005-10-03 (月) 16:56:52)~
~
何故か、lme4のパッケージをインストールした後、読み込みが...
~
library(lme4)と入力すると、~
エラー:'%s' が要求したパッケージ '%s' は見つけられません...
という表示が出ます。~
~
何か解決法がございましたら、よろしくお願いいたします。~
//
-使用している OS, R バージョン は最低述べるべきです。 イ...
-lme4はパッケージMatrixとlatticeに依存しています。すでに...
-require(lme4) としてみるとか. -- [[なかま]] &new{2005-10...
-Matrixがインストールされておりませんでした。無事に、読み...
**The R Tipsの正誤 [#le2ef536]
>[[mori]] (2005-09-28 (水) 16:54:19)~
~
船尾さんのThe R Tipsの練習問題の解答(p.360)にt.test(dat...
p値が0.8417なので、母平均が0であるという帰無仮説は棄却さ...
と書いてあるのですが、p値>0.05の場合は帰無仮説は棄却され...
//
-mori さんの解釈が正しいです -- &new{2005-09-28 (水) 17:...
-すみません・・・。moriさんのおっしゃる通りです。拙著は多...
-サポートページがあると思って探していたのですが見つけられ...
-一番最後のページに載ってましたね・・・ -- [[mori]] &new{...
-ご参照いただきましてありがとうございます。 -- [[舟尾]] &...
**Rmapのインストールについて [#pbe0c4a3]
>[[ひろ?]] (2005-09-28 (水) 14:17:41)~
~
はじめまして。WINDOWSで、R2.1.1に、Rmapのインストールを試...
「'Rmap' は有効なパッケージではありません。バージョン < 2...
というメッセージがでてきてしまいます。~
ちなみにbinフォルダにprojとshapelibは入れています。~
どのように対処すればよいかどなたかご教示いただけないでし...
よろしくお願いします。~
//
-これはバイナリパッケージがR2.0以降には対応していないため...
-1.9xでインストールして使うことができました。ありがと...
-すでに解決済みとこのことですが、OGRがどうしても必要だと...
**Rのソースを自動インデントするエディターはありますでしょ...
>[[ちょろちゃん]] (2005-09-21 (水) 23:58:08)~
~
R駆け出し中のちょろと申します。~
この度はRのソースを自動インデントするエディターを~
ご教授いただきたく投稿しました。~
~
現在、勉強もかねてRのスクリプトを作成しております。~
そのスクリプトですが、数百行を超えてきたあたりから、~
for,ifなどのカッコの対応を追うのが非常に困難になってきま...
そこで、Javaで言うところのEclipseのソース→フォーマットの...
既存のソースをオートインデントするソフト、ないしはエディ...
何か無いかと思い、xyzzyのR-modeの設定を行いましたが、~
URL http://plaza.umin.ac.jp/~takeshou/xyzzy/rmode.html
R-modeではカラーリングはばっちりされるのですが、いかんせん~
インデンテーション機能が弱いように感じております。~
~
~
何か、既存のRのソースを整形するよりよいエディターやソフト...
などありましたら、ご教授いただきたく考えております。~
どうぞヨロシクお願いいたします。m(_ _)m~
//
-perl とか AWK とかで,自分好みのインデンてーションをする...
google で site:r-project.org indent などとすると,いくつ...
-[[ESS]]を使うと、括弧の上にカーソルがあるとそれに対応す...
-[[ESS]]でご要望のことができるようです。ファイル(バッフ...
-先輩方いろいろとアドバイスありがとうございます。まずはア...
-R-mode、放置していてすみません。インデントの部分について...
-昨日、ノムラさまにまたコードをいただきました。マージする...
**multiv パッケージがない [#w2630ec6]
>[[lost]] (2005-09-21 (水) 12:10:56)~
~
multiv パッケージがいつのまにかCRAN から消えています。...
~
どなたか、ご教示願います。~
//
R Site Search によれば
multiv is ORPHANED.
If you want it you can go the orphaned subdirectory on C...
メンテナーがいなくなったか、他に良いものがあるのか、どち...
-貴重な情報ありがとうございました。 -- [[lost]] &new{2005...
**「Rで自己組織化マップを」で、library(som)が呼べない [#u...
>[[K.Morgen]] (2005-09-14 (水) 16:41:34)~
~
「Rで自己組織化マップ」を参照し、前段のlibrary(class)か...
現在、R2.1.1Patchedを使用中ですが、インストールに問題が...
//
-同じバージョンを使用していますが、"som"は筑波のミラーか...
-早速のアドバイス恐縮です。私も、R2.1.1Patchedは、筑波の...
-install.packages("som")は実行済みでしょうか? -- &new{2...
-ご指摘感謝申し上げます。お手数をお掛けし申し訳有りません...
**OS XのRcmdrのフォント [#qf33d7de]
>[[ショーゾー]] (2005-09-12 (月) 10:09:31)~
~
Mac OS X 10.4.2 + X11 1.1 + R 2.1.1 + Rcmdr 1.1.1の環境で...
Rcmdrの「ツール」->「オプション...」->「デフォルトのフォ...
生半可知識ですが,X11のfontsフォルダにKochi-substituteを...
//
-一度Commanderを終了してから、options(Rcmdr=list(default....
-できました! しかし15インチディスプレイでははみ出てしま...
**error message "x and y lengths differ"どうすれば? [#j4...
>[[yanagi]] (2005-09-10 (土) 17:07:37)~
~
g<-expression(2*x^2+3*x+5)~
D(g,"x")~
y<-D(g,"x")~
plot(y,-10,10)~
をしましだがerror message "x and y lengths differ"がだます~
どうすればいいですか?~
//
-yanagiさんの実行したいことはyで定義した関数を-10から10の...
curve(2*x^2+3*x+5, xlim=c(-10,10));
ではだめですか? -- [[Akira]] &new{2005-09-10 (土) 20:28:...
-y(というかD()のreturn value)はfunctionではなくcallなの...
**APLとRの関数の比較表 [#ce5e48cc]
>[[Fleischmann]] (2005-09-08 (木) 13:11:16)~
~
昔のAPLのコードをRに変換したいのですが、APLとRの関数の...
//
**大規模データからサンプリングせずにデータ抽出する [#c62d...
>[[msasaki]] (2005-09-08 (木) 11:23:54)~
~
6000行×8列の時系列データから、ある列から100個のデータを抽...
//
-質問の意味が良く分かりませんが。x[1:100, i] とすれば,i ...
-もうしわけございませんでした。6000個のデータから等間隔で...
-上に書いたものの応用でしょう。x[seq(start, end, by=n), i...
-ありがとうございました!!おかげさまで1歩前進しました!!青...
**RでKNN(K近傍法)を行うには? [#fdf3da21]
>[[nori]] (2005-09-08 (木) 09:48:14)~
~
はじめまして。1000*65のデータの欠損値をKNNで解析を行いた...
//
-書くまいと思ったものの。。。どのようなことを聞きたいのか...
-青木繁伸様、失礼いたしました。しかしながら、Rについて基...
**c() の最大の要素数 [#se4b91c7]
>[[初心者 ち]] (2005-09-06 (火) 12:35:22)~
~
c()の引数に16000個の引数を取ることは可能でしょうか?エラ...
~
obs1 <- c(4,1,2,1,1,19,5,1,1,1,6,19,1,1,1,10,1,1,4...)~
~
syntax error~
Execution halted~
//
-仕様では見かけていない(見落としているだけかもしれません...
syntax errorなのだから文法が間違っているんじゃないでしょ...
eval(parse(text=paste("c(",paste(1:16000,collapse=","),"...
は問題なく通ります~
ソースコードを載せれば誰かがどこが間違っているか指摘して...
-私のところはMacintosh OS 10.4 で,R 2.1.1 ですが,10倍の...
-バッファの問題は異なるエラーになります(見落としが無けれ...
-OSは TurboLinux WorkStation8でRのバージョンは2.0.1 メモ...
-同じデータでWindows XPで実験したところSyntaxは出ませんで...
-改行コードかな?そうであればprogram.Rをobs1<-c()としても...
- 何より、16000 個もの数字を書き連ねたソースファイルとい...
-obs1<-c()はうまくいきます.私自身も改行コードかなっと思...
-追記:Rを起動したあとにsource("foo.R")とするとうまくい...
- 一行に長く書きすぎたのではないでしょうか.http://cran.r...
**連番の変数の参照 [#x887d8dd]
>[[Katsura]] (2005-09-05 (月) 13:22:09)~
~
連番の変数(m1〜m30)のそれぞれに対数線形モデル(loglin)...
//
-sapply(1:30,function(x){eval(parse(paste("m",x,"$lrt",se...
-sapply(1:30, function(i) eval(parse(text=paste('m', i, '...
-もろかぶりしましたね。~
ちなみに,教唆とは「1 他人をそそのかすこと。けしかけるこ...
-あーparseのtext=忘れてました(別に「教唆」したわけではな...
-m<-as.list(NULL);m[[ 1]]<-loglin(なんちゃら);...;lapply(...
-ありがとうございます。これでだいぶ楽になります。ちなみに...
**凡例に+-記号を [#r3b66821]
>[[mitsu5]] (2005-09-04 (日) 11:34:42)~
~
凡例に mean +/- SD と書きたいのですが、このプラス マイ...
//
-plot(1:10,1:10) ;legend(8,8,expression(mean %+-% SD)) ど...
-どうもありがとうございます。help("plotmath")ではぴんと来...
**横軸の下とか縦軸の左に文字を描き込みたい [#n739659c]
>[[青木繁伸]] (2005-09-04 (日) 11:25:25)~
~
横軸の下に,何か描こうとしても,描けません。~
x <- 0:10
y <- x^2
plot(x, y)
text(5, -2, "a")
のようにしても,ウインドウサイズにもよりますが,描けませ...
どうしたらいいでしょうか。~
//
-par(xpd=T) として,textしてみてください. -- [[なかま]] &n...
-ありがとうございました。できました。安易に聞いてしまいま...
**重回帰分析におけるマルチコについて [#w60aab04]
>[[TAK]] (2005-08-29 (月) 20:46:25)~
~
こんばんは。申し訳ありませんが、質問させてください。~
~
Y X1 X2 X3~
18.235 13.256 0.632 0.011~
30.444 20.668 0.592 0.017~
10.529 7.167 0.654 0.018~
19.579 13.307 0.668 0.025~
27.143 20.413 0.534 0.006~
15.000 12.362 0.515 0.010~
17.433 13.061 0.448 0.002~
30.250 22.299 0.692 0.008~
30.000 22.000 0.500 0.007~
18.571 13.582 1.311 0.832~
31.026 20.697 1.569 0.585~
11.028 7.558 1.526 0.702~
19.785 14.200 1.138 0.436~
27.452 20.470 1.187 0.525~
15.598 12.604 0.784 0.525~
17.692 13.388 0.684 0.863~
30.928 22.752 1.320 0.266~
30.086 22.558 0.688 0.434~
19.507 14.512 2.239 1.784~
31.082 21.684 2.031 0.671~
11.577 7.855 1.751 0.888~
19.952 14.945 1.900 0.909~
27.970 20.639 1.310 0.671~
16.577 13.166 1.094 1.473~
18.017 13.711 1.623 1.791~
~
上記のデータに対して、目的変数をY、説明変数をX1、X2、X3と...
//
-参照された find.multico() は,固有値・固有ベクトルの方か...
一方,http://aoki2.si.gunma-u.ac.jp/R/tolerance.html の方...
tolerance VIF
X1 0.92483 1.0813
X2 0.44101 2.2675
X3 0.42018 2.3799
となり,TAK さんがおっしゃるように X2もX3 もVIF は3以下で...
単相関係数と回帰係数の符号が違うのがもっとも明確な理由に...
もっとも,X2 と Y の単相関は -0.0255 と非常に小さいので,...
ということで,ステップワイズ変数選択(Pin=Pout=0.05)をやっ...
X1 のみ 0.97442
X1, X3 0.97401
X1, X2 0.97466
X1,X2,X3 0.98074
ということです。~
感じとしては,X1 のみで十分かな。 -- [[青木繁伸]] &new{20...
-予測に徹するなら、計算機が計算を放棄しない限りマルチコ完...
-青木先生およびもう一方、有意義なわかりやすいコメントをし...
-そのような方針もありかもしれませんね。しかし,マルチコ状...
-「結果が不安定でも予測制度は良い」というのが最近の潮流の...
**プロットの色分けの方法 [#w1382452]
>[[阿部]] (2005-08-29 (月) 14:34:46)~
~
質問です。
代金 緯度 経度
48000 139.77379 35.70892
103000 139.77705 35.69388
68000 139.7803 35.69616
103500 139.7728 35.696
のようなデータをRのplotを用いて緯度経度をプロットし、代金...
たとえば代金が、50000未満の点を青、50000以上,80000未満の...
//
-この例題は理解できますか?
x <- 1:20
color <- ifelse(x < 6, "blue", ifelse(x < 15, "red", "bl...
plot(x, x^2, col=color)
2行目で color という変数に付値してから使っていますが,直...
わかりにくければ,for 文と if 文を使ってプログラムすれば...
-ご回答ありがとうございました。~
先生の回答を参考にさせていただき、無事色分けすることがで...
ご指導ありがとうございました。 -- [[阿部]]
&new{2005-08-29 (月) 15:59:00};
**t.testでの母平均算出 [#b4130ca8]
>[[Akira]] (2005-08-17 (水) 20:06:29)~
~
matrixデータに対して、row毎にt.testを適用し、estimateを取...
すると、【以下にエラーt.test.default(x) : データは本質的...
おそらく、rowの値が全て等しいからだと思うのですが、t.test...
今は以下のようにしていますが、上手く行きません。
> # このようなデータです。
> x
x1 x2 x3
a 7.864811 7.402886 7.633848
b 8.210283 7.838808 8.024545
c 5.624960 5.624960 5.624960
d 3.451917 3.491341 3.471629
e 9.493148 8.908723 9.200936
f 7.759156 8.401847 8.080501
> #関数を定義しました
> fun <- function(x, y){
+ if(all(x==mean(x, na.rm=TRUE), na.rm=TRUE)){
+ x <- mean(as.numeric(x), na.rm=TRUE)
+ }else{
+ x <- t.test(x)[[y]]
+ }
+ return(x)
+ }
>
> #そしてapplyでrow毎にfunを実行しました
> apply(x,1,fun,5)
>
> #そうすると、以下のエラーが出てしまいます
以下にエラーt.test.default(x) : データは本質的に定数です
3行目の値が全て同じなのが、原因と分かりました。
> x.row3 <- x[3,]
> x.row3
x1 x2 x3
c 5.62496 5.62496 5.62496
> apply(x.row3,1,fun,5)
以下にエラーt.test.default(x) : データは本質的に定数です
しかし、人為的に作成したデータでは上手く動きます
> test <- matrix(c(1:12, rep(3,3)), ncol=3, byrow=T)
> test
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
[4,] 10 11 12
[5,] 3 3 3
> apply(test,1,fun,5)
[1] 2 5 8 11 3
all(x==mean(x, na.rm=TRUE), na.rm=TRUE)の条件分岐が上手く...
> str(x.row3)
`data.frame': 1 obs. of 3 variables:
$ x1: num 5.62
$ x2: num 5.62
$ x3: num 5.62
> x.row3[1]
x1
c 5.62496
> x.row3[2]
x2
c 5.62496
> x.row3[3]
x3
c 5.62496
よろしくお願いします。
//
-誰かが, 行を潰してた。。ブツブツ。。~
> mean(x, na.rm=TRUE)
x1 x2 x3
7.067379 6.944761 7.006070
となるのは分かっているのでしょうか。~
そもそも,あなたがやろうとしていることがよく分からないの...
だとしたら,エラーチェック・エラー対処は別として,apply(x...
//
-ありがとうございます。「estimateを取り出す」という部分で...
上のエラーはt.test(x)$p.valueを取り出す関数を使いまわした...
> mean(x, na.rm=TRUE)
x1 x2 x3
7.067379 6.944761 7.006070
については、理解しております。x <- mean(as.numeric(x), na...
ここが【以下にエラーt.test.default(x) : データは本質的に...
-確かに意味不明ですが、もし質問の趣旨が(本質的に同値な)行...
if(all(x==mean(x, na.rm=TRUE), na.rm=TRUE))
の部分を
if(identical(all.equal(var(x[2,]), 0), TRUE))
にでもかえれば良いはずです。投稿が前後してしまいましたが...
-QDU先生ありがとうございます。エラーなく動作しました。~
if(identical(all.equal(var(x[2,]), 0), TRUE))
のような使い方を知りませんでした。~
「xに含まれる要素が全て等しいかどうか」を判定したかったの...
どうでも良いと思いますが、x==mean(as.numeric(x), na.rm=TR...
**度数分布の求め方 [#d4b95775]
>[[A380]] (2005-08-16 (火) 23:40:38)~
~
度分布を計算するRの関数はないでしょうか?~
//
-table とか hist とか。
> x <- rbinom(10000, 10, 0.5)
> table(x)
x
0 1 2 3 4 5 6 7 8 9 10
9 87 439 1142 2140 2483 1993 1162 422 112 11
> hist(x, breaks=0:11-0.5)$counts
[1] 9 87 439 1142 2140 2483 1993 1162 422 112 ...
オンラインヘルプを良く読んで使ってください。 -- [[青木繁...
-御回答ありがとうございました。 -- [[A380]] &new{2005-08-...
**計算結果の画面表示の保存 [#d860b0ed]
>[[take]] (2005-08-16 (火) 20:21:32)~
~
お世話になります。~
例えば下記のようなリストの表示そのものを保存するコマンド...
コピー&ペーストがもっとも手っ取り早いですが、大量にある...
capture.output()などではベクター形式で表示されてしまいま...
なお、当方の環境は2.01 WinXPsp1です。どうぞよろしくお願い...
~
> a <-matrix(1:4,ncol=2); b <-matrix(4:1,ncol=2)
> list <-list(a,b)
> list
[[1]]
[,1] [,2]
[1,] 1 3
[2,] 2 4
[[2]]
[,1] [,2]
[1,] 4 2
[2,] 3 1
//
-どのような形でファイルに出力したいのか不明なので,なんと...
> a <-matrix(1:4,ncol=2); b <-matrix(4:1,ncol=2)
> list <-list(a,b)
> class(list) <- "your.class"
> print.your.class <- function(x)
+ {
+ cat(list[[1]][1,1], list[[1]][1,2], list[[1]][2,1], l...
+ cat(list[[2]][1,1], list[[2]][1,2], list[[2]][2,1], l...
+ }
> list
1 3 2 4
4 2 3 1
cat の出力先をファイルにする,ファイルに追加出力するとか...
-青木先生早速ありがとうございます。わかりにくい書き方です...
**パッケージが見つからない。 [#p6cf3603]
>[[econome007]] (2005-08-15 (月) 17:19:25)~
~
初心者です。~
MASS,nnet,ts,nlsといったパッケージが見あたらないのですが...
//
-MASSとnnetについては、VRというパッケージの中にバンドルさ...
-ts も nls もパッケージではなく,関数ですが。いずれも sta...
-質問にお答え頂き、ありがとうございました。 -- [[econome0...
**ポアソン方程式を扱える関数 [#uf149a47]
>[[ラプラス]] (2005-08-10 (水) 14:29:03)~
~
Rでポアソン方程式を扱える関数はあるのでしょうか?~
~
いろいろ探してみましたが見つからないのですが?~
//
-R は統計システムですから、これは中華料理店でフランス料理...
-ないものは,自分で書けば良いだけです。それも,何も R で...
-ROctaveでOctaveを呼んで,ん中でポアソンなりラプラスなり処...
**R のスクリプトで再帰アルゴリズムを書く方法 [#xb369652]
>[[Lost]] (2005-08-05 (金) 17:17:45)~
~
R のスクリプトで、再帰アルゴリズムを使ったサンプルはな...
//
-どの程度のサンプルといっておられるのか分かりませんが。よ...
> fact2 <- function(n)
+ {
+ if (n == 0) 1
+ else n*fact2(n-1)
+ }
> fact2(8)
[1] 40320
> fact2(3)
[1] 6
base に本来ある factorial 関数でチェックしてみましょうか...
> factorial(8)
[1] 40320
> factorial(3)
[1] 6
いかがでしょうか(レポートの手助けだったらやだな)。~
else n*fact2(n-1)
のところは,
else n*Recall(n-1)
のほうがいいらしい。 -- [[青木繁伸]] &new{2005-08-05 (金)...
-青木先生ご返答ありがとうございます。
~
上の関数を以下のように加算に変更してみました。
fact3 <- function(n)
{
if (n == 0) 1
else n+fact3(n-1) #加算に変更
}
R2.1.0 での実行結果は以下のようになりました。
> fact3(998)
[1] 498502
> fact3(999)
エラー:protect():プロテクションスタックが溢れました
結果がオーバーフローしているようではないですが。関数内...
上記のエラーへの対処方法はないのでしょうか?-- >[[Lost...
-加算に変更って。。。これは何を計算することになるんでしょ...
あなたは,分かってますよね。だとすると,この例の関数名は...
解が求まるまでに,何回再帰する必要があるかを計算すること...
再帰をするということについて,コンピュータサイエンスを分...
解決法?~
再帰関数はスマートな定義ですが,計算上はちっともスマート...
スタックの変更方法は私は知りません。誰かが書いてくれるか...
-一般(?)に再帰とは鼠講に例えられて、階層が浅いうちは上手...
-前にパーコレーション問題を解くプログラムをRを使って書け...
> factorial
function (x)
gamma(x + 1)
<environment: namespace:base>
-末尾再帰になってないからかと思ったらどうやらRは末尾最適...
純粋なfunctional language だと思ってたんですがそうでもな...
通常の関数型言語だと
function(a,b=1){ifelse(a==0,b,Recall(a-1,b+a))}
とかにすればスタック消費しなくなるはずですけどね
例えばschemeとか -- [[takahashi]] &new{2005-08-06 (土) 03...
-リコンパイル無しでも,R --max-ppsize=100000 とかの設定が...
**標準パッケージ [#c22903a8]
>[[issei]] (2005-08-04 (木) 14:35:12)~
~
標準パッケージのリファランスはどこで得ることができるので...
CRAN拡張パッケージについては、ダウンロードするところにあ...
spatialを使いたいのですが困っています。~
よろしくお願いします。~
//
-spatial パッケージはパッケージバンドル VR の一部です。VR...
-すばやい返答ありがとうございます。そうですか、他のパッケ...
**OSX R起動できない [#z7f4e36f]
>[[いしだ]] (2005-08-01 (月) 16:56:10)~
~
あまりに初歩的なので、「何でも掲示板」に質問しましたが、...
MacOSX10.3.9でR2.1.1が起動しません。具体的には、起動させ...
新しいアカウントからログインすると、普通に使えます。ま...
なぜでしょうか。ライブラリの中のRとついてるものをけした...
//
-以下をターミナルから実行するとどうなんでしょう, -- [[な...
$ /Applications/R.app/Contents/MacOS/R
で何かメッセージが出ないか.
$ otool -L /Applications/R.app/Contents/MacOS/R
ついでにライブラリのリンクがどうなるか.
にわかMacユーザですんで,あれですが...
$ gdb /Applications/R.app/Contents/MacOS/R
デバッガのめっせーじ
(gdb) run # デバッガで実行
なんか出てくる実行可能なら,Rの方が動くが、もし落ちてるよ...
(gdb) bt # とりあえず落ちるならバックトレース
なにもかえって来ないようなら
(gdb) [control+C] # シグナルを送って
(gdb) bt # とりあえずバックトレース
よくわからなかったらすみません.
-":"は点々,"(hoge)"はこめんとのつもりだったんですが,疎通...
-お手数おかけして、申し訳ありません。以下のように試しまし...
一文目(起動しようとして、予期せず終了)
Trace/BPT trap
二文目
/Applications/R.app/Contents/MacOS/R:
/System/Library/Frameworks/Cocoa.framework/Versions/A/Co...
current version 9.0.0)
/Library/Frameworks/R.framework/Versions/2.1.1/Resources...
2.1.0, current version 2.1.1)
/System/Library/Frameworks/WebKit.framework/Versions/A/W...
current version 1.0.0)
/System/Library/Frameworks/Security.framework/Versions/A...
current version 177.0.0)
/System/Library/Frameworks/ExceptionHandling.framework/V...
(compatibility version 1.0.0, current version 4.9.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0,...
第三文
GNU gdb 5.3-20030128 (Apple version gdb-309) (Thu Dec 4...
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public ...
welcome to change it and/or distribute copies of it unde...
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show war...
This GDB was configured as "powerpc-apple-darwin".
Reading symbols for shared libraries ....... done
runすると
Starting program: /Applications/R.app/Contents/MacOS/R
Reading symbols for shared libraries +.....................
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Program received signal SIGTRAP, Trace/breakpoint trap.
0x90a8d318 in _NSRaiseError ()
(Rは長時間かけて起動したものの、全く反応無し。
ウィンドウも表示されず、メニューバーも出ない)~
btすると
#0 0x90a8d318 in _NSRaiseError ()
#1 0x90a8d1fc in +[NSException raise:format:] ()
#2 0x90a2d35c in -[NSString stringByAppendingString:] ()
#3 0x00006ce0 in -[RController doLoadHistory:] ()
#4 0x00003ce0 in -[RController awakeFromNib] ()
#5 0x90a5f0e8 in -[NSSet makeObjectsPerformSelector:] ()
#6 0x92ea2150 in -[NSIBObjectData nibInstantiateWithOwn...
#7 0x92f93c2c in loadNib ()
#8 0x92eeae24 in +[NSBundle(NSNibLoading) _loadNibFile:...
#9 0x92f69d28 in +[NSBundle(NSNibLoading) loadNibFile:e...
#10 0x92f7b51c in +[NSBundle(NSNibLoading) loadNibNamed:...
#11 0x92f69b90 in NSApplicationMain ()
#12 0x00002dd0 in _start (argc=1, argv=0xbffffe60, envp=...
-47/crt.c:267
#13 0x8fe1a278 in __dyld__dyld_start ()
-- [[いしだ]] &new{2005-08-02 (月) 09:40:35};
-どこかでR.appがオーバーランでもしているような気がするん...
export LANG=C
export LC_ALL=C
/Applications/R.app/Contents/MacOS/R
では動かないでしょうか,動くなら,"C"を"ja_JP.UTF-8"に置き...
-だめですね。"ja_JP.UTF-8"に変えても、~"Trace/BPT trap"と...
-なんとなくですが、これはリンク時の shared library と実行...
-うーん。残念ながら、それを確かめる方法がわかりません。 -...
-ところで、同じR.appファイルとR.frameworkフォルダを使って...
-起動するアカウントとしないアカウントがあるんですか。立ち...
-RController doLoadHistory でひっかかってる...R(Mac GUI)...
-.Rで検索されるファイルは、すべてHD直下のライブラリ/Frame...
岡田さまのご指摘の方法で、起動しました。~
これで、解決ですね?皆さん、ありがとうございました。-- [[...
-すみません。まだ一部未解決でした。日本語が表示されません...
ターミナルから
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
/Applications/R.app/Contents/MacOS/R
としないかぎり、コンソールに日本語が表示されません。~
R.appのダブルクリックでは、コンソール内が英語表記です。--...
-OS X自体は日本語環境(システム環境設定>言語環境で日本語...
-OSX自体は、日本語環境で、Rもコンソール内以外は、日本語で...
-> .Rで検索されるファイルは、すべてHD直下のライブラリ/Fra...
っていうのは,普通の状態ですかね?R関連のフォルダ,ファイ...
-ふむふむ, そうするとMac GUIの問題ではなく、R本体が日本語...
-("LANG")でLANG (改行)"en_GB.UTF-8", ("LC_CTYPE")でLC_CT...
-以前、R関連のフォルダは、すべて捨てて再インストールした...
-起動項目すべて削除し、再起動、最初にRを立ち上げてもコン...
-おそらく解決しました。私は、言語環境では日本語を最上位に...
-en_GB!本当ですね。MacOS Xは、言語環境の「言語」メニュー...
**要素に変数を持つ行列(関数)の扱いについて [#k79449fc]
>[[生物系院生]] (2005-07-27 (水) 13:00:57)~
~
格子データの回帰分析に使用するパラメータ行列を作る際、fun...
状況を取りうる最小サイズの格子データで説明すると
123
456
789
といったデータ(数字は変数名)の場合、例えば5のデータはf...
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
[1,] 0 1 1 2 0 0 2 0 0
[2,] 1 0 1 0 2 0 0 2 0
[3,] 1 1 0 0 0 2 0 0 2
[4,] 2 0 0 0 1 1 2 0 0
[5,] 0 2 0 1 0 1 0 2 0
[6,] 0 0 2 1 1 0 0 0 2
[7,] 2 0 0 2 0 0 0 1 1
[8,] 0 2 0 0 2 0 1 0 1
[9,] 0 0 2 0 0 2 1 1 0
この行列自身は以下のコマンド
el <- 9 #格子データの総要素数 パラメータ行列では行数、...
col <- 3 #格子データの一行の要素数、すなわち列数
mat <- matrix(0, nrow = el, ncol = el)
xiA <- 1
xiB <- 2 #文字列操作では不都合が多いため、パラメータを...
for(i in 1:6){
W <- i - 1
if(ceiling(W/col) != ceiling(i/col)){W <- W + col}
E <- i + 1
if(ceiling(E/col) != ceiling(i/col)){E <- E - col}
N <- i - col
if(N < 1){N <- N + el}
S <- i + col
mat[i,W] <- xiA
mat[i,E] <- xiA
mat[i,N] <- xiB
mat[i,S] <- xiB
}
for(i in 7:9){
W <- i - 1
if(ceiling(W/col) != ceiling(i/col)){W <- W + col}
E <- i + 1
if(ceiling(E/col) != ceiling(i/col)){E <- E - col}
N <- i - col
if(N < 1){N <- N + el}
S <- i + col
if(S > col){S <- S - el}
mat[i,W] <- xiA
mat[i,E] <- xiA
mat[i,N] <- xiB
mat[i,S] <- xiB
}
で作ることができるのですが、このコマンドにおいてxiA,xiBの...
el <- 9 #格子データの総要素数 パラメータ行列では行数、...
col <- 3 #格子データの一行の要素数、すなわち列数
matB <- function(a,xiA,xiB){
for(i in 1:6){
W <- i - 1 #W,Eは横方向に関するパラメータの位置
if(ceiling(W/col) != ceiling(i/col)){W <- W ...
E <- i + 1
if(ceiling(E/col) != ceiling(i/col)){E <- E ...
N <- i - col #N,Sは縦方向に関するパラメータの位置
if(N < 1){N <- N + el}
S <- i + col
a[i,W] <- xiA #パラメータを代入する位置の指定
a[i,E] <- xiA
a[i,N] <- xiB
a[i,S] <- xiB
}
for(i in 7:9){
W <- i - 1
if(ceiling(W/col) != ceiling(i/col)){W <- W ...
E <- i + 1
if(ceiling(E/col) != ceiling(i/col)){E <- E ...
N <- i - col
if(N < 1){N <- N + el}
S <- i + col
if(S > col){S <- S - el}
a[i,W] <- xiA
a[i,E] <- xiA
a[i,N] <- xiB
a[i,S] <- xiB
}
}
base <- matrix(0, nrow = el, ncol = el)
matB(Base,1,2)
for文で要素の位置指定をすることができていないようでした(...
~
手持ちの資料やネット上の解説では、関数定義で行列を扱って...
//
-Note that any ordinary assignments done within the funct...
関数の末尾でreturn(a)として
base<-matB(base,1,2)
でよいのでは?forのインデクス云々というのは関係ないと思い...
-returnの使いどころがちゃんと理解できていなかったので助か...
-不審な繰り返しは無駄の徴候・バグの温床
el <- 9 #格子データの総要素数 パラメータ行列では行数、...
col <- 3 #格子データの一行の要素数、すなわち列数
mat <- matrix(0, nrow = el, ncol = el)
xiA <- 1
xiB <- 2 #文字列操作では不都合が多いため、パラメータを...
for (i in 1:9) {
W <- i - 1
if (ceiling(W/col) != ceiling(i/col)) {W <- W + ...
E <- i + 1
if (ceiling(E/col) != ceiling(i/col)) {E <- E - ...
N <- i - col
if (N < 1) {N <- N + el}
S <- i + col
if (i > el-col && S > col) {S <- S - el}
mat[i,W] <- xiA
mat[i,E] <- xiA
mat[i,N] <- xiB
mat[i,S] <- xiB
}
まだ無駄があるような。 -- &new{2005-07-27 (水) 16:55:39};
-生物系院生が R の使用法で悩んだときは北大の久保先生に相...
> no <- 9
> X <- matrix(1:81, c(no,no)) # テスト用格子データ
> N <- W <- E <- S <- vector("list", no*no) # リスト行列...
> dim(N) <- dim(W) <- dim(E) <- dim(S) <- c(no, no)
> wN <- wW <- wE <- wS <- matrix(0, no, no) # 重み用行列
>
> for (i in 1:no)
+ for (j in 1:no) {
+ N[[i,j]] <- matrix(c(ifelse(i==1, no, i-1), j), ...
+ wN[i,j] <- 2 ...
+ S[[i,j]] <- matrix(c(ifelse(i==no, 1, i+1), j), ...
+ wS[i,j] <- 2 ...
+ E[[i,j]] <- matrix(c(i, ifelse(j==no, 1, j+1)), ...
+ wE[i,j] <- 1 ...
+ W[[i,j]] <- matrix(c(i, ifelse(j==1, no, j-1)), ...
+ wW[i,j] <- 1
+ }
>
> test1 <- function() { # テスト用関数
+ for (k in 1:1000)
+ for (i in 1:no)
+ for (j in 1:no) { # (i,j) の上下左右...
+ c(X[N[[i,j]]], X[E[[i,j]]], X[S[[...
+ c(wN[i,j], wE[i,j], wS[i,j], wW[i...
+ }
+ }
> gc(); system.time(test1()) # 実行時間
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 168482 4.5 350000 9.4 350000 9.4
Vcells 63009 0.5 786432 6.0 280690 2.2
[1] 2.83 0.03 2.89 0.00 0.00
## 関数形で表現すると
> N <- function(i,j) matrix(c(ifelse(i==1, no, i-1), j),...
> S <- function(i,j) matrix(c(ifelse(i==no, 1, i+1), j),...
> E <- function(i,j) matrix(c(i, ifelse(j==no, 1, j+1)),...
> W <- function(i,j) matrix(c(i, ifelse(j==1, no, j-1)),...
> wN <- wS <- function(i,j) 2
> wE <- wW <- function(i,j) 1
> test2 <- function() {
+ for (k in 1:1000)
+ for (i in 1:no)
+ for (j in 1:no) { # (i,j) の上下左右...
+ c(X[N(i,j)], X[E(i,j)], X[S(i,j)]...
+ c(wN(i,j), wE(i,j), wS(i,j), wW(i...
+ }
+ }
> gc(); system.time(test2()) # 但し時間は45倍かかる
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 167600 4.5 350000 9.4 350000 9.4
Vcells 61585 0.5 786432 6.0 280690 2.2
[1] 125.99 0.07 131.18 0.00 0.00
**whileによる繰り返しについて [#xc127092]
>[[小山]] (2005-07-25 (月) 11:04:15)~
~
uniroot()を使用したく、Rでプログラムを書いています。元デ...
プログラムとしては、まず4列目のデータの個数を調べ(x)、算...
作ったプログラムは以下の様になっております。
no <- length(data[[4]])
ha <- array(data=NA, dim = c(nd, 7))
x <- 0
while (x <= nd){
x <- x+1
a <- data[x, 4]
b <- 7
c <- 42
d <- 10
e <- 50
f <- 40
obj <- function(phi,a)
1/cos((phi*pi)/180)-cosh(a*tan((phi*pi)/180))
res <- uniroot(obj,c(0.1,89.9),a=a)
phi <- res$root
func <- res$f.root
depth <- rep(NA,b)
i <- 1:b
depth[i] <- d+c+L*(((1/tan(phi*pi/180))^2+1)^0.5
-(1/(tan(phi*pi/180))^2+(1-(f+e*(i-1))/L)...
ha[x, ] <- c(depth, a)
}
しかし配列は綺麗に出てくるのですが、データはすべてNAのま...
//
-インデンテーションは、tab キーで行うべきです。全角空白は...
たぶん,nd は,一行目の no なんでしょうね。~
関係ないところでは,
x <- 0
while (x <= nd) {
x <- x+1
というのはおかしいですね。x が nd のときに,新たなループ...
また,while ループ中で,b,c,d,e,f,i という定数(ベクトル...
また,
i <- 1:b
depth[i] <- d+c+L*(((1/tan(phi*pi/180))^2+1)^0.5
-(1/(tan(phi*pi/180))^2+(1-(f+e*(i-1))/L)...
というところですが,左辺は depth だけでよいのではないでし...
[i] はいらないということ。またdepth <- rep(NA, b) も不要...
ha[x, ] <- c(depth, a) としているが,ha の列数は 7 で,de...
示されたプログラムのままだと気づきにくいかもしれないが,...
-コメントありがとうございます!申し訳ありません、ndはnoの...
L <- ((en-1)*e+2*f)/2
ご指摘いただいた点を参考にして、以下の様に直してみました...
no <- length(data[[4]])
ha <- array(data=NA, dim = c(no, 8))
b <- 7
c <- 42
d <- 10
e <- 50
f <- 40
obj <- function(phi,a)
1/cos((phi*pi)/180)-cosh(a*tan((phi*pi)/180))
x <- 0
while (x < no){
x <- x+1
a <- data[x, 4]
res <- uniroot(obj,c(0.1,89.9),a=a)
phi <- res$root
func <- res$f.root
L <- ((en-1)*e+2*f)/2
i <- 1:b
depth[i] <- d+c+L*(((1/tan(phi*pi/180))^2+1)^0.5
-(1/(tan(phi*pi/180))^2+(1-(f+e*(i-1))/L)...
ha[x, ] <- c(depth, a)
}
また、データは以下の様なデータになっております。1列目か...
8 40 10 0.927
8 40 20 0.965
8 40 30 0.962
8 40 40 0.964
8 40 50 0.967
-- [[小山]] &new{2005-07-25 (月) 12:38:11};
-えーと,
depth[i] <- d+c+L*(((1/tan(phi*pi/180))^2+1)^0.5
の前に全角空白が1つ残っていますね。左辺は depth だけ。~
L の定義の中の en も未定義です。
no <- length(data[[4]])
は
no <- nrow(data)
で。
en を適当に定めたら,ha に,一応数値は入ったようですよ。 ...
-そうそう。付け加えとして,while を使うよりは for を使う...
x <- 0
while (x < no) {
x <- x+1
を,
for (x in 1:no) {
とするのです。そうすれば,x を1,2,...,no として順次くりか...
なお,制御変数としては(数学のときと同じような慣例に従っ...
-またしてもうっかりしていましたが、en=bでした。ご指摘の通...
「以下にエラーuniroot(obj, c(0.1, 89.9), a = a) : f() の...
そこで、a > 1.0の場合にはa = 1.0(もしくは1.0では走らない...
for (j in 1:no){
a <- data[j, 4]
if(a > 1.0){
a == 1.0
}else{
a == a
}
res <- uniroot(obj,c(0.1,89.9),a=a)
原因はaの値なのでしょうか。a > 1.0の場合は次のようなデー...
14 15 0 1.015
14 15 10 1.018
14 15 20 1.017
14 15 30 1.014
14 15 40 1.011
14 15 50 1.013
-- [[小山]] &new{2005-07-25 (月) 18:37:17};
-uniroot は二分法による求解なので,初期状態で二つの端点に...
-以下のような例を考えましょう。関数は二次関数で,二つの解...
#ref(quad.png)
# 関数定義
> quad <- function(x) (x-0.1234)*(x-0.5678)
# 0,1 の範囲から解を求めようとしたとき
> uniroot(quad, c(0, 1))
以下にエラーuniroot(quad, c(0, 1)) : f() の端点での値が...
# つまり,quad(0)= 0.07006652, quad(1)=0.3788665
# 異なった符号を持たない(両方とも正)ということ
# 関数値は正,負,正と変化し区間内に二つの解を持つ
> uniroot(quad, c(0, 0.1))
以下にエラーuniroot(quad, c(0, 0.1)) : f() の端点での値...
# つまり,quad(0)= 0.07006652, quad(0.1)=0.01094652
# この場合は,関数値は,いつも正,つまり,この区間内に解...
> uniroot(quad, c(0, 0.5))
$root
[1] 0.1233996
$f.root
[1] 1.843689e-07
$iter
[1] 7
$estim.prec
[1] 6.103516e-05
# つまり,quad(0)= 0.07006652, quad(0.5)=-0.02553348
# 異なった符号を持つということ
# 関数値は正,負と変化し区間内に一つの解を持つ
#(もしかしたら3個とか5個とか奇数個の解を持つのかもしれ...
よく吟味してみてください。 -- &new{2005-07-25 (月) 21:50...
-よく解りました。確かにその通りでした。条件文を書いてエラ...
-一つ気になることが。pi/180 というのは円周率が弧度法と思...
data <- rbind(c(8,40,10,0.927),
c(8,40,20,1.20 ), # エラーになるようにした
c(8,40,30,0.962),
c(8,40,40,0.964),
c(8,40,50,1.20 ) ) # エラーになるようにした
A <- data[,4]; no <- length(A)
b <- 7; c <- 42; d <- 10; e <- 50; f <- 40
obj <- function(phi, a) 1/cos((phi*pi)/180)-cosh(a*tan((...
doit <- function(x) { # 一回の試行用の関数
res <- uniroot(obj, c(0.1,89.9), a=A[x])
phi <- res$root
# func <- res$f.root # 不要ですね
L <- ((e-1)*e+2*f)/2
y <- (1:b)-1
depth <- d+c+L*(sqrt((1/tan(phi*pi/180))^2+1)
-sqrt(1/(tan(phi*pi/180))^2+(1-(f+e*...
return(c(depth, A[x]))
}
res <- vector("list", no) # 結果を納めるリストを予めサイ...
for(i in 1:no) res[[i]] <- try(doit(i), TRUE) # 全試行
> res
[[1]]
[1] 75.40177 103.94505 131.67010 158.54344 184.53087 20...
[8] 0.92700
[[2]]
[1] "以下にエラーuniroot(obj, c(0.1, 89.9), a = A[x]) : ...
attr(,"class")
[1] "try-error"
[[3]]
[1] 69.74911 91.28434 112.08025 132.11997 151.38677 16...
[8] 0.96200
[[4]]
[1] 69.32652 90.34202 110.62861 130.17047 148.95193 16...
[8] 0.96400
[[5]]
[1] "以下にエラーuniroot(obj, c(0.1, 89.9), a = A[x]) : ...
attr(,"class")
[1] "try-error"
-↑のエラーメッセージ中のエスケープシーケンス /n,/t が変で...
-/n, /t ではなくバックスラッシュ n, バックスラッシュ t で...
表示関数がエスケープシークェンスを解釈していないようです...
**whichについて [#mc4ce1e3]
>[[田中]] (2005-07-21 (木) 22:41:35)~
~
n×n行列をすでに持っており、各行ごとに最大値を与える添え...
解決法を教えていただければと思います。よろしくお願いしま...
一応、作ってみたのは以下のようなものです
Q <- matrix(0,1,n)
for(b in 1:n){
for(c in 1:n){
Q[1,c] <- x[b,c]
P[b] <- which(max(Q), arr.ind=TRUE)
}
}
xが調べたいn×n行列で、Pに格納するように作りました。~
//
-最大値の位置でいいのでしょうか? -- [[なかま]] &new{2005...
col=4
MM<-matrix(runif(col^2),ncol=col)
SQM<-function(matrix){
ml<-function(n){ncol=length(n);((1:ncol)[n==max(...
rbind(apply(matrix,1,ml),apply(matrix,2,ml))
}
SQM(MM)
-質問中のプログラムが不完全なのは仕方ないですが,質問本文...
(x <- matrix(rnorm(12), 3, 4))
which(x == apply(x, 1, max), arr.ind=TRUE)
本質は二行目。~
なお,which の説明を読めば分かりますが,質問者の場合では...
> (x <- matrix(c(1,2,3,2,1,2,3,3,2,1,2,3),3,4))
[,1] [,2] [,3] [,4]
[1,] 1 2 3 1
[2,] 2 1 3 2
[3,] 3 2 2 3
> which(x == apply(x, 1, max), arr.ind=TRUE)
row col
[1,] 3 1
[2,] 1 3
[3,] 2 3
[4,] 3 4
ところで,arr.ind=TRUE のとき,結果の1列目でソートされな...
と思って,ソースを見たら。あら。結構泥臭いことやってるん...
-ご回答ありがとうございます。質問の意図はおっしゃるとおり...
x <<- mix2_16 #n×n行列
P <- which(x == apply(x, 1, max), arr.ind=TRUE)
P <<- P
gn <- sprintf("result_mix%g_16.txt",a)
write.table(P,file=gn, sep="?t", row.names=FALSE, quote=...
print(P)
のようなプログラムををつくり実行したところ、
row col
[1,] 4 4
[2,] 5 4
[3,] 8 4
[4,] 9 4
[5,] 13 4
[6,] 15 4
[7,] 7 7
[8,] 19 25
[9,] 1 29
[10,] 2 29
のような結果が返ってきました。(n=38のときで11以下省略...
なぜなのか分かりますでしょうか? よろしくお願いいたしま...
-一列目が順に並んでいないのは,私がコメントしたように,そ...
TRUE のある場所を列単位に探索しているからなんですね。whic...
並べ替えた結果が欲しければ,結果が P に入っているなら P[o...
ちなみに,<<- は使う必然性があるんですか? P <<- P は特...
-早速の回答ありがとうございます。
P <<- P は先ほど書いたプログラムを自分で作成した関数内の...
教えて頂いた方法をさっそく試してみます。 -- [[田中]] &new...
-好みの問題かもしれませんが,解析が難しいバグの温床になる...
-日の下に新しいものはない(旧約聖書)のたとえの通りすでに...
> set.seed(31415); (x <- matrix(runif(20), c(4,5)))
[,1] [,2] [,3] [,4] [,5]
[1,] 0.9502223 0.0607455 0.9365462 0.77713002 0.1302115
[2,] 0.3357378 0.3579473 0.8376269 0.08262812 0.9671198
[3,] 0.1330718 0.2271160 0.1275758 0.81371308 0.8880396
[4,] 0.4901114 0.4000740 0.7251304 0.30108535 0.5821669
> cbind(1:dim(x)[1], max.col(x)) # 列ごとの最大値位置の...
[,1] [,2]
[1,] 1 1
[2,] 2 5
[3,] 3 5
[4,] 4 3
> rbind(1:dim(x)[2], max.col(t(x))) # 行ごとの最大位置の...
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 1 4 1 3 2
> cbind(1:dim(x)[1], max.col(-x)) # 最小位置が欲しければ...
[,1] [,2]
[1,] 1 2
[2,] 2 4
[3,] 3 3
[4,] 4 4
**lowess変換前と変換後のデータの対応方法 [#qc1512e2]
>[[sugimoto]] (2005-07-14 (木) 18:08:02)~
~
初めて質問させていただきます。~
R tipsを購入し、昨日から使い始めました。~
今、lowess関数を使っています。~
この関数を使って変換されたデータと、変換前のデータをつな...
大変つたない質問で申し訳ありませんが、よろしくお願いしま...
//
-「つなぐ」というのは,変換前の値の隣の列に変換後の値をく...
-意味が分かりにくいですね。lowess の結果はあくまで平滑化...
-cars というデータセットに,lowess(cars) をして結果は $x,...
-すみません…。諸悪の根源は、The R-Tips で分かりにくい説明...
# 変換前のデータをデータフレームにする(マージ用にIDを付...
( before <- data.frame(ID=1:nrow(cars), cars) )
ID speed dist
1 1 4 2
2 2 4 10
3 3 7 4
................
# 変換後のデータをデータフレームにする(マージ用にIDを付...
( after <- data.frame(ID=1:nrow(cars), lowess(cars)) )
ID x y
1 1 4 4.965459
2 2 4 4.965459
3 3 7 13.124495
..................
# ID で紐付けしてデータをマージ
result <- merge(before, after, by="ID")
# x と dist は重複しているので x を削除
result$x <- NULL
# 結果を表示
result
ID speed dist y
1 1 4 2 4.965459
2 2 4 10 4.965459
3 3 7 4 13.124495
..........................
-あと、青木先生のおっしゃることはご尤もでして、$y は $x ...
-data.frame(ID=1:nrow(cars), cars, y=lowess(cars)$y) でよ...
-丁寧な解説、ありがとうございました。私が実行したかったの...
- > data.frame(ID=1:nrow(cars), cars, y=lowess(cars)$y) ...
あ・・・・・。そうです!何を面倒なことをやっていたのでし...
**ファイルの読み込みについて [#h20cf372]
>[[田中]] (2005-07-08 (金) 18:50:56)~
~
以前、他の件で質問させて頂きました。~
今回は、また別の事柄になるのですが、ファイル読み込みの際...
具体的には、C:/sp01.txt,C:/sp02.txt,・・・C:/sp30.txtのよ...
x01 <-read.table("C:/sp01.txt")
をfor文で回せないかと考えております。つまり、以下のように...
kurikaesi <- function(a,b) {
for(? in 1:30) {
x <- read.table("C:/sp?.txt")
y? <- program(a,b)
}
}
自分で調べては見たものの、結論を得ることが出来なかったの...
よろしくお願いします。~
//
-x <- read.table("C:/sp?.txt") は,自分でファイル名を作れ...
for (i in 1:2) {
fn <- sprintf("test%i.data", i))
x <- read.table(fn)
}
のような感じ。~
y? <- program(a,b) は結果をy[i] に入れればいいと思うが,p...
-早速のご回答ありがとうございます。
質問が分かりにくくてすみませんでした。質問の意図はご回答...
無事解決いたしました。一度、fnに渡して、それから代入する...
ありがとうございました。-- [[田中]] &new{2005-07-08 (金) ...
-補注:もし test1.data でなく test01.data の様にしたけれ...
> i=1; sprintf("test%02i.data", i) # 「整数二桁、一桁な...
[1] "test01.data"
> i=10; sprintf("test%02i.data", i)
[1] "test10.data"
こんなのもあり(R のループ範囲はベクトル、リストでもよい) ...
> for(file in lapply(1:20, function(i) sprintf("file%02i...
cat(file, "?n")
file01.data
file02.data
...........
file19.data
file20.data
-こういうのは好きなんですよ。書式にこだわらないなら,
for (file in paste("file", 1:20, ".data", sep=""))
のほうが短い。 -- [[青木繁伸]] &new{2005-07-09 (土) 11:15...
-様々なご意見ありがとうございます。非常に参考になりました...
-既にあるファイル名をリストに得れば事足りるらしいので,li...
**RODBCを使ったExcelの読み込み [#z8c0546a]
>[[Riemann]] (2005-07-04 (月) 20:59:13)~
~
R Bookに載っているExcelとの連携のところを読んで、「これは...
//
-うちでは300文字かつ300バイト以上でも問題なく読めますが?W...
-はい、Windows XPで、Rのバージョンは1.91です。それから、E...
-特に理由が無ければ2.1.1にバージョンアップしてください. -...
-2.1.1でやってみましたが、症状は同じでした。テキストが同...
-Excel のバージョンは関係ないの?最新版ですか? -- &new{...
-使っているのはExcel 2002 SP3でした。最新ではないですが、...
-こちらでは何ら問題は(改行も読めるし)無いんですが?もちろ...
-Cドライブ直下にフォルダを作ってそこにデータを移動してみ...
-Cドライブ直下にフォルダを作ってそこにデータを移動してみ...
-だぶってますね。パスに二バイト文字を含めないのは常識だと...
-パスが2byteでも大丈夫で〜す.(T_T) 何が違うかもし判った...
**デジタル信号処理 [#t76e00f2]
>[[K]] (2005-07-04 (月) 00:58:04)~
~
RにはMatlabのSignal Processing Toolboxに相当するような~
信号処理に適したパッケージはありますでしょうか?~
fftやウェーブレット関係のパッケージはいくつかあるようです...
ChebychevやButterWorthなど古典的なフィルタ群がないように...
~
「dsp」や「digital filter」、「butterworth」などのキーワ...
検索してみましたが、レスのついていないMLの投稿にヒットす...
~
既存の関数(filterなど)で十分実現可能だから必要ないという...
それとも誰も開発していない(需要がない)ということなのか...
~
どなたか非公式パッケージでもご存じでしたら是非教えてくだ...
//
-Octave にはないのでしょうか? -- [[FlyMeToTheMoon]] &new...
**ベジェ曲線による補間 [#o554c7df]
>[[Krokodile]] (2005-06-29 (水) 16:48:38)~
~
R では akima パッケージで、スプライン補間ができますが、~
ベジェ曲線による補間はできるのでしょうか?~
~
このサイトを検索しましたが、「ベジェ曲線」はヒットしま...
//
-トップページからたどれる Rsite search でキーワード "Bezi...
-ありがとうございます。"Krokodile"はドイツ語です。英語で...
-↑ 失礼しました -- &new{2005-06-29 (水) 22:01:35};
**行列について [#o801760f]
>[[田中]] (2005-06-27 (月) 17:30:29)~
~
以下の質問のご回答よろしくお願いいたします。~
k×(m*i)行列Aを作成するときに、1×mの行列Bkm(k、mは添え字...
centroid <- function(i,K,m) {
C <- matrix(0,K,m*i)
U <- matrix(0,1,m)
for (a in 1:K) {
for (b in 1:i) {
for (w in 1:m) {
U[a,b][1,w] <- (a,b,wの3変数による関数)
}
}
}
for (a in 1:K) {
for (b in 1:i*m) {
t <- ceiling(b/m)
C[a,b] <- U[a,t][1,(b-(t-1)*m)]
}
}
}
としたのですが、エラーがでます。Uの定義の仕方に問題がある...
(分かりにくい気がするので、まとめると、C[i,j]=Uij Uij[1,...
よろしくお願いいたします。~
//
-行列でなければいけないのでしょうか?一番分かりやすい方法...
C[[i,j]][1,k]
のようにアクセスすることでしょうか。-- [[MKR]] &new{2005-...
x <- array(0,c(3,3,3))
for (i in 1:3) for (j in 1:3) for (k in 1:3) x[i,j,k] <-...
x[i,j,k]
-C のポインタみたいな機能が欲しいということでしょうかねえ...
例えば PTR というベクトルがあって,その要素は別の行列を指...
PTR【n】 <- matrix(0, n, n)
【】で表される要素はメモリ領域の先頭を指すポインタを表...
PTR【2】 は 2×2行列を意味し,PTR【10】は 10×10行列。。
こういうのがあったら便利だなと思うこともありますね(ある...
-早速のご返答ありがとうございます。~
私の目的としては、C行列をk×i個の部分行列Uijで考えることで...
-特に高速性を要求しなければ、一番柔軟な方法はリストの行列...
C <- as.list(rep(NA, 3*3))
dim(C) <- c(3,3) # リストを行列化
for (i in 1:3) for (j in 1:3) # リスト行列の各成分に(...
C[[i,j]] <- runif(i*j)
C
[,1] [,2] [,3]
[1,] 0.6133985 Numeric,2 Numeric,3
[2,] Numeric,2 Numeric,4 Numeric,6
[3,] Numeric,3 Numeric,6 Numeric,9
C[[2,3]][4] # (2,3) 番目のブロック(ベクトル)の4番目の...
[1] 0.7488104
-青木さん、MKRさん、ありがとうございました。何とか問題は...
ただ、1つつまづいていることがあります。それはリストCの宣...
centroid <- function(i,K,m){
C <- ????
for(a in 1:K){
for(b in 1:i){
for(w in 1:m){
C[[a,b]][w] <- (a,b,wの関数)
}
}
}
print(t(C))
}
とプログラムを作りました。K×i個のベクトル(要素数m)からK...
たびたびになり申し訳ないのですが、よろしくお願いいたしま...
-C <- lapply(rep(m, K*i), numeric); dim(C) <- c(K,i) とす...
C[[a,b]][w]
という構文は使えません。前者なら使えるはずです。ついでに...
-回答ありがとうございます。とりあえず、問題は解決しました。
あまりにも、計算に時間がかかるようでしたらまた別の方法も...
回答して頂けた方、ありがとうございました。 -- [[田中]] &n...
**for文を使わず行列の要素毎に関数を適用する方法 [#e5c0d7f6]
>[[13m]] (2005-06-26 (日) 06:26:05)~
~
ある行列もしくはベクトルの要素それぞれに対して、1から任意...
以下のようなものを書いてみました。~
f <- function(x, a)
{
res <- 0
for(n in 1:a) res <- res + x/n
return( res )
}
実際に使ってみた様子はこんな感じです
> m=matrix(c(1,2,3,4),ncol=2)
> m
[,1] [,2]
[1,] 1 3
[2,] 2 4
> f(m,10)
[,1] [,2]
[1,] 2.928968 8.786905
[2,] 5.857937 11.715873
これと同じ結果を返す関数を、for文(または要素毎のapply)...
//
-御質問を文字通りに理解すると単に f(x,a)=x*(1/1+1/2+...+1...
temp <- function(x,a) x*sum(1/(1:a))
temp(m,10)
[,1] [,2]
[1,] 2.928968 8.786905
[2,] 5.857937 11.715873
-あ!ごめんなさい。ついつい問題を単純化しすぎました。私が...
○「改訂版」~
f(x,a)=Σ[n=1:a](1/(x+n))のような関数を、行列またはベクト...
そこで以下のようなものを書いてみた。
g <- function(x, a)
{
res <- 0
for(n in 1:a) res <- res + 1/(x+n)
return( res )
}
実行結果
> m=matrix(1:4,ncol=2)
> g(m,5)
[,1] [,2]
[1,] 1.450000 0.8845238
[2,] 1.092857 0.7456349
これと同じ結果を返すものを、いかにもfor文を使わずに書けそ...
-以下のプログラムは R らしいでしょうか。注釈なしで一目で...
> g <- function(x, n)
+ {
+ ncol <- ncol(x)
+ nrow <- nrow(x)
+ k <- array(rep(1:n, each=ncol*nrow), dim=c(nrow, ncol...
+ x <- array(x, dim=c(nrow, ncol, n))
+ apply(1/(x+k), c(1,2), sum)
+ }
> m <- matrix(1:4, 2)
> g(m, 5)
[,1] [,2]
[1,] 1.450000 0.8845238
[2,] 1.092857 0.7456349
我ながらわかりにくいと思います。for を使ったプログラムの...
-元の記事を書き直してしまったのはMKRさんに失礼でした。お...
-青木さん>丁寧な回答いただきありがとうございます。私は、...
-青木さん>とは言え、アクロバティックなコードでも、もしあ...
-記事を追加せずに,投稿済みの記事の途中に挿入・改変するか...
要するに,コメントの付いた記事は誤字の訂正程度以外はいじ...
-良いコードかどうかは別にして、例えば -- [[MKR]] &new{200...
> matrix(colSums(1/mapply(seq, m+1, m+5)), dim(m))
[,1] [,2]
[1,] 1.450000 0.8845238
[2,] 1.092857 0.7456349
-おおお、一行コード。mapplyとseqの組み合わせで要素ごとの...
-MKRさんの一行コードを参考に(パクって)sapplyバージョン...
> h <- function(x,n) matrix(colSums(sapply( x, function(...
> h(m,5)
[,1] [,2]
[1,] 1.450000 0.8845238
[2,] 1.092857 0.7456349
上のやり方だとかなりアレなので、きちんと別途関数定義して...
eess <- function(FUN,x,n)
{ # 引数xのそれぞれの要素に対して一般項FUNに関する1からn...
res <- colSums(sapply(x, FUN, seq(n)))
if(is.matrix(x)) res <- matrix( res, dim(x) )
return( res )
}
feess <- function(FUN,x,n)
{ # 上記と全く同様の機能をfor文で書き直したもの
FUN <- match.fun(FUN)
res <- 0
for(i in seq(n)) res <- res + FUN(x,i)
return(res)
}
使用例とsystem.time()
> gn <- function(x,k) 1/(x+k) # 一般項を適当な関数で定義
> eess(gn,m,5)
[,1] [,2]
[1,] 1.450000 0.8845238
[2,] 1.092857 0.7456349
> eess(gn,1:5,5)
[1] 1.4500000 1.0928571 0.8845238 0.7456349 0.6456349
> eess("^",m,5) # 二項演算子を渡して奇抜な使い方も(Σ[k=...
[,1] [,2]
[1,] 5 363
[2,] 62 1364
> system.time(eess(gn,rnorm(10000),100))
[1] 0.51 0.04 0.59 NA NA
> system.time(feess(gn,rnorm(10000),100))
[1] 0.06 0.02 0.08 NA NA
sapply()の演算は思ったより高速なんですね。驚きました。速...
**画像の貼り付け [#z9b7fa1b]
>[[坂田]] (2005-06-24 (金) 22:05:29)~
~
主成分得点の平面に固体を名前で表示するよりも顔写真を貼り...
と思います(顔に限りませんけど)。このための方法をご教授...
巷の本ではプロ野球選手の成績に対して主成分分析を行ってい...
見受けられますが、名前ではなく顔を張りつければインパクト...
うのですが。~
//
-適当な画像ファイルに落して、あとは適当な画像編集ソフトを...
-早速のレス有難うございます。 むー 出来ればRの世界で閉...
-好みの問題ですが,画像をアスキーアートに変換して小さなフ...
-回答に出遅れてしまった(^o^; 任意の位置に画像を貼る方法は...
> library(pixmap)
> r <- read.pnm(system.file("pictures/logo.ppm", package...
> x <- runif(10)
> y <- runif(10)
> plot(x,y)
> for ( i in 1:length(x)) addlogo(r,px=c(x[i]-0.05,x[i]+...
#ref(addlogo.png,center)
-なかま様、谷村様 ご教授有難うございました。Rでも可能な...
**plot.pointって??? [#g68724a3]
>[[苺]] (2005-06-22 (水) 21:22:30)~
~
はじめまして。~
あるデータの平均と、そのなかの特定の1つのデータの図を同...
//
-そう言った人に聞くのが一番だと思いませんか。~
points 関数のことではないかと思いますが?~
そうであるとしても,やりたいことをちゃんと書かないと,他...
> x <- rnorm(100) # 100個の正規乱数を発生させて
> plot(1:2, c(min(x), max(x)), type="n") # プロット領域...
> points(1.5, mean(x)) # 平均値を描いて
> points(1.5, x[3], col="red") # 3番目のデータを赤でプロ...
なんて馬鹿馬鹿しいことをやるわけじゃないんでしょう?~
投稿法もちゃんと確認してから投稿しましょう。 -- [[青木繁...
**ダミー変数の表示について [#ve9fbffa]
>[[?]] (2005-06-22 (水) 18:35:56)~
~
重回帰分析をする際にダミー変数を用いました。~
しかし、実測値と推定値をplotする際にどうしてもエラーにな...
ちなみにダミー変数は数字からアルファベットに変えてやりま...
//
-どのようにプログラムしたのか,再現できるプログラムと必要...
実測値と推定値のプロットにダミー変数の扱いが原因のエラー...
ハンドルネームはなんでも良いとはいうものの,「?」という...
> x1 <- factor(c("foo", "bar", "bar", "foo", "baz", "baz...
> x2 <- factor(c("hoge", "hoge", "wao", "wao", "hoge", "...
> y <- c( 2, 1, 2, 4, 3, 4)
> ans <- lm(y ~ x1+x2)
> cbind(y, predict(ans))
y
1 2 2.25
2 1 0.75
3 2 2.25
4 4 3.75
5 3 3.50
6 4 3.50
> plot(y, predict(ans))
#ref(regplot.png)
というようなことになったが? -- [[青木繁伸]] &new{2005-06...
-すみません。名前まで考えてなかったもので…~
データはCSVで読み込んで、ある従属変数を5つの説明変数で重...
-で,結局,何がやりたくて,どんなプログラムを書いたら,ど...
**RMySQLのインストールについて [#i4630074]
>[[森野]] (2005-06-17 (金) 19:40:38)~
~
初歩的な質問で,申し訳ありません。~
CRANからRMySQLをダウンロードして,RGuiのパッケージから(...
library()で確認したところ,
** No title available (pre-2.0.0 install?) **
と表示されてしまい,使用する事ができません。~
WindowsXPサービスパック1,R 2.1.0を使用しているのですが,...
//
-RODBCを使いましょう. -- [[なかま]] &new{2005-06-17 (金) ...
-RODBCをダウンロードして頑張ってみます. -- [[森野]] &new{...
-ご教授,本当に有難うございました. -- [[森野]] &new{2005-0...
-投稿法も、良く読んでくださいね。最初の投稿と今では、見た...
-以後気をつけます.ご迷惑お掛けしました. -- [[森野]] &new{...
-RODBCインストール成功しました!有難うございます. -- [[森...
**VimでRを使用したい [#p09b9cd4]
>[[山下]] (2005-06-15 (水) 17:52:32)~
~
WindowsのVimでRを使用したいのですが、~
皆様使用されている方はいませんでしょうか?~
~
エディタ版でVimファイルは見つけたのですが、Syntaxも上手く...
デフォルトの :set Syntax=rを使用しています。~
~
xyzzy並みに使っておられる方がいましたらご教授下さい。~
//
-私は Vim でスクリプトを編集し,Emacs(ESS) 上の R で sour...
-ご返答ありがとうございました。ご提示頂いた方法を使用させ...
-途中で切れてしまったので、続きを記載いたします。やはりVi...
**ATLASを使いたい [#n19dbf8a]
&aname(ATLAS);
>どうむ (2005-06-15 (水) 12:13:12)~
~
LinuxでRを使用しております。~
ATLASを使用したいのですが、どのようにしたらいいのでしょう...
以下「うまくいかない」現象です
~
-おこなったこと(ATLAS)~
--http://math-atlas.sourceforge.net/からソースをダウンロ...
--一般ユーザーで
make
--rootユーザーで
make install arch=Linux_HAMMER64SSE2_2
---CPUは、に上からもわかるとおり、AMD64bitです(汗~
--作成された「.a」をパスの通っているディレクトリへ、コピー~
-おこなったこと(R)~
--バージョン > R-2.0.1~
--ソースをダウンロード、解凍~
--一般ユーザーで
./configure --with-blas=f77blas
---この時点でログには
checking for sgemm_ in -lf77blas... no
checking for sgemm_... no
checking for ATL_xerbla in -latlas... no
checking for sgemm_ in -lblas... yes
---f77blasを使用することにはなっていません、、、
--一般ユーザーで
make
make check
--rootユーザーで
make install
---案の定lddで実行ファイルを見ても普通のlibblas.soがリン...
これを、解決するには
-ATLASがデフォルトで作成するlibf77blas.aというスタティッ...
-libf77blas.soというシェアードライブラリを作成する~
ということになると思うのですが、どうなのでしょうか?_?~
blas or atlas で、当サイトを検索して、調べてみましたが、...
ご教授よろしくお願いいたします~
(次はgotoにチャレンジだ!)
p.s.~
Win版ATLASはdllをダウンロードしてきて、既存のものと置き換...
行列演算が、計算の中身にもよりますが、4分の1になったり...
Linuxでもこのパフォーマンスを体験したい、、、
//
-パスの通ったディレクトリとありますが(ライブラリの検索は...
-ご回答ありがとうございます。現在頂いた情報を元に、いろい...
-ATLAS関係以外なら,たぶんヘッダー関係(hoge-devel or hoge-...
-R の configure スクリプトは単に sgemm_ をリンクできるか...
-ついでに config.log の該当部分を書き写してくれると一発で...
-なかま様・後藤様、情報ありがとうございます!結果から申し...
--環境
---AMD64では、64ビット系?のところでうまくいかないよう...
---Xeon3.2GHz×2
---メモリ2Gbyte
---Red Hat Enterprise Linux WS release 3 (Taroon) Kernel ...
--ATLASのコンパイル(CPU一個しか使わない設定で、、)
make install arch=Linux_UNKNOWNSSE2
---できた「libatlas.a」「libf77blas.a」を「/usr/lib」へコ...
--R
./configure --with-blas="-L/usr/lib -lf77blas -latlas"
make
make check
make install
---コンフィグのログ該当部分?
checking for sgemm_ in -L/usr/lib -lf77blas -latlas... yes
---静的リンクに成功!!
--結果
---test2関数
test2 <- function ( n=500 )
{
A<-array(rnorm(n^2), dim=c(n,n))
B<-array(rnorm(n^2), dim=c(n,n))
C<-array(rnorm(n^2), dim=c(n,n))
D<-array(rnorm(n^2), dim=c(n,n))
BA <- B%*%A
return (system.time(A%*%solve(t(BA)%*%BA+C)%*%BA%*%D ))
}
---導入前
> test2()
[1] 2.24 0.08 2.33 0.00 0.00
> test2()
[1] 2.26 0.06 2.33 0.00 0.00
> test2()
[1] 2.27 0.05 2.32 0.00 0.00
---導入後
> test2()
[1] 0.46 0.07 0.54 0.00 0.00
> test2()
[1] 0.45 0.06 0.51 0.00 0.00
> test2()
[1] 0.43 0.05 0.48 0.00 0.00
---やった!!
---が、、、当マシン(Xeon×2)では、ATLASのコンパイル時に...
---3回失敗、負荷(CPU使用率50%-ひとつのCPUが100%の状態)...
---↓これが途中でエラーが出てとまります。どういうエラーだ...
make install arch=Linux_UNKNOWNSSE2
---AMD64では、こんなことはなかったのですが、、、
-HAMMER64SSE2_2の2を見落としていました.Rのビルド時に --di...
# ATLAS
make xconfig
./xconfig -F f '-fomit-frame-pointer -O -m64 -fPIC' ?
-F c '-fomit-frame-pointer -O -mfpmath=387 -m6...
-F m '-fomit-frame-pointer -O -mfpmath=387 -m6...
make install arch=Linux_HAMMER64SSE2_2 # rootである必要...
# R (ATLASのスレッドとR-profilingは不仲!)
./configure --disable-R-profiling --with-blas='-L/usr/lo...
-AMD64も上記のとおりすると、できました。ありがとうご...
--導入前は、大体4-5秒かかっていたのが
> test2()
[1] 0.76 0.05 0.57 0.00 0.00
> test2()
[1] 0.75 0.07 0.58 0.00 0.00
> test2()
[1] 0.75 0.06 0.56 0.00 0.00
--すばらしい!
-XEONなら3.7.10(developer)あたりが良いかとおもいます. 普...
-再々、貴重な情報ありがとうございます。当方業務にてRを使...
-ちょっと大変ですが,出来たらATLAS+Rのビルドページ作りませ...
-どのような構成にすればよいのか、まったく見当もつきません...
**データをソートしたい [#p40551c1]
>[[学生]] (2005-06-14 (火) 18:45:06)~
~
はじめまして、とっても初歩的な質問ですが、~
R環境で、入力データ(数値)をソートしたいです、~
できれば、出力は順番づけられてほしい~
ご存知の方、教えていただければありがたいです。~
よろしくお願いいたします~
//
-「出力は順番づけられてほしい」というのは,どういうことな...
sort 関数というのはご存じなんでしょうか。 -- [[青木繁伸]]...
-早速返事して頂きありがとうございました!今までRを使った...
-やりたいことをやってくれる関数名だけが分かっていて,詳し...
help(sort) # または簡略化された ? sortでもよい
今後は自分で調べてもらうことにして,sort の使い方は以下の...
> x <- c(3,6,5,2,8)
> sort(x)
[1] 2 3 5 6 8
Net で得られる R の使い方についての資料は,[[舟尾さんの R...
書名(著者・編者等) The R Tips データ解析環境Rの基本技...
発行元 株式会社 九天社
発行年 2005
価格 3500円(税別)
ISBN 4-86167-039-x
です。 -- [[青木繁伸]] &new{2005-06-15 (水) 11:27:17};
-○○したことがないから○○出来ない、というフレーズは感心しま...
-丁寧な回答をどうもありがとうございました!後は、自分で手...
**heatmapの縦横比変更 及び 複数の図を描画する方法について...
>[[小島]] (2005-06-14 (火) 17:40:44)~
~
はじめまして。~
heatmap関数を使用して作図をしているのですが、行き詰ってし...
以下の事柄についてご存知の方がいましたら解決方法を教え下...
~
質問1:heatmapの縦横比の変更について
>>heatmap関数を用いて解析を行うと、その縦横比(X軸とY軸の...
扱っているデータがX軸の数の方が圧倒的に多いので、X軸を長...
通常、出力デバイス(png, pdf等)の大きさを変更するとそれに...
例を挙げると以下のようになります。
#サンプルデータ(データをX軸の方が多くなるように加工)
data(mtcars)
sampledata<-rbind(c(mtcars[,2]), c(mtcars[,3]), c(mtcars...
#デバイスの大きさを横長の長方形に指定する
pdf("test.pdf", width=12, height=5)
heatmap(sampledata)
dev.off()
>>marginsをいじれば形は変化するのですが、余白が出来る上、...
heatmap(sampledata, xlab="XLAB", margins=c(20,5))
<
>質問2:heatmapを使った複数の図の描画について
>>複数の図を描画する時、
#layoutを用いた画面分割(下図を大きく)
mat <- matrix(c(1,2,2), 3, 1, byrow=TRUE)
layout(mat)
plot(sin)
plot(cos)
>>など、plot関数を用いた場合は描画できるのですが、~
heatmap関数を用いると、heatmapの図だけ独立して新規に出来...
mat <- matrix(c(1,2,2), 3, 1, byrow = TRUE)
layout(mat)
#データは上記と同じものを使用
plot(sampledata)
heatmap(sampledata)
>>何か回避する方法はあるのでしょうか?
<ヘルプを見たり検索をしてみたのですが、私自身の力不足とhe...
ご存知の方がいらっしゃいましたらよろしくお願いいたします。~
//
-まず質問1について~
heatmap を例えば heatmap2 に付値して,heatmap2 の中にある
layout(lmat, widths = lwid, heights = lhei, respect ...
という行の,respect を FALSE にします。つまり,
layout(lmat, widths = lwid, heights = lhei, respect ...
とすれば,いいようですが。そして当然使うのは heatmap2(sam...
#ref(heatmap.png)
自己責任で試してみてください。~
質問2は,あ,自明かな。heatmap が上のように layout を呼ぶ...
望むとおりのグラフを描くには,相当の手入れが必要かと。R ...
~
-早速の返信ありがとうございました。~
こちらの返信が遅くなってしまいすみません。heatmap.2のイン...
#上にはheatmap2()となっていますが、gregmiscのheatmap.2()...
~
再度質問なのですが、heatmap.2にしたところ、時間軸(X軸)を...
# heatmapでは時間軸の固定が可能
heatmap(sampledata, Colv=NA)
# heatmap.2ではColvに欠損値(NA)は入れられないとエラーが...
heatmap.2(sampledata, Colv=NA, trace="none", key=FALSE)
以下のように dendrogram を指定すると似たようなグラフは出...
heatmap.2(sampledata, dendrogram="row", trace="none", ke...
ヘルプの Note: 欄に書いてあった時間軸固定に関する記述がな...
-?? gregmiscのheatmap.2()でいいのですか?~
全然よくありません。gregmisc にheatmap.2 という関数がある...
私が上に書いたように,あくまでも heatmap を使うのだが,関...
直接書き換えるのはお勧めできないので,適当な名前に付値し...
書き換える場所は,これこれですよと。~
このような説明が必要と言うことは,自己責任でその過程を踏...
教えられればなんでもできるというものでもありませんから,...
-と,言ってしまうのも何ですから。~
heatmap2 <- heatmap
fix(heatmap2)
ここで,前記の通りの行を修正後,保存し編集ウインドウを...
heatmap2(sampledata)
これで,うまく行くと思うのだが。。。 -- [[青木繁伸]] &new...
-丁寧な回答をありがとうございます。~
もともとheatmap.2という関数名を知っていたので勘違いをして...
heatmap.2()でも、~
rowInd <- 1:nr~
colInd <- 1:nc~
という記述を適当な場所に加えればいいようです。~
もっとRを使いこなせるように今後も勉強していきたいと思い...
青木先生、ありがとうございました。-- [[小島]] &new{2005-0...
**重回帰分析でのカテゴリー変数:内部表現の値 [#c3709c20]
>[[ショーゾー]] (2005-06-06 (月) 13:20:11)~
~
一つのカテゴリー変数(FとM)と5つの数値変数を説明変数とし...
ここで,予測値を計算する時はsex=Mのときは6.3007 * 2として...
チェックのために,Fのときは0,Mのときは1のダミー変数(sex...
//
-factor は,アルファベット順で数値を割り当てられるのだっ...
> x <- c("A", "B", "C")
> as.integer(as.factor(x))
[1] 1 2 3
> x <- c("C", "B", "A")
> as.integer(as.factor(x))
[1] 3 2 1
という結果を精査すべし。 -- [[青木繁伸]] &new{2005-06-06 ...
-関係するので書いておきます(どこかに書いた気がするが。。...
複数のレベルを持つ factor を lm で使うと,ちゃんとダミー...
> x <- as.factor(sample(3, 10, replace=T))
> x
[1] 1 3 2 1 1 3 1 3 1 1
Levels: 1 2 3
> y <- rnorm(10)
> lm(y ~ x)
Call:
lm(formula = y ~ x)
Coefficients:
(Intercept) x2 x3 # x2,x3 は...
-0.04008 0.80732 -0.18625
> x2 <- ifelse(x ==2, 1, 0) # こういう風に解釈してくれて...
> x3 <- ifelse(x ==3, 1, 0)
> lm(y ~ x2+x3)
Call:
lm(formula = y ~ x2 + x3)
Coefficients:
(Intercept) x2 x3
-0.04008 0.80732 -0.18625 # で,同じ答えに...
こんな風になる。賢いなぁ R は。 -- [[青木繁伸]] &new{2005...
-青木さんありがとうございます。factorをlmで使った時に青木...
- カテゴリー変数をfactor化するときは、factor()にlevelsオ...
> c <- c("Low", "Medium", "High")
> f <- factor(c)
> f
[1] Low Medium High
Levels: High Low Medium
> as.integer(f)
[1] 2 3 1
> f2 <- factor(c, levels=c("Low", "Medium", "High"))
> f2
[1] Low Medium High
Levels: Low Medium High
> as.integer(f2)
[1] 1 2 3
>
-
-青木さん「どこかに書いた気がするが...」ありました。なん...
**R commanderを使いたい [#s5a3eb5f]
>[[g]] (2005-06-06 (月) 10:48:48)~
~
R commanderを使いたくて,パッケージRcmdrを読み込んだら~
以下のメッセージが出てしまいました.~
同様な状況を解決した人がいましたら解決方法を教えてくださ...
ちなみにRのバージョンはR2.1.0で~
R commandeのバージョンはRcmdr1.0-2です.~
また,以下のパッケージも読み込んでいます.~
(バージョンもチェック済み)~
abind, car (>= 1.0-15), effects (>= 1.0-7), foreign, ~
grid, lattice, lmtest, MASS, mgcv, multcomp, ~
mvtnorm, nlme, nnet, relimp, sandwich, strucchange, zoo~
~
*****エラーメッセージの始まり*****~
> local({pkg <- select.list(sort(.packages(all.available ...
+ if(nchar(pkg)) library(pkg, character.only=TRUE)})~
要求されたパッケージ tcltk をロード中です~
要求されたパッケージ rgl をロード中です~
要求されたパッケージ zoo をロード中です~
要求されたパッケージ strucchange をロード中です~
要求されたパッケージ sandwich をロード中です~
要求されたパッケージ relimp をロード中です~
要求されたパッケージ nnet をロード中です~
要求されたパッケージ nlme をロード中です~
要求されたパッケージ mvtnorm をロード中です~
要求されたパッケージ multcomp をロード中です~
要求されたパッケージ mgcv をロード中です~
This is mgcv 1.3-0 ~
要求されたパッケージ MASS をロード中です~
要求されたパッケージ lmtest をロード中です~
要求されたパッケージ lattice をロード中です~
要求されたパッケージ grid をロード中です~
要求されたパッケージ foreign をロード中です~
要求されたパッケージ effects をロード中です~
要求されたパッケージ car をロード中です~
要求されたパッケージ abind をロード中です~
以下にエラーparse(file, n, text, prompt) : 構文解析エラー...
エラー:.onAttach は 'attachNamespace' で失敗しました~
エラー:'Rcmdr' に対するパッケージもしくは名前空間のロー...
//
-それは、なんと言うOS上でのお話しでしょうか? -- [[なかま]...
-失礼しました.WinXP(pro)のsp2です.ちなみにこのエラーは...
-Win2000ですが、R2.1.0およびR2.1.0 patched(6月4日)では...
-Win版ならlocaleToCharsetの影響かも.日替わりR(パッチ適用...
-質問当初は,Rterm上でも同様のエラーが起こったのですが,J...
-(続きです.)R commanderが起動しました.使用目的からする...
-あれからさらにいろいろ試してみたところ,インストール時に...
**散布図のプロットについて [#a320aa7c]
>[[ken]] (2005-06-03 (金) 23:03:02)~
~
はじめまして~
plot関数を使って散布図を作成しているのですが、x軸、y軸に...
項目 X Y
A 3 4
B 7 5 # 投稿法を良く読んで投稿しなさい
のような表の散布図を作成した場合、A、Bを直接図の中に表し...
//
-こんなのはどうでしょうか?
> dat <- matrix(c(3,4,7,5), nrow = 2, byrow=TRUE, dimnam...
> plot(dat, pch=rownames(dat))
[[松村俊和:http://kobe.cool.ne.jp/matsut/]] (2005-06-04 (...
-早速の回答、ありがとうございます。 この方法を探していま...
-上記のプログラムでは、A,B等、1文字だけは出力されますが、...
-plot(dat, pch=" ");text(dat, rownames(dat)) -- &new{200...
-データファイルがちゃんと作られていれば,データを読んだ後...
d <- read.table("test.dat")
plot(d, pch=" ")
text(d, rownames(d))
プロット位置にマークを書いたり,text で書かれる文字列がマ...
-無事、出来上がりました。 松村様、青木様、いろいろとご指...
**標本平均のSD [#faa1b8ff]
>[[Mari]] (2005-06-02 (木) 13:14:43)~
~
以下のように乱数を発生させ、その平均値の分布のSDがσ/sqrt(...
途中で計算のさせかたを間違っているのかと思いましたが、ど...
> dat <- numeric(10000)
> for ( i in 1:10000) dat[i] <- mean(rnorm(100,1,3))
> sd(dat)
[1] 0.30414
> 3/sqrt(10000)
[1] 0.03
どなたかご教示いただけませんでしょうか・・・~
//
-標本の大きさは100でしょう?( mean(rnorm(100,1,3)) って...
> x <- matrix(rnorm(1000000,1,3), 10000,100)
> sd(apply(x, 1, mean))
[1] 0.29930224896266783
ですね。 -- [[青木繁伸]] &new{2005-06-02 (木) 13:34:23};
-ありがとうございました。nを勘違いしておりました。もっと...
**ヒストグラムの階級の区切りと重なった値の扱い [#y8237907]
>[[<ふ>]] (2005-06-02 (木) 00:04:40)~
~
R2.0.1を使ってます。
x <- c(150,160,170,180,190)
というデータをつくり、
> hist(x)
でグラフをかかせますと、150と160が同じ区間にカウントされ...
help(hist)を読みましたら、~
'right = TRUE' (default), では、'(a, b]'で値をカウントす...
それなら、と、
> hist(x,xlim=c(140,200))
で描画させてみたのですが、左端とは、データの左端なんです...
次に、
> hist(x,right = FALSE)
としますと、180と190が同じ区間にカウントされます。~
手でグラフを描いたら、こんなふうにはせずに、平らな図にし...
よろしくご教示ください。
> stem(x)
The decimal point is 1 digit(s) to the right of the |
15 | 0
16 | 0
17 | 0
18 | 0
19 | 0
> hist(x,xlim=c(140,200))
> hist(x,xlim=c(140,200),right = FALSE)
//
-breaks を使って
hist(x,breaks=15:20*10,right=FALSE)
とすれば良いのでは?~
help にちゃんと書いてありますよ。~
Note that xlim is not used to define the histogram (brea...
but only for plotting (when plot = TRUE).
しかしまぁ,エラーまでペーストする必要はないでしょう。~
先頭1文字空白行の使い方もまずかったし。-- [[青木繁伸]] &n...
-ありがとうございます -- [[<ふ>]] &new{2005-06-03 (金) ...
-青木先生、すみません、ここの使い方、まだ、よくわかってま...
**kruskal.test()の使い方間違っているのでしょうか? [#db9c...
>[[RIRISU]] (2005-05-31 (火) 01:52:02)~
~
クルスカル・ワリスの検定についてお聞きします。
1回群 2回群 4回群 8回群
no.1 9 13 19 24
no.2 11 15 19 23
no.3 11 14 21 20
no.4 14 16 22 24
no.5 20 17 19 19
no.6 13 21 20 24
このデータから群によって評定の差があるかどうかを検定した...
> x<-c(9,11,11,14,20,13)
> y<-c(13,15,14,16,17,21)
> z<-c(19,19,21,22,19,20)
> e<-c(24,23,20,24,19,24)
> x<-c(x,y,z,e)
> g<-factor(rep(1:4,c(6,6,6,6)),
+ labels=c("1group","2group","4group","8group"))
> kruskal.test(x,g)
で合っているでしょうか?手計算(表計算ソフトで公式に数値...
手計算でやると、0.1%の危険率で帰無仮説を棄却するのですが...
//
-そもそも,自由度についてさえ,なぜ23になるのか。計算が間...
なお,データがどのように取られているか書かれていないので...
投稿記事は,(コメントが付く前なら,訂正・編集して良いと...
**post-hoc Fisher's LSD test [#xc85b30b]
>[[Sybock]] (2005-05-26 (木) 18:50:12)~
~
はじめまして、質問させていただきます。~
~
anova を3群のデータに適用し、有意差が出たものについて po...
中澤港様の「Rによる統計解析の基礎」P.109 を参考に、
# 例
firingRatio <- c(52,30,35,41,29,…, 33)
types <- c("A", "C", "A", "B", …, "C")
# 両ベクトルとも同じ length
pairwise.t.test(firingRatio, types, p.adjust.method = "h...
といった形で実行しましたが、この pairwise.t.test という関...
~
また、古典的な Fisher の制約つき LSD 法 も行って見たいの...
知識不足のため、検索キーワードが不適切であった可能性もあ...
//
-pairwise.*.test は,K 群の全ての二群の組み合わせについて...
-google でキーワード "filetype:R LSD" で検索すると12例...
-青木先生>ご回答いただき、ありがとうございます。pairの意...
-Fisher's LSD test についても検索して勉強してみます。 -- ...
**日付値の取り扱い [#h9f74918]
>[[さかな]] (2005-05-25 (水) 21:35:34)~
~
質問させて頂きます。~
~
例えば、開始日(2002/05/03)と終了日(2004/03/21)を指定した...
期間中の一連の日付を生成する良い方法はないでしょうか?~
~
2002/05/02~
2002/05/03~
....~
2004/03/20~
2004/03/21~
~
アドバイスよろしくお願いします。~
//
-help(seq)とか,seq(as.POSIXct("2002/05/03"),as.POSIXct("2...
-月/日/年の順で良ければ以下が一番簡単か?
library(chron)
seq.dates("05/03/2002", "03/21/2004")
。。。-- [[青木繁伸]] &new{2005-05-25 (水) 23:12:54};
-base パッケージだけで済ますなら(ちなみに始点と終点に日...
x <- seq(as.POSIXct("2002/05/03"),as.POSIXct("2004/03/21...
gsub("-","/",as.character(x))
-gsub 使うなら, format(x,"%Y/%m/%d") の方が素直かも.%Aと...
-seqも総称関数だったんですね。アドバイスありがとうござい...
**表示の問題 [#j58af5ed]
>[[こじろう]] (2005-05-12 (木) 01:21:32)~
~
Rのカーソルが|ではなく■の形になっていてとても使いにくい...
//
-これは R の問題ではなく、OS の問題ではと思います。だとす...
-コメントありがとうございます。そして、お気に触る質問の仕...
-カーソルはたしか, src/gnuwin32/console.cあたりで描画して...
-アドバイス、ありがとうございました。でも、やはり無理でし...
**表と図を一枚のPDFに出力したいです [#o22dfed4]
>[[Akira]] (2005-05-04 (水) 0:01:12)~
~
LaTeXを勉強しろと言われそうですが、グラフと表を一枚のPDF...
[[LaTeX:http://www.okada.jp.org/RWiki/index.php?cmd=read&...
非効率的とはわかりながらも、今は座標を探しながらmtextで表...
pdf(file="test.pdf")
layout(c(1:2))
plot(x=0, y=0, xlim=range(0,4), ylim=range(0,5), pch=&qu...
yaxs="i", axes=FALSE, xlab="", ylab="", c...
for(i in seq(0, 6)){
segments(0.5, i, 14.5, i)
}
mtext(text="column1", side=3, line = -1, adj=0, at=2, fo...
mtext(text="column2", side=3, line = -1, adj=0, at=3, fo...
mtext(text="row1", side=3, line = -2.2, adj=0, at=1, fon...
mtext(text="row2", side=3, line = -3.4, adj=0, at=1, fon...
mtext(text="row3", side=3, line = -4.5, adj=0, at=1, fon...
mtext(text="row4", side=3, line = -5.7, adj=0, at=1, fon...
mtext(text="data1.1", side=3, line = -2.2, adj=0, at=2, ...
mtext(text="data2.1", side=3, line = -3.4, adj=0, at=2, ...
mtext(text="data3.1", side=3, line = -4.5, adj=0, at=2, ...
mtext(text="data4.1", side=3, line = -5.7, adj=0, at=2, ...
mtext(text="data1.2", side=3, line = -2.2, adj=0, at=3, ...
mtext(text="data2.2", side=3, line = -3.4, adj=0, at=3, ...
mtext(text="data3.2", side=3, line = -4.5, adj=0, at=3, ...
mtext(text="data4.2", side=3, line = -5.7, adj=0, at=3, ...
plot(1:10)
dev.off()
//
-任意のワープロソフトで表組みして,Rで作成した画像(pdf ...
LaTeX で作表,フロートで画像を取り込んで,pdf 出力する。...
-ご要望の趣旨とは違いますが、Sweave と呼ばれるツールを使...
?documentclass[a4paper]{article}
?SweaveOpts{echo=FALSE}
?usepackage{a4wide}
?usepackage{Sweave}
?begin{document}
<<>>=
x <- 1:20
y <- x/10+rnorm(20)
summary(z <- lm(y ~ x))
@
?SweaveOpts{echo=true}
?begin{figure}[htbp]
?begin{center}
<<fig=TRUE>>=
par(mfrow=c(2,2))
plot(z)
@
?caption{linear regression}
?end{center}
?end{figure}
?end{document}
#ref(sweavetest.png)
-表と図ですから,xtableとSweaveで. -- [[なかま]] &new{2005...
?documentclass[a4paper]{article}
?usepackage{graphicx}
?begin{document}
?SweaveOpts{echo=false,pdf=FALSE}
<<results=hide>>=
library(xtable)
hoge<-data.frame(Tokyo=c(100,200),
Osaka=c(80,69),
Sapporo=c(80,69),
Fukuoka=c(80,69),
Naha=c(80,69),
Kyoto=c(80,69),
Hiroshima=c(80,69),
Nagoya=c(90,250)
)
@
?section{table and graph}
<<results=tex>>=
xtable(hoge, caption="table dayo")
@
?setkeys{Gin}{width=1.0?textwidth}
<<fig=TRUE,eps=TRUE>>=
boxplot(hoge)
@
?end{document}
#ref(test1.png)
-Sweave は最終的なまとめだけでなく、結果の一時的メモをと...
-発言意図がなかなかくみ取れない質問ではありましたが,作表...
temp.pdf というファイルもアップロードしておきましたが表示...
#ref(temp.png)
-元記事の参考例を実行してみましたが、やはり表組みの質がい...
-青木先生、なかま様、その他の皆様、ありがとうございます。...
青木先生のご指摘どおり、関数の作成とWordでの出力(Acrobat...
現在、「測定データから測定対象の品質レポートを作成する」...
私がLaTeXを使いこなせないことも原因ですが、スクリプトの知...
-私も噂だけで使ってみたことのない Sweave を今回勉強できて...
-PDFLATEX というのを使えば dvi ファイルでなく、PDF ファイ...
-揚げ足取りのようなコメントですが、Acrobatがないとpdf出力...
-素朴に疑問に思ったことだったのですが、関連するページをご...
ちなみに私もplatex+dvipdfmxを使っております。 -- [[Akira]...
-Sweaveを使って結果をまとめることができるようになりました...
**緯度・経度について [#ba665fb9]
>[[原]] (2005-05-03 (火) 11:52:12)~
~
東京の地図をmaptoolsで表示させた上に、地価のポイントを...
東京の地図は表示できたのですが、地価ポイントの緯度・経...
//
-できます。その東京の地図と同じ座標系のシェープファイルに...
-補足です。もし、その東京の地図がUTMや平面直行座標系など...
**Mac 版 R 2.1.0 のインストール [#g6c80aa0]
>[[初心者]] (2005-05-02 (月) 22:14:17)~
~
Windows 版 R 2.1.0 ならば,East Asian Languages でインス...
//
-どういう意味でしょう。何もせずに日本語化されたRが起動さ...
-何もせずに日本語化されたRが起動したので,「あれ?何もし...
-MacOS X版のGUIはフォントはロケールに応じて使い分けられる...
**debian(woody)におけるR-2.1.0のapt-get用sources.list [#d...
>[[さとう]] (2005-05-02 (月) 20:01:21)~
~
debian(woody)においてR-2.0.1をapt-getするためのsources.li...
~
>Ign http://******* Release~
~
のようになりapt-getできません。~
//
-今、手元にDebianが無いのでなんですが、 "deb http://cran...
-CRAN にある R の deb パッケージは確か保守されていないは...
# Stable
deb http://ftp.de.debian.org/pub/debian stable main cont...
deb http://ftp.de.debian.org/pub/debian-non-US stable/no...
# Testing
deb http://ftp.de.debian.org/pub/debian testing main con...
deb http://ftp.de.debian.org/pub/debian-non-US testing/n...
# Unstable
deb http://ftp.de.debian.org/debian unstable main contri...
deb http://ftp.de.debian.org/debian-non-US unstable/non-...
-念のため確認したら CRAN にも最新版がありました。しかし D...
-コメントありがとうございます。Debian.orgのパッケージ一覧...
-souces.list に以下の一行を加えたら、(少なくとも) at-get ...
deb http://cran.md.tsukuba.ac.jp/bin/linux/debian stable...
-再度ありがとうございます。ところで、上述のもので'apt-cac...
-つくば大学の CRAN mirror は本家の完全コピーかと思いまし...
http://cran.au.r-project.org/bin/linux/debian stable/
これでも駄目なら deb ファイルをダウンロードし dpkg -i r-b...
-結局、sources.listをRに関連するCRANミラーのもの一行だけ...
-筑波ミラーにも2.1.0-woodyはきていました。.ac.jp/bin/linu...
終了行:
COLOR(green){SIZE(20){初心者のための R および RjpWiki に...
新規投稿はできません
----
-[[初級Q&A アーカイブ(2)]] (元記事が 2004-12-13 より 2...
-[[初級Q&A アーカイブ(1)]] (元記事が 2004-08-03 より 2...
----
#contents
----
**起動中の vignette 呼び出し [#l876d9d0]
>[[青木繁伸]] (2005-11-07 (月) 12:40:49)~
~
Macintosh OS 10.4.3 で,R 2.2.0 を使っていますが,R を起...
現在は,ダミーの vignette 関数を定義してバイパスするよう...
//
-私はPowerBook G4(1GHz)、Mac OS 10.4.3でR 2.2.0を使って...
-パッケージはどれくらいインストールなさってますか。~
私は全部インストールしているせいか(^_^;),dual 2.5GHz Pow...
-お、多いですね・・ 私の場合、追加インストールしたパッケ...
-起動中の vignette にどのような意味があるかはよく分からな...
ということで,取りあえずは vignette <- function() return(...
**計量経済分析向けの商用ソフト [#u1116df0]
>[[どうむ]] (2005-10-26 (水) 11:08:06)~
~
株式市場の(主に国内)分析等でRをバリバリ使っていますが、...
//
-よく考えたら、TSP も Eviews も RATS もそんなに安くはない...
**独立成分分析のチュートリアル [#z8a3c680]
>[[ ]](2005-10-26 (水) 10:54:37)~
~
Rを使ったICA(独立成分分析)のチュートリアルってどこかに...
//
-ICAといえば、[[http://www.cis.hut.fi/projects/ica/fastic...
**時系列データの解析について [#ue4f8d28]
>[[山形]] (2005-10-26 (水) 10:52:53)~
~
時系列データの解析を行なうにあたり、Box-Jenkins ARIMAを使...
Rでもこの方法は出来ますか?出来るとしたらどのパッケージを...
それとも、普通のARIMAで出来るのでしょうか?~
//
-google で,site:r-project.org Box-Jenkins ARIMA を検索...
CRAN Task View: Computational Econometrics - [ このペー...
Time series modelling : Classical time series modelling ...
the stats package and include arima() for ARIMA modellin...
analysis. Furthermore stats provides StructTS() for fitt...
cran.r-project.org/src/contrib/Views/Econometrics.html -...
みたいのが出てきますが -- &new{2005-10-26 (水) 11:13:28};
**バスエラー - コアダンプに悩まされております(T_T) [#xcff...
>[[ちょろべぇ]] (2005-10-25 (火) 13:34:32)~
~
現在はじめてUNIXでのR実行にチャレンジしています。~
ただ、そこでPDF形式で画像を出力しようとしますと~
~
”バスエラー - コアダンプしました。”~
~
というエラーが出てしまい、異常終了いたします。~
またUNIXとLINUXの双方でプログラムをじっこうしてみた所、~
UNIXではコアダンプしてしまいますが、なぜかLINUXでは問題な...
動作します。~
本件、どのように解決すべき問題なのか、ウェブ等色々調べま...
まったく見当がつかない状態です。お気づきの点等ありましたら~
アドバイスいただければと思います。~
~
====== 以下 詳細情報~
・Rのバージョン 2.0.1(UNIXもLINUXも)~
・実行したOS ソラリス8(UNIX)、スージーLINUX~
・実行したコマンド
TestChars <- function(encoding="ISOLatin1", ...)
{
pdf(encoding=encoding, ...)
par(pty="s")
plot(c(-1,16), c(-1,16), type="n", xlab="", ylab...
title(paste("Centred chars in encoding", encodin...
grid(17, 17, lty=1)
for(i in c(32:255)) {
x <- i
y <- i
points(x, y, pch=i)
}
dev.off()
}
## there will be many warnings.
TestChars("ISOLatin2")
#↑?pdfで出てくるサンプルスクリプト~
・読み込んでいるライブラリー Rの標準もの~
//
-TestChars()も同様に失敗するのでしょうか。環境変数LANGに...
-自分で make した物なんでしょうか.だったら,自分で gdb 等...
-谷村様、TestCharsも同様に失敗します。なお失敗するUNIXの...
**グラフの大きさ [#kb5daf65]
>[[初心者K]] (2005-10-23 (日) 18:50:45)~
~
かなり初歩的な質問で申し訳ありません.~
毎回同じ大きさグラフをつくりたいのですがデバイスの大きさ...
どなたかご教示お願いします.~
//
-どのグラフィックデバイスをお使いですか?それと,OS名とそ...
私は pdf を使うのですが,pdf(ファイル名, width=インチ, he...
-[[初級Q&A アーカイブ(1)]]の「出力画像のサイズを変更し...
-「毎回同じ大きさにならないグラフ」のスクリプトを掲載した...
私はxinXPproでRは1.90ぐらいから現バージョンまで使っていま...
-ご回答ありがとうございます.初級Q&Aアーカイブ(1)等を参照...
**連続尺度の変数を名義尺度にコーディングしたい。 [#jdc650...
>[[bob3]] (2005-10-23 (日) 01:46:36)~
~
連続尺度の変数を名義尺度の変数にコーディングしたいと思っ...
たとえば、以下の例では AREA が1〜5の場合は「P」という...
~
x <- data.frame(AREA=1:9)
AreaCode <- c('P','Q')
ifelse(x$AREA>5, x$A2<-AreaCode[1], x$A2<-AreaCode[2])
# ここでは期待した結果が出力されるのですが、
x
# データフレームをみると全て「Q」になっています。
~
上手なやり方があれば、教えてください。~
なお、使っているのは 闇R 2.2.0 です。~
よろしくお願いいたします。~
//
-不等号が逆なのでは?ちなみに x$AREA < 6-- &new{2005-10...
-闇R2.2.0以外のほかのバージョンではどうなるんですか。それ...
Mac R2.1.1では以下の通りになりましたとさ
> x <- data.frame(AREA=1:9)
> AreaCode <- c('P','Q')
> ifelse(x$AREA>5, x$A2<-AreaCode[1], x$A2<-AreaCode[2])
[1] "Q" "Q" "Q" "Q" "Q" "P" "P" "P" "P"
> x
AREA A2
1 1 Q
2 2 Q
3 3 Q
4 4 Q
5 5 Q
6 6 Q
7 7 Q
8 8 Q
9 9 Q
ifelse の第2,第3オペランドで代入しているから変なことにな...
不等号の件はご愛敬か
ifelse(x$AREA>5, x$A2<-AreaCode[1], x$A2<-AreaCode[2])
は冗長なので
x$A2<-ifelse(x$AREA>5, AreaCode[1], AreaCode[2])
これで,問題解決。~
または
x$A2<-AreaCode[1+(x$AREA>5)]
などとも -- &new{2005-10-23 (日) 09:36:34};
-ご回答ありがとうございます。不等号の件、失礼いたしました。
OSは WindowsXP HOME と Windows98SE で確認しました。~
出力結果を載せなかったのもまずかったです。~
ひとまず、解決いたしました。~
当初の方法だと、以下のようにデータフレームには全て「Q」が...
> x <- data.frame(AREA=1:9)
> AreaCode <- c('P','Q')
> ifelse(x$AREA<=5, x$A2<-AreaCode[1], x$A2<-AreaCode[2])
[1] "P" "P" "P" "P" "P" "Q" "Q" "Q" "Q"
> x
AREA A2
1 1 Q
2 2 Q
3 3 Q
4 4 Q
5 5 Q
6 6 Q
7 7 Q
8 8 Q
9 9 Q
そして、ご回答いただいた方法にするとうまく行きました。~
> x <- data.frame(AREA=1:9)
> AreaCode <- c('P','Q')
> x$A2<-ifelse(x$AREA<=5, AreaCode[1], AreaCode[2])
> x
AREA A2
1 1 P
2 2 P
3 3 P
4 4 P
5 5 P
6 6 Q
7 7 Q
8 8 Q
9 9 Q
> x <- data.frame(AREA=1:9)
> AreaCode <- c('P','Q')
> x$A2<-AreaCode[1+(x$AREA>5)]
> x
AREA A2
1 1 P
2 2 P
3 3 P
4 4 P
5 5 P
6 6 Q
7 7 Q
8 8 Q
9 9 Q
ところで、名義尺度の水準が三つ以上の場合は、以下のように ...
> x <- data.frame(AREA=1:9)
> AreaCode <- c('P','Q','R')
> x$A2<-ifelse(x$AREA<=3, AreaCode[1], ifelse(x$AREA>3 &...
> x
AREA A2
1 1 P
2 2 P
3 3 P
4 4 Q
5 5 Q
6 6 Q
7 7 R
8 8 R
9 9 R
よろしくお願いいたします。 -- [[bob3]] &new{2005-10-23 (...
-x$AREA をどのような規則性により変換するかにもよりますね~
例では1〜9の整数値ですが,最初の質問では連続値とありまし...
x$A2 <- AreaCode[as.integer((x$AREA-0.00001)/3)+1]
のようなのも一つの方法ですね(0.00001 というのは本当は良く...
1以上4未満,4以上7未満,7以上10未満というのなら
x$A2 <- AreaCode[as.integer((x$AREA-1)/3)+1]
データに応じた,臨機応変なプログラミングが必要になるでし...
ちなみに
x$A2<-ifelse(x$AREA<=3, AreaCode[1], ifelse(x$AREA>3 & x...
は冗長で,
x$A2<-ifelse(x$AREA<=3, AreaCode[1], ifelse(x$AREA<=6, A...
とするだけでよい -- &new{2005-10-23 (日) 17:02:02};
-なるほど。実際に分析したいデータは必ずしも等間隔ではない...
-質問文をよく読んでませんでした。ifelse の第2,第3パラメ...
-cut(x$AREA, breaks=c(-Inf,4,7,Inf), right=FALSE, labels=...
-もちろん,これが一番ですね。なにかあったはずと思いつつ,...
**dynlmというパッケージについて [#a9c3aac2]
>[[山形]] (2005-10-21 (金) 18:32:18)~
~
Rを用いて時系列解析を行ないたいと考えています。
Rは初心者です。~
先輩から dynlm というパッケージを用いてやると良いと聞いた...
help(dynlm)を見たときに、Examplesに~
## multiplicative SARIMA(1,0,0)(1,0,0)_12 model fitted
## to UK seatbelt data
uk <- log10(UKDriverDeaths)
dfm <- dynlm(uk ~ L(uk, 1) + L(uk, 12))
というプログラムがありました。~
L(uk,1)やL(uk,12)の1や12は何を表しているのでしょうか?~
これと似たようなプログラムを実行したいので、よろしくお願...
//
-An example would be d(y) ~ L(y, 2), where d(x, k) is dif...
-dynlm のヘルプに書いてありましたね。よく読んでなく、すみ...
**メモリの上限に関する質問です [#qbe36bde]
>[[花子]] (2005-10-20 (木) 14:55:17)~
~
大規模データを用いて数量化理論を実行したいと思っている~
Rの超初心者です。~
掲示板の記事によると~
「Rは実メモリ又は1024Mという上限がある」ようですが、~
これは明確な情報としてどこに明記されているのでしょうか?~
(疑っているわけではありませんが、私の中でホントに「1024M...
実際に、試しに1Gから2Gにメモリを増やしてRを起動し、~
memory.limit()をみてみましたが、~
1Gの時と変わらないのをみると、やはり1024Mが上限なのかなぁ...
~
「どこに明記してあるか?」というあいまいな質問ですが、~
人からの情報ではなく、なにか説明書のようなものに上限が書...
//
-恐らく MSW 版で R を使っているのでは。Windows 版 R の FA...
-返答ありがとうございました。ちなみに私の使用しているWind...
**data.frame の番号の書き換え [#e1cd4068]
>[[近藤]] (2005-10-20 (木) 08:59:58)~
~
例えば~
data(sleep)
sleep[sleep$g==2,]
とすると~
>sleep[sleep$g==2,]
extra group
11 1.9 2
12 0.8 2
13 1.1 2
14 0.1 2
15 -0.1 2
16 4.4 2
17 5.5 2
18 1.6 2
19 4.6 2
20 3.4 2
となります。~
この左端の番号 11 - 20 を 1 からふり直すにはどうしたら良...
//
-行名なので,例えば data.frame(sleep[sleep$g==2,],row.name...
-row.names を表示しないというのは可能ですか? -- [[近藤]]...
-cat を使って表示するような汎用関数を書くと良いでしょう。...
-がんばってみます。 -- &new{2005-10-20 (木) 12:34:46};
**さっぱり訳が分かりません・・・・・ [#h9dc0559]
>[[リサ]] (2005-10-14 (金) 08:03:35)~
~
intvlest<-function(x,n,sd,a){
h<-abs(qnorm((1-a)/2)*sd/sqrt(n))
return(c(x-h,x+h))
}
conf.intvl<-function(n,k,a=0.95,mu=0,sd=1){
Llim<-rep(0,k)
Ulim<-rep(0,k)
for(i in 1:k){
x<-rnorm(n,mu,sd)
lim<-intvlest(mean(x),n,sd,a)
Llim[i]<-lim[1]
Ulim[i]<-lim[2]
}
matplot(cbind(Llim,Ulim))
abline(h=mu)
ng<-0
for(i in 1:k){
if(Llim[i]>mu|Ulim[i]<mu)ng<-ng+1
lines(c(i,i),c(Llim[i],Ulim[i]))
}
return(ng/k)
}
初めまして。~
~
以上のプログラム、学校の授業で作成したのですが、黒板に書...
~
intvlestっていうプログラムに何かを代入して、グラフを作成...
これが結果的に何を計算しているかも分かるんです。~
中心極限定理ですよね?~
でも、それぞれの言語の意味が分かりません。~
かなり初歩的なことだとは思うのですが、このプログラム1行1...
よろしくお願いします。~
//
//-少なくとも2行目を直さないと、まともには動かないでしょ...
-ご質問は「関数が分からない」のか、「文法が分からないのか...
関数が分からないなら、R上で「?(関数名)」とすれば使い方...
しかしそれ以前に、学校の授業ならプログラムが黒板に書かれ...
-文法が分かりません。 -- [[リサ]] &new{2005-10-14 (金) 09...
-help("Syntax") とか help("{") とか help("if") とか help(...
-注意:このコーナーの上に「学校の宿題は自分で考えるべきで...
-その通り! -- [[先生]] &new{2005-10-14 (金) 14:09:24};
-プログラムが,あまりエレガントでないので書き換え
conf.intvl <- function(n, k, a = 0.95, mu = 0, sd = 1) {
x <- apply(matrix(rnorm(n*k, mu, sd), n, k), 2, mean)
h <- qnorm((1-a)/2)*sd/sqrt(n)
lim <- cbind(x+h, x-h)
matplot(lim)
abline(h = mu)
sapply(1:k, function(i) lines(c(i, i), c(lim[i,1], lim[i...
return(sum(lim[,1] > mu | lim[,2] < mu)/k)
}
こんな風にしてみましたが,sapply が,「いやん」な感じ -- ...
**maptoolsのインストール [#e262e445]
>[[たろう]] (2005-10-13 (木) 17:32:01)~
~
R 2.2.0で,maptoolsのzipファイルをR上でインストールしたの...
以下のように表示されてしまいます.改めてzipファイルをXP上...
展開しても同じでした.library()と入力すると,mapttolsも表...
対策をご教示くださいませ.~
~
> utils:::menuInstallLocal()~
package 'maptools' successfully unpacked and MD5 sums che...
updating HTML package descriptions~
> library(maptools)~
要求されたパッケージ foreign をロード中です~
エラー:'%s' が要求したパッケージ '%s' は見つけられません...
//
-そういうときは、まずwebででもパッケージのマニュアルを読...
-まあ,「エラー:'%s' が要求したパッケージ '%s' は見つけ...
-ありがとうございます。packageのmanualに書いてあるDepends...
-対処方法のめどがたったなら,そのようにして頂いて,うまく...
-うまくいきましたぁ! 英語の勉強にもなりました。御礼申し...
-どうやったらうまくいったかを書くべきですね。 -- &new{20...
-失礼しました.Dependsに書いてあるforeign, spパッケージを...
**確率分布同士の演算の信頼区間 [#z5f1cfcf]
>[[takahashi]] (2005-10-11 (火) 20:54:48)~
~
Rとは直接関係ないのでここに書いてみます(説明はRでしてみま...
~
> x<-c(-3,-2,-1,1,2,3)
> y1<-c(0.1,0.2,0.3,0.7,0.8,0.9)
> y2<-c(0.2,0.3,0.4,0.6,0.7,0.8) #データは適当です
で,~
y1~N1=pnrom(x,0,sd1),y2~N2=pnorm(x,0,sd2) #これはRのコー...
と正規分布に従うことを仮定して,N1,N2に対するsd1,sd2の...
~
ちなみにあんまり関係ないんですが,↑の過程でpsignifit(http...
//
->を書いたんですが,c側のコードを実行中にたまに落ちます...
プログラムのミスなんでは?~
コードも何も示されないでそんなこと言われても,反応は限ら...
-自然なパラメータは sd1^2+sd2^2 もしくはそのルートだと思...
-ああ,すみません.勘違いです.そうですね.pnormの引数は...
-とすれば(二種類のデータの数が同じという前提で)適当にペ...
-すみません,ペア毎の和をとるという操作が良くわからないの...
->ペア毎の和をとるという操作が良くわからないのですが~
MKRさんが言っておられるように,適当に2つずつとって和を求...
-N1,N2からサンプルを生成して和をとりモンテカルロ法でN3の...
-そういうことでしょう。ただし,今回の場合は,2つの独立な...
-度々すみません.N3のパラメータについて点推定であれば理論...
-母数がわかっていることなんか滅多にないことなので,サンプ...
> y1 <- rnorm(200, mean=5, sd=3)
> y2 <- rnorm(200, mean=8, sd=2)
> y3 <- y1+y2
> mean(y1)+mean(y2)
[1] 12.82907
> mean(y3)
[1] 12.82907
> sqrt(var(y1)+var(y2))
[1] 3.726669
> sd(y3)
[1] 3.84084
となりますが,試行回数を多くするなりしてシミュレーション...
-上の結果は勿論,試行回数を無限に取れば理論値に収束します...
-上記試行を繰り返し,sd3 の経験分布を求めれば良いだけでは...
> sim <- function(n, trial=1000)
+ {
+ result <- numeric(trial)
+ for (i in 1:trial) {
+ y1 <- rnorm(n, mean=5, sd=3)
+ y2 <- rnorm(n, mean=8, sd=2)
+ result[i] <- sd(y1+y2)
+ }
+ result <- list(sd3 = mean(result), se = sd(result), r...
+ class(result) <- "sim"
+ return(result)
+ }
> print.sim <- function(result)
+ {
+ cat("sd3=", result$sd3, "?tse=", result$se)
+ }
> sim(10)
sd3= 3.477083 se= 0.8488288
> sim(200)
sd3= 3.601848 se= 0.1748326
> sim(400)
sd3= 3.602084 se= 0.1328714
とか。。se は sd/sqrt(2n) かなあ。ちゃんと数学で解かない...
以下で図を描くと,ほぼあっていそう。
> result1 <- result2 <- numeric(100)
> for (i in 1:100) {
+ a <- sim(i*10)
+ result1[i] <- a$sd3
+ result2[i] <- a$se}
> plot(1:100, result2)
> lines(1:100, result1/sqrt(1:100*20), col="red")
そんないい加減でいいのか。。 -- &new{2005-10-12 (水) 12:...
-まだ混乱があるようですね。y1~N1=pnrom(x,0,sd1) と書いた...
sdi はσi の(yi から求めた)推定値という意味なら、sqrt(sd1^...
-すみません.全くそういうことです.>MKRさん.N3の理論標...
-おさらいしておきます。x1,x2,...,xn ~ N(0,σ1^2), y1,y2,.....
-- [[MKR]] &new{2005-10-12 (水) 18:46:59};
-よくわかりました.今回最初から私の説明が悪く,皆様に余計...
-比率が正規分布するんですか。 -- &new{2005-10-13 (木) 16...
-たとえ話とか,話を簡単にするとかは,論者がよっぽどの技量...
-Rottenbach -- [[Austria]] &new{2005-10-22 (土) 03:03:24};
**Ruby-RMathlib [#xb06c203]
>[[るびお]] (2005-10-05 (水) 23:37:07)~
~
ここのページに書いてあるRuby-RMathlibを使ってみたいのです...
http://www.okada.jp.org/RWiki/index.php?cmd=read&page=Ruby~
~
そのためには、libRmath.a standalone libraryをCRANからとっ...
どこでこのライブラリのwindows版もしくはcygwin版等を手に入...
また、Ruby-RMathlibを使うのに、R自体はインストールする必...
~
環境はWindows XP + cygwinです。~
//
-Rのソースをとってきて,Rを構築(Mingw)した後,src/nmath/sta...
-VineLinuxだったらlibRmath-devel-2.1.1-0vl1.i386.rpmに/us...
-なかまさんのやり方でできました。ありがとうございました。...
**パッケージの読み込みができない [#m61bb040]
>[[hatena]] (2005-10-03 (月) 16:56:52)~
~
何故か、lme4のパッケージをインストールした後、読み込みが...
~
library(lme4)と入力すると、~
エラー:'%s' が要求したパッケージ '%s' は見つけられません...
という表示が出ます。~
~
何か解決法がございましたら、よろしくお願いいたします。~
//
-使用している OS, R バージョン は最低述べるべきです。 イ...
-lme4はパッケージMatrixとlatticeに依存しています。すでに...
-require(lme4) としてみるとか. -- [[なかま]] &new{2005-10...
-Matrixがインストールされておりませんでした。無事に、読み...
**The R Tipsの正誤 [#le2ef536]
>[[mori]] (2005-09-28 (水) 16:54:19)~
~
船尾さんのThe R Tipsの練習問題の解答(p.360)にt.test(dat...
p値が0.8417なので、母平均が0であるという帰無仮説は棄却さ...
と書いてあるのですが、p値>0.05の場合は帰無仮説は棄却され...
//
-mori さんの解釈が正しいです -- &new{2005-09-28 (水) 17:...
-すみません・・・。moriさんのおっしゃる通りです。拙著は多...
-サポートページがあると思って探していたのですが見つけられ...
-一番最後のページに載ってましたね・・・ -- [[mori]] &new{...
-ご参照いただきましてありがとうございます。 -- [[舟尾]] &...
**Rmapのインストールについて [#pbe0c4a3]
>[[ひろ?]] (2005-09-28 (水) 14:17:41)~
~
はじめまして。WINDOWSで、R2.1.1に、Rmapのインストールを試...
「'Rmap' は有効なパッケージではありません。バージョン < 2...
というメッセージがでてきてしまいます。~
ちなみにbinフォルダにprojとshapelibは入れています。~
どのように対処すればよいかどなたかご教示いただけないでし...
よろしくお願いします。~
//
-これはバイナリパッケージがR2.0以降には対応していないため...
-1.9xでインストールして使うことができました。ありがと...
-すでに解決済みとこのことですが、OGRがどうしても必要だと...
**Rのソースを自動インデントするエディターはありますでしょ...
>[[ちょろちゃん]] (2005-09-21 (水) 23:58:08)~
~
R駆け出し中のちょろと申します。~
この度はRのソースを自動インデントするエディターを~
ご教授いただきたく投稿しました。~
~
現在、勉強もかねてRのスクリプトを作成しております。~
そのスクリプトですが、数百行を超えてきたあたりから、~
for,ifなどのカッコの対応を追うのが非常に困難になってきま...
そこで、Javaで言うところのEclipseのソース→フォーマットの...
既存のソースをオートインデントするソフト、ないしはエディ...
何か無いかと思い、xyzzyのR-modeの設定を行いましたが、~
URL http://plaza.umin.ac.jp/~takeshou/xyzzy/rmode.html
R-modeではカラーリングはばっちりされるのですが、いかんせん~
インデンテーション機能が弱いように感じております。~
~
~
何か、既存のRのソースを整形するよりよいエディターやソフト...
などありましたら、ご教授いただきたく考えております。~
どうぞヨロシクお願いいたします。m(_ _)m~
//
-perl とか AWK とかで,自分好みのインデンてーションをする...
google で site:r-project.org indent などとすると,いくつ...
-[[ESS]]を使うと、括弧の上にカーソルがあるとそれに対応す...
-[[ESS]]でご要望のことができるようです。ファイル(バッフ...
-先輩方いろいろとアドバイスありがとうございます。まずはア...
-R-mode、放置していてすみません。インデントの部分について...
-昨日、ノムラさまにまたコードをいただきました。マージする...
**multiv パッケージがない [#w2630ec6]
>[[lost]] (2005-09-21 (水) 12:10:56)~
~
multiv パッケージがいつのまにかCRAN から消えています。...
~
どなたか、ご教示願います。~
//
R Site Search によれば
multiv is ORPHANED.
If you want it you can go the orphaned subdirectory on C...
メンテナーがいなくなったか、他に良いものがあるのか、どち...
-貴重な情報ありがとうございました。 -- [[lost]] &new{2005...
**「Rで自己組織化マップを」で、library(som)が呼べない [#u...
>[[K.Morgen]] (2005-09-14 (水) 16:41:34)~
~
「Rで自己組織化マップ」を参照し、前段のlibrary(class)か...
現在、R2.1.1Patchedを使用中ですが、インストールに問題が...
//
-同じバージョンを使用していますが、"som"は筑波のミラーか...
-早速のアドバイス恐縮です。私も、R2.1.1Patchedは、筑波の...
-install.packages("som")は実行済みでしょうか? -- &new{2...
-ご指摘感謝申し上げます。お手数をお掛けし申し訳有りません...
**OS XのRcmdrのフォント [#qf33d7de]
>[[ショーゾー]] (2005-09-12 (月) 10:09:31)~
~
Mac OS X 10.4.2 + X11 1.1 + R 2.1.1 + Rcmdr 1.1.1の環境で...
Rcmdrの「ツール」->「オプション...」->「デフォルトのフォ...
生半可知識ですが,X11のfontsフォルダにKochi-substituteを...
//
-一度Commanderを終了してから、options(Rcmdr=list(default....
-できました! しかし15インチディスプレイでははみ出てしま...
**error message "x and y lengths differ"どうすれば? [#j4...
>[[yanagi]] (2005-09-10 (土) 17:07:37)~
~
g<-expression(2*x^2+3*x+5)~
D(g,"x")~
y<-D(g,"x")~
plot(y,-10,10)~
をしましだがerror message "x and y lengths differ"がだます~
どうすればいいですか?~
//
-yanagiさんの実行したいことはyで定義した関数を-10から10の...
curve(2*x^2+3*x+5, xlim=c(-10,10));
ではだめですか? -- [[Akira]] &new{2005-09-10 (土) 20:28:...
-y(というかD()のreturn value)はfunctionではなくcallなの...
**APLとRの関数の比較表 [#ce5e48cc]
>[[Fleischmann]] (2005-09-08 (木) 13:11:16)~
~
昔のAPLのコードをRに変換したいのですが、APLとRの関数の...
//
**大規模データからサンプリングせずにデータ抽出する [#c62d...
>[[msasaki]] (2005-09-08 (木) 11:23:54)~
~
6000行×8列の時系列データから、ある列から100個のデータを抽...
//
-質問の意味が良く分かりませんが。x[1:100, i] とすれば,i ...
-もうしわけございませんでした。6000個のデータから等間隔で...
-上に書いたものの応用でしょう。x[seq(start, end, by=n), i...
-ありがとうございました!!おかげさまで1歩前進しました!!青...
**RでKNN(K近傍法)を行うには? [#fdf3da21]
>[[nori]] (2005-09-08 (木) 09:48:14)~
~
はじめまして。1000*65のデータの欠損値をKNNで解析を行いた...
//
-書くまいと思ったものの。。。どのようなことを聞きたいのか...
-青木繁伸様、失礼いたしました。しかしながら、Rについて基...
**c() の最大の要素数 [#se4b91c7]
>[[初心者 ち]] (2005-09-06 (火) 12:35:22)~
~
c()の引数に16000個の引数を取ることは可能でしょうか?エラ...
~
obs1 <- c(4,1,2,1,1,19,5,1,1,1,6,19,1,1,1,10,1,1,4...)~
~
syntax error~
Execution halted~
//
-仕様では見かけていない(見落としているだけかもしれません...
syntax errorなのだから文法が間違っているんじゃないでしょ...
eval(parse(text=paste("c(",paste(1:16000,collapse=","),"...
は問題なく通ります~
ソースコードを載せれば誰かがどこが間違っているか指摘して...
-私のところはMacintosh OS 10.4 で,R 2.1.1 ですが,10倍の...
-バッファの問題は異なるエラーになります(見落としが無けれ...
-OSは TurboLinux WorkStation8でRのバージョンは2.0.1 メモ...
-同じデータでWindows XPで実験したところSyntaxは出ませんで...
-改行コードかな?そうであればprogram.Rをobs1<-c()としても...
- 何より、16000 個もの数字を書き連ねたソースファイルとい...
-obs1<-c()はうまくいきます.私自身も改行コードかなっと思...
-追記:Rを起動したあとにsource("foo.R")とするとうまくい...
- 一行に長く書きすぎたのではないでしょうか.http://cran.r...
**連番の変数の参照 [#x887d8dd]
>[[Katsura]] (2005-09-05 (月) 13:22:09)~
~
連番の変数(m1〜m30)のそれぞれに対数線形モデル(loglin)...
//
-sapply(1:30,function(x){eval(parse(paste("m",x,"$lrt",se...
-sapply(1:30, function(i) eval(parse(text=paste('m', i, '...
-もろかぶりしましたね。~
ちなみに,教唆とは「1 他人をそそのかすこと。けしかけるこ...
-あーparseのtext=忘れてました(別に「教唆」したわけではな...
-m<-as.list(NULL);m[[ 1]]<-loglin(なんちゃら);...;lapply(...
-ありがとうございます。これでだいぶ楽になります。ちなみに...
**凡例に+-記号を [#r3b66821]
>[[mitsu5]] (2005-09-04 (日) 11:34:42)~
~
凡例に mean +/- SD と書きたいのですが、このプラス マイ...
//
-plot(1:10,1:10) ;legend(8,8,expression(mean %+-% SD)) ど...
-どうもありがとうございます。help("plotmath")ではぴんと来...
**横軸の下とか縦軸の左に文字を描き込みたい [#n739659c]
>[[青木繁伸]] (2005-09-04 (日) 11:25:25)~
~
横軸の下に,何か描こうとしても,描けません。~
x <- 0:10
y <- x^2
plot(x, y)
text(5, -2, "a")
のようにしても,ウインドウサイズにもよりますが,描けませ...
どうしたらいいでしょうか。~
//
-par(xpd=T) として,textしてみてください. -- [[なかま]] &n...
-ありがとうございました。できました。安易に聞いてしまいま...
**重回帰分析におけるマルチコについて [#w60aab04]
>[[TAK]] (2005-08-29 (月) 20:46:25)~
~
こんばんは。申し訳ありませんが、質問させてください。~
~
Y X1 X2 X3~
18.235 13.256 0.632 0.011~
30.444 20.668 0.592 0.017~
10.529 7.167 0.654 0.018~
19.579 13.307 0.668 0.025~
27.143 20.413 0.534 0.006~
15.000 12.362 0.515 0.010~
17.433 13.061 0.448 0.002~
30.250 22.299 0.692 0.008~
30.000 22.000 0.500 0.007~
18.571 13.582 1.311 0.832~
31.026 20.697 1.569 0.585~
11.028 7.558 1.526 0.702~
19.785 14.200 1.138 0.436~
27.452 20.470 1.187 0.525~
15.598 12.604 0.784 0.525~
17.692 13.388 0.684 0.863~
30.928 22.752 1.320 0.266~
30.086 22.558 0.688 0.434~
19.507 14.512 2.239 1.784~
31.082 21.684 2.031 0.671~
11.577 7.855 1.751 0.888~
19.952 14.945 1.900 0.909~
27.970 20.639 1.310 0.671~
16.577 13.166 1.094 1.473~
18.017 13.711 1.623 1.791~
~
上記のデータに対して、目的変数をY、説明変数をX1、X2、X3と...
//
-参照された find.multico() は,固有値・固有ベクトルの方か...
一方,http://aoki2.si.gunma-u.ac.jp/R/tolerance.html の方...
tolerance VIF
X1 0.92483 1.0813
X2 0.44101 2.2675
X3 0.42018 2.3799
となり,TAK さんがおっしゃるように X2もX3 もVIF は3以下で...
単相関係数と回帰係数の符号が違うのがもっとも明確な理由に...
もっとも,X2 と Y の単相関は -0.0255 と非常に小さいので,...
ということで,ステップワイズ変数選択(Pin=Pout=0.05)をやっ...
X1 のみ 0.97442
X1, X3 0.97401
X1, X2 0.97466
X1,X2,X3 0.98074
ということです。~
感じとしては,X1 のみで十分かな。 -- [[青木繁伸]] &new{20...
-予測に徹するなら、計算機が計算を放棄しない限りマルチコ完...
-青木先生およびもう一方、有意義なわかりやすいコメントをし...
-そのような方針もありかもしれませんね。しかし,マルチコ状...
-「結果が不安定でも予測制度は良い」というのが最近の潮流の...
**プロットの色分けの方法 [#w1382452]
>[[阿部]] (2005-08-29 (月) 14:34:46)~
~
質問です。
代金 緯度 経度
48000 139.77379 35.70892
103000 139.77705 35.69388
68000 139.7803 35.69616
103500 139.7728 35.696
のようなデータをRのplotを用いて緯度経度をプロットし、代金...
たとえば代金が、50000未満の点を青、50000以上,80000未満の...
//
-この例題は理解できますか?
x <- 1:20
color <- ifelse(x < 6, "blue", ifelse(x < 15, "red", "bl...
plot(x, x^2, col=color)
2行目で color という変数に付値してから使っていますが,直...
わかりにくければ,for 文と if 文を使ってプログラムすれば...
-ご回答ありがとうございました。~
先生の回答を参考にさせていただき、無事色分けすることがで...
ご指導ありがとうございました。 -- [[阿部]]
&new{2005-08-29 (月) 15:59:00};
**t.testでの母平均算出 [#b4130ca8]
>[[Akira]] (2005-08-17 (水) 20:06:29)~
~
matrixデータに対して、row毎にt.testを適用し、estimateを取...
すると、【以下にエラーt.test.default(x) : データは本質的...
おそらく、rowの値が全て等しいからだと思うのですが、t.test...
今は以下のようにしていますが、上手く行きません。
> # このようなデータです。
> x
x1 x2 x3
a 7.864811 7.402886 7.633848
b 8.210283 7.838808 8.024545
c 5.624960 5.624960 5.624960
d 3.451917 3.491341 3.471629
e 9.493148 8.908723 9.200936
f 7.759156 8.401847 8.080501
> #関数を定義しました
> fun <- function(x, y){
+ if(all(x==mean(x, na.rm=TRUE), na.rm=TRUE)){
+ x <- mean(as.numeric(x), na.rm=TRUE)
+ }else{
+ x <- t.test(x)[[y]]
+ }
+ return(x)
+ }
>
> #そしてapplyでrow毎にfunを実行しました
> apply(x,1,fun,5)
>
> #そうすると、以下のエラーが出てしまいます
以下にエラーt.test.default(x) : データは本質的に定数です
3行目の値が全て同じなのが、原因と分かりました。
> x.row3 <- x[3,]
> x.row3
x1 x2 x3
c 5.62496 5.62496 5.62496
> apply(x.row3,1,fun,5)
以下にエラーt.test.default(x) : データは本質的に定数です
しかし、人為的に作成したデータでは上手く動きます
> test <- matrix(c(1:12, rep(3,3)), ncol=3, byrow=T)
> test
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
[4,] 10 11 12
[5,] 3 3 3
> apply(test,1,fun,5)
[1] 2 5 8 11 3
all(x==mean(x, na.rm=TRUE), na.rm=TRUE)の条件分岐が上手く...
> str(x.row3)
`data.frame': 1 obs. of 3 variables:
$ x1: num 5.62
$ x2: num 5.62
$ x3: num 5.62
> x.row3[1]
x1
c 5.62496
> x.row3[2]
x2
c 5.62496
> x.row3[3]
x3
c 5.62496
よろしくお願いします。
//
-誰かが, 行を潰してた。。ブツブツ。。~
> mean(x, na.rm=TRUE)
x1 x2 x3
7.067379 6.944761 7.006070
となるのは分かっているのでしょうか。~
そもそも,あなたがやろうとしていることがよく分からないの...
だとしたら,エラーチェック・エラー対処は別として,apply(x...
//
-ありがとうございます。「estimateを取り出す」という部分で...
上のエラーはt.test(x)$p.valueを取り出す関数を使いまわした...
> mean(x, na.rm=TRUE)
x1 x2 x3
7.067379 6.944761 7.006070
については、理解しております。x <- mean(as.numeric(x), na...
ここが【以下にエラーt.test.default(x) : データは本質的に...
-確かに意味不明ですが、もし質問の趣旨が(本質的に同値な)行...
if(all(x==mean(x, na.rm=TRUE), na.rm=TRUE))
の部分を
if(identical(all.equal(var(x[2,]), 0), TRUE))
にでもかえれば良いはずです。投稿が前後してしまいましたが...
-QDU先生ありがとうございます。エラーなく動作しました。~
if(identical(all.equal(var(x[2,]), 0), TRUE))
のような使い方を知りませんでした。~
「xに含まれる要素が全て等しいかどうか」を判定したかったの...
どうでも良いと思いますが、x==mean(as.numeric(x), na.rm=TR...
**度数分布の求め方 [#d4b95775]
>[[A380]] (2005-08-16 (火) 23:40:38)~
~
度分布を計算するRの関数はないでしょうか?~
//
-table とか hist とか。
> x <- rbinom(10000, 10, 0.5)
> table(x)
x
0 1 2 3 4 5 6 7 8 9 10
9 87 439 1142 2140 2483 1993 1162 422 112 11
> hist(x, breaks=0:11-0.5)$counts
[1] 9 87 439 1142 2140 2483 1993 1162 422 112 ...
オンラインヘルプを良く読んで使ってください。 -- [[青木繁...
-御回答ありがとうございました。 -- [[A380]] &new{2005-08-...
**計算結果の画面表示の保存 [#d860b0ed]
>[[take]] (2005-08-16 (火) 20:21:32)~
~
お世話になります。~
例えば下記のようなリストの表示そのものを保存するコマンド...
コピー&ペーストがもっとも手っ取り早いですが、大量にある...
capture.output()などではベクター形式で表示されてしまいま...
なお、当方の環境は2.01 WinXPsp1です。どうぞよろしくお願い...
~
> a <-matrix(1:4,ncol=2); b <-matrix(4:1,ncol=2)
> list <-list(a,b)
> list
[[1]]
[,1] [,2]
[1,] 1 3
[2,] 2 4
[[2]]
[,1] [,2]
[1,] 4 2
[2,] 3 1
//
-どのような形でファイルに出力したいのか不明なので,なんと...
> a <-matrix(1:4,ncol=2); b <-matrix(4:1,ncol=2)
> list <-list(a,b)
> class(list) <- "your.class"
> print.your.class <- function(x)
+ {
+ cat(list[[1]][1,1], list[[1]][1,2], list[[1]][2,1], l...
+ cat(list[[2]][1,1], list[[2]][1,2], list[[2]][2,1], l...
+ }
> list
1 3 2 4
4 2 3 1
cat の出力先をファイルにする,ファイルに追加出力するとか...
-青木先生早速ありがとうございます。わかりにくい書き方です...
**パッケージが見つからない。 [#p6cf3603]
>[[econome007]] (2005-08-15 (月) 17:19:25)~
~
初心者です。~
MASS,nnet,ts,nlsといったパッケージが見あたらないのですが...
//
-MASSとnnetについては、VRというパッケージの中にバンドルさ...
-ts も nls もパッケージではなく,関数ですが。いずれも sta...
-質問にお答え頂き、ありがとうございました。 -- [[econome0...
**ポアソン方程式を扱える関数 [#uf149a47]
>[[ラプラス]] (2005-08-10 (水) 14:29:03)~
~
Rでポアソン方程式を扱える関数はあるのでしょうか?~
~
いろいろ探してみましたが見つからないのですが?~
//
-R は統計システムですから、これは中華料理店でフランス料理...
-ないものは,自分で書けば良いだけです。それも,何も R で...
-ROctaveでOctaveを呼んで,ん中でポアソンなりラプラスなり処...
**R のスクリプトで再帰アルゴリズムを書く方法 [#xb369652]
>[[Lost]] (2005-08-05 (金) 17:17:45)~
~
R のスクリプトで、再帰アルゴリズムを使ったサンプルはな...
//
-どの程度のサンプルといっておられるのか分かりませんが。よ...
> fact2 <- function(n)
+ {
+ if (n == 0) 1
+ else n*fact2(n-1)
+ }
> fact2(8)
[1] 40320
> fact2(3)
[1] 6
base に本来ある factorial 関数でチェックしてみましょうか...
> factorial(8)
[1] 40320
> factorial(3)
[1] 6
いかがでしょうか(レポートの手助けだったらやだな)。~
else n*fact2(n-1)
のところは,
else n*Recall(n-1)
のほうがいいらしい。 -- [[青木繁伸]] &new{2005-08-05 (金)...
-青木先生ご返答ありがとうございます。
~
上の関数を以下のように加算に変更してみました。
fact3 <- function(n)
{
if (n == 0) 1
else n+fact3(n-1) #加算に変更
}
R2.1.0 での実行結果は以下のようになりました。
> fact3(998)
[1] 498502
> fact3(999)
エラー:protect():プロテクションスタックが溢れました
結果がオーバーフローしているようではないですが。関数内...
上記のエラーへの対処方法はないのでしょうか?-- >[[Lost...
-加算に変更って。。。これは何を計算することになるんでしょ...
あなたは,分かってますよね。だとすると,この例の関数名は...
解が求まるまでに,何回再帰する必要があるかを計算すること...
再帰をするということについて,コンピュータサイエンスを分...
解決法?~
再帰関数はスマートな定義ですが,計算上はちっともスマート...
スタックの変更方法は私は知りません。誰かが書いてくれるか...
-一般(?)に再帰とは鼠講に例えられて、階層が浅いうちは上手...
-前にパーコレーション問題を解くプログラムをRを使って書け...
> factorial
function (x)
gamma(x + 1)
<environment: namespace:base>
-末尾再帰になってないからかと思ったらどうやらRは末尾最適...
純粋なfunctional language だと思ってたんですがそうでもな...
通常の関数型言語だと
function(a,b=1){ifelse(a==0,b,Recall(a-1,b+a))}
とかにすればスタック消費しなくなるはずですけどね
例えばschemeとか -- [[takahashi]] &new{2005-08-06 (土) 03...
-リコンパイル無しでも,R --max-ppsize=100000 とかの設定が...
**標準パッケージ [#c22903a8]
>[[issei]] (2005-08-04 (木) 14:35:12)~
~
標準パッケージのリファランスはどこで得ることができるので...
CRAN拡張パッケージについては、ダウンロードするところにあ...
spatialを使いたいのですが困っています。~
よろしくお願いします。~
//
-spatial パッケージはパッケージバンドル VR の一部です。VR...
-すばやい返答ありがとうございます。そうですか、他のパッケ...
**OSX R起動できない [#z7f4e36f]
>[[いしだ]] (2005-08-01 (月) 16:56:10)~
~
あまりに初歩的なので、「何でも掲示板」に質問しましたが、...
MacOSX10.3.9でR2.1.1が起動しません。具体的には、起動させ...
新しいアカウントからログインすると、普通に使えます。ま...
なぜでしょうか。ライブラリの中のRとついてるものをけした...
//
-以下をターミナルから実行するとどうなんでしょう, -- [[な...
$ /Applications/R.app/Contents/MacOS/R
で何かメッセージが出ないか.
$ otool -L /Applications/R.app/Contents/MacOS/R
ついでにライブラリのリンクがどうなるか.
にわかMacユーザですんで,あれですが...
$ gdb /Applications/R.app/Contents/MacOS/R
デバッガのめっせーじ
(gdb) run # デバッガで実行
なんか出てくる実行可能なら,Rの方が動くが、もし落ちてるよ...
(gdb) bt # とりあえず落ちるならバックトレース
なにもかえって来ないようなら
(gdb) [control+C] # シグナルを送って
(gdb) bt # とりあえずバックトレース
よくわからなかったらすみません.
-":"は点々,"(hoge)"はこめんとのつもりだったんですが,疎通...
-お手数おかけして、申し訳ありません。以下のように試しまし...
一文目(起動しようとして、予期せず終了)
Trace/BPT trap
二文目
/Applications/R.app/Contents/MacOS/R:
/System/Library/Frameworks/Cocoa.framework/Versions/A/Co...
current version 9.0.0)
/Library/Frameworks/R.framework/Versions/2.1.1/Resources...
2.1.0, current version 2.1.1)
/System/Library/Frameworks/WebKit.framework/Versions/A/W...
current version 1.0.0)
/System/Library/Frameworks/Security.framework/Versions/A...
current version 177.0.0)
/System/Library/Frameworks/ExceptionHandling.framework/V...
(compatibility version 1.0.0, current version 4.9.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0,...
第三文
GNU gdb 5.3-20030128 (Apple version gdb-309) (Thu Dec 4...
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public ...
welcome to change it and/or distribute copies of it unde...
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show war...
This GDB was configured as "powerpc-apple-darwin".
Reading symbols for shared libraries ....... done
runすると
Starting program: /Applications/R.app/Contents/MacOS/R
Reading symbols for shared libraries +.....................
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Program received signal SIGTRAP, Trace/breakpoint trap.
0x90a8d318 in _NSRaiseError ()
(Rは長時間かけて起動したものの、全く反応無し。
ウィンドウも表示されず、メニューバーも出ない)~
btすると
#0 0x90a8d318 in _NSRaiseError ()
#1 0x90a8d1fc in +[NSException raise:format:] ()
#2 0x90a2d35c in -[NSString stringByAppendingString:] ()
#3 0x00006ce0 in -[RController doLoadHistory:] ()
#4 0x00003ce0 in -[RController awakeFromNib] ()
#5 0x90a5f0e8 in -[NSSet makeObjectsPerformSelector:] ()
#6 0x92ea2150 in -[NSIBObjectData nibInstantiateWithOwn...
#7 0x92f93c2c in loadNib ()
#8 0x92eeae24 in +[NSBundle(NSNibLoading) _loadNibFile:...
#9 0x92f69d28 in +[NSBundle(NSNibLoading) loadNibFile:e...
#10 0x92f7b51c in +[NSBundle(NSNibLoading) loadNibNamed:...
#11 0x92f69b90 in NSApplicationMain ()
#12 0x00002dd0 in _start (argc=1, argv=0xbffffe60, envp=...
-47/crt.c:267
#13 0x8fe1a278 in __dyld__dyld_start ()
-- [[いしだ]] &new{2005-08-02 (月) 09:40:35};
-どこかでR.appがオーバーランでもしているような気がするん...
export LANG=C
export LC_ALL=C
/Applications/R.app/Contents/MacOS/R
では動かないでしょうか,動くなら,"C"を"ja_JP.UTF-8"に置き...
-だめですね。"ja_JP.UTF-8"に変えても、~"Trace/BPT trap"と...
-なんとなくですが、これはリンク時の shared library と実行...
-うーん。残念ながら、それを確かめる方法がわかりません。 -...
-ところで、同じR.appファイルとR.frameworkフォルダを使って...
-起動するアカウントとしないアカウントがあるんですか。立ち...
-RController doLoadHistory でひっかかってる...R(Mac GUI)...
-.Rで検索されるファイルは、すべてHD直下のライブラリ/Frame...
岡田さまのご指摘の方法で、起動しました。~
これで、解決ですね?皆さん、ありがとうございました。-- [[...
-すみません。まだ一部未解決でした。日本語が表示されません...
ターミナルから
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
/Applications/R.app/Contents/MacOS/R
としないかぎり、コンソールに日本語が表示されません。~
R.appのダブルクリックでは、コンソール内が英語表記です。--...
-OS X自体は日本語環境(システム環境設定>言語環境で日本語...
-OSX自体は、日本語環境で、Rもコンソール内以外は、日本語で...
-> .Rで検索されるファイルは、すべてHD直下のライブラリ/Fra...
っていうのは,普通の状態ですかね?R関連のフォルダ,ファイ...
-ふむふむ, そうするとMac GUIの問題ではなく、R本体が日本語...
-("LANG")でLANG (改行)"en_GB.UTF-8", ("LC_CTYPE")でLC_CT...
-以前、R関連のフォルダは、すべて捨てて再インストールした...
-起動項目すべて削除し、再起動、最初にRを立ち上げてもコン...
-おそらく解決しました。私は、言語環境では日本語を最上位に...
-en_GB!本当ですね。MacOS Xは、言語環境の「言語」メニュー...
**要素に変数を持つ行列(関数)の扱いについて [#k79449fc]
>[[生物系院生]] (2005-07-27 (水) 13:00:57)~
~
格子データの回帰分析に使用するパラメータ行列を作る際、fun...
状況を取りうる最小サイズの格子データで説明すると
123
456
789
といったデータ(数字は変数名)の場合、例えば5のデータはf...
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
[1,] 0 1 1 2 0 0 2 0 0
[2,] 1 0 1 0 2 0 0 2 0
[3,] 1 1 0 0 0 2 0 0 2
[4,] 2 0 0 0 1 1 2 0 0
[5,] 0 2 0 1 0 1 0 2 0
[6,] 0 0 2 1 1 0 0 0 2
[7,] 2 0 0 2 0 0 0 1 1
[8,] 0 2 0 0 2 0 1 0 1
[9,] 0 0 2 0 0 2 1 1 0
この行列自身は以下のコマンド
el <- 9 #格子データの総要素数 パラメータ行列では行数、...
col <- 3 #格子データの一行の要素数、すなわち列数
mat <- matrix(0, nrow = el, ncol = el)
xiA <- 1
xiB <- 2 #文字列操作では不都合が多いため、パラメータを...
for(i in 1:6){
W <- i - 1
if(ceiling(W/col) != ceiling(i/col)){W <- W + col}
E <- i + 1
if(ceiling(E/col) != ceiling(i/col)){E <- E - col}
N <- i - col
if(N < 1){N <- N + el}
S <- i + col
mat[i,W] <- xiA
mat[i,E] <- xiA
mat[i,N] <- xiB
mat[i,S] <- xiB
}
for(i in 7:9){
W <- i - 1
if(ceiling(W/col) != ceiling(i/col)){W <- W + col}
E <- i + 1
if(ceiling(E/col) != ceiling(i/col)){E <- E - col}
N <- i - col
if(N < 1){N <- N + el}
S <- i + col
if(S > col){S <- S - el}
mat[i,W] <- xiA
mat[i,E] <- xiA
mat[i,N] <- xiB
mat[i,S] <- xiB
}
で作ることができるのですが、このコマンドにおいてxiA,xiBの...
el <- 9 #格子データの総要素数 パラメータ行列では行数、...
col <- 3 #格子データの一行の要素数、すなわち列数
matB <- function(a,xiA,xiB){
for(i in 1:6){
W <- i - 1 #W,Eは横方向に関するパラメータの位置
if(ceiling(W/col) != ceiling(i/col)){W <- W ...
E <- i + 1
if(ceiling(E/col) != ceiling(i/col)){E <- E ...
N <- i - col #N,Sは縦方向に関するパラメータの位置
if(N < 1){N <- N + el}
S <- i + col
a[i,W] <- xiA #パラメータを代入する位置の指定
a[i,E] <- xiA
a[i,N] <- xiB
a[i,S] <- xiB
}
for(i in 7:9){
W <- i - 1
if(ceiling(W/col) != ceiling(i/col)){W <- W ...
E <- i + 1
if(ceiling(E/col) != ceiling(i/col)){E <- E ...
N <- i - col
if(N < 1){N <- N + el}
S <- i + col
if(S > col){S <- S - el}
a[i,W] <- xiA
a[i,E] <- xiA
a[i,N] <- xiB
a[i,S] <- xiB
}
}
base <- matrix(0, nrow = el, ncol = el)
matB(Base,1,2)
for文で要素の位置指定をすることができていないようでした(...
~
手持ちの資料やネット上の解説では、関数定義で行列を扱って...
//
-Note that any ordinary assignments done within the funct...
関数の末尾でreturn(a)として
base<-matB(base,1,2)
でよいのでは?forのインデクス云々というのは関係ないと思い...
-returnの使いどころがちゃんと理解できていなかったので助か...
-不審な繰り返しは無駄の徴候・バグの温床
el <- 9 #格子データの総要素数 パラメータ行列では行数、...
col <- 3 #格子データの一行の要素数、すなわち列数
mat <- matrix(0, nrow = el, ncol = el)
xiA <- 1
xiB <- 2 #文字列操作では不都合が多いため、パラメータを...
for (i in 1:9) {
W <- i - 1
if (ceiling(W/col) != ceiling(i/col)) {W <- W + ...
E <- i + 1
if (ceiling(E/col) != ceiling(i/col)) {E <- E - ...
N <- i - col
if (N < 1) {N <- N + el}
S <- i + col
if (i > el-col && S > col) {S <- S - el}
mat[i,W] <- xiA
mat[i,E] <- xiA
mat[i,N] <- xiB
mat[i,S] <- xiB
}
まだ無駄があるような。 -- &new{2005-07-27 (水) 16:55:39};
-生物系院生が R の使用法で悩んだときは北大の久保先生に相...
> no <- 9
> X <- matrix(1:81, c(no,no)) # テスト用格子データ
> N <- W <- E <- S <- vector("list", no*no) # リスト行列...
> dim(N) <- dim(W) <- dim(E) <- dim(S) <- c(no, no)
> wN <- wW <- wE <- wS <- matrix(0, no, no) # 重み用行列
>
> for (i in 1:no)
+ for (j in 1:no) {
+ N[[i,j]] <- matrix(c(ifelse(i==1, no, i-1), j), ...
+ wN[i,j] <- 2 ...
+ S[[i,j]] <- matrix(c(ifelse(i==no, 1, i+1), j), ...
+ wS[i,j] <- 2 ...
+ E[[i,j]] <- matrix(c(i, ifelse(j==no, 1, j+1)), ...
+ wE[i,j] <- 1 ...
+ W[[i,j]] <- matrix(c(i, ifelse(j==1, no, j-1)), ...
+ wW[i,j] <- 1
+ }
>
> test1 <- function() { # テスト用関数
+ for (k in 1:1000)
+ for (i in 1:no)
+ for (j in 1:no) { # (i,j) の上下左右...
+ c(X[N[[i,j]]], X[E[[i,j]]], X[S[[...
+ c(wN[i,j], wE[i,j], wS[i,j], wW[i...
+ }
+ }
> gc(); system.time(test1()) # 実行時間
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 168482 4.5 350000 9.4 350000 9.4
Vcells 63009 0.5 786432 6.0 280690 2.2
[1] 2.83 0.03 2.89 0.00 0.00
## 関数形で表現すると
> N <- function(i,j) matrix(c(ifelse(i==1, no, i-1), j),...
> S <- function(i,j) matrix(c(ifelse(i==no, 1, i+1), j),...
> E <- function(i,j) matrix(c(i, ifelse(j==no, 1, j+1)),...
> W <- function(i,j) matrix(c(i, ifelse(j==1, no, j-1)),...
> wN <- wS <- function(i,j) 2
> wE <- wW <- function(i,j) 1
> test2 <- function() {
+ for (k in 1:1000)
+ for (i in 1:no)
+ for (j in 1:no) { # (i,j) の上下左右...
+ c(X[N(i,j)], X[E(i,j)], X[S(i,j)]...
+ c(wN(i,j), wE(i,j), wS(i,j), wW(i...
+ }
+ }
> gc(); system.time(test2()) # 但し時間は45倍かかる
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 167600 4.5 350000 9.4 350000 9.4
Vcells 61585 0.5 786432 6.0 280690 2.2
[1] 125.99 0.07 131.18 0.00 0.00
**whileによる繰り返しについて [#xc127092]
>[[小山]] (2005-07-25 (月) 11:04:15)~
~
uniroot()を使用したく、Rでプログラムを書いています。元デ...
プログラムとしては、まず4列目のデータの個数を調べ(x)、算...
作ったプログラムは以下の様になっております。
no <- length(data[[4]])
ha <- array(data=NA, dim = c(nd, 7))
x <- 0
while (x <= nd){
x <- x+1
a <- data[x, 4]
b <- 7
c <- 42
d <- 10
e <- 50
f <- 40
obj <- function(phi,a)
1/cos((phi*pi)/180)-cosh(a*tan((phi*pi)/180))
res <- uniroot(obj,c(0.1,89.9),a=a)
phi <- res$root
func <- res$f.root
depth <- rep(NA,b)
i <- 1:b
depth[i] <- d+c+L*(((1/tan(phi*pi/180))^2+1)^0.5
-(1/(tan(phi*pi/180))^2+(1-(f+e*(i-1))/L)...
ha[x, ] <- c(depth, a)
}
しかし配列は綺麗に出てくるのですが、データはすべてNAのま...
//
-インデンテーションは、tab キーで行うべきです。全角空白は...
たぶん,nd は,一行目の no なんでしょうね。~
関係ないところでは,
x <- 0
while (x <= nd) {
x <- x+1
というのはおかしいですね。x が nd のときに,新たなループ...
また,while ループ中で,b,c,d,e,f,i という定数(ベクトル...
また,
i <- 1:b
depth[i] <- d+c+L*(((1/tan(phi*pi/180))^2+1)^0.5
-(1/(tan(phi*pi/180))^2+(1-(f+e*(i-1))/L)...
というところですが,左辺は depth だけでよいのではないでし...
[i] はいらないということ。またdepth <- rep(NA, b) も不要...
ha[x, ] <- c(depth, a) としているが,ha の列数は 7 で,de...
示されたプログラムのままだと気づきにくいかもしれないが,...
-コメントありがとうございます!申し訳ありません、ndはnoの...
L <- ((en-1)*e+2*f)/2
ご指摘いただいた点を参考にして、以下の様に直してみました...
no <- length(data[[4]])
ha <- array(data=NA, dim = c(no, 8))
b <- 7
c <- 42
d <- 10
e <- 50
f <- 40
obj <- function(phi,a)
1/cos((phi*pi)/180)-cosh(a*tan((phi*pi)/180))
x <- 0
while (x < no){
x <- x+1
a <- data[x, 4]
res <- uniroot(obj,c(0.1,89.9),a=a)
phi <- res$root
func <- res$f.root
L <- ((en-1)*e+2*f)/2
i <- 1:b
depth[i] <- d+c+L*(((1/tan(phi*pi/180))^2+1)^0.5
-(1/(tan(phi*pi/180))^2+(1-(f+e*(i-1))/L)...
ha[x, ] <- c(depth, a)
}
また、データは以下の様なデータになっております。1列目か...
8 40 10 0.927
8 40 20 0.965
8 40 30 0.962
8 40 40 0.964
8 40 50 0.967
-- [[小山]] &new{2005-07-25 (月) 12:38:11};
-えーと,
depth[i] <- d+c+L*(((1/tan(phi*pi/180))^2+1)^0.5
の前に全角空白が1つ残っていますね。左辺は depth だけ。~
L の定義の中の en も未定義です。
no <- length(data[[4]])
は
no <- nrow(data)
で。
en を適当に定めたら,ha に,一応数値は入ったようですよ。 ...
-そうそう。付け加えとして,while を使うよりは for を使う...
x <- 0
while (x < no) {
x <- x+1
を,
for (x in 1:no) {
とするのです。そうすれば,x を1,2,...,no として順次くりか...
なお,制御変数としては(数学のときと同じような慣例に従っ...
-またしてもうっかりしていましたが、en=bでした。ご指摘の通...
「以下にエラーuniroot(obj, c(0.1, 89.9), a = a) : f() の...
そこで、a > 1.0の場合にはa = 1.0(もしくは1.0では走らない...
for (j in 1:no){
a <- data[j, 4]
if(a > 1.0){
a == 1.0
}else{
a == a
}
res <- uniroot(obj,c(0.1,89.9),a=a)
原因はaの値なのでしょうか。a > 1.0の場合は次のようなデー...
14 15 0 1.015
14 15 10 1.018
14 15 20 1.017
14 15 30 1.014
14 15 40 1.011
14 15 50 1.013
-- [[小山]] &new{2005-07-25 (月) 18:37:17};
-uniroot は二分法による求解なので,初期状態で二つの端点に...
-以下のような例を考えましょう。関数は二次関数で,二つの解...
#ref(quad.png)
# 関数定義
> quad <- function(x) (x-0.1234)*(x-0.5678)
# 0,1 の範囲から解を求めようとしたとき
> uniroot(quad, c(0, 1))
以下にエラーuniroot(quad, c(0, 1)) : f() の端点での値が...
# つまり,quad(0)= 0.07006652, quad(1)=0.3788665
# 異なった符号を持たない(両方とも正)ということ
# 関数値は正,負,正と変化し区間内に二つの解を持つ
> uniroot(quad, c(0, 0.1))
以下にエラーuniroot(quad, c(0, 0.1)) : f() の端点での値...
# つまり,quad(0)= 0.07006652, quad(0.1)=0.01094652
# この場合は,関数値は,いつも正,つまり,この区間内に解...
> uniroot(quad, c(0, 0.5))
$root
[1] 0.1233996
$f.root
[1] 1.843689e-07
$iter
[1] 7
$estim.prec
[1] 6.103516e-05
# つまり,quad(0)= 0.07006652, quad(0.5)=-0.02553348
# 異なった符号を持つということ
# 関数値は正,負と変化し区間内に一つの解を持つ
#(もしかしたら3個とか5個とか奇数個の解を持つのかもしれ...
よく吟味してみてください。 -- &new{2005-07-25 (月) 21:50...
-よく解りました。確かにその通りでした。条件文を書いてエラ...
-一つ気になることが。pi/180 というのは円周率が弧度法と思...
data <- rbind(c(8,40,10,0.927),
c(8,40,20,1.20 ), # エラーになるようにした
c(8,40,30,0.962),
c(8,40,40,0.964),
c(8,40,50,1.20 ) ) # エラーになるようにした
A <- data[,4]; no <- length(A)
b <- 7; c <- 42; d <- 10; e <- 50; f <- 40
obj <- function(phi, a) 1/cos((phi*pi)/180)-cosh(a*tan((...
doit <- function(x) { # 一回の試行用の関数
res <- uniroot(obj, c(0.1,89.9), a=A[x])
phi <- res$root
# func <- res$f.root # 不要ですね
L <- ((e-1)*e+2*f)/2
y <- (1:b)-1
depth <- d+c+L*(sqrt((1/tan(phi*pi/180))^2+1)
-sqrt(1/(tan(phi*pi/180))^2+(1-(f+e*...
return(c(depth, A[x]))
}
res <- vector("list", no) # 結果を納めるリストを予めサイ...
for(i in 1:no) res[[i]] <- try(doit(i), TRUE) # 全試行
> res
[[1]]
[1] 75.40177 103.94505 131.67010 158.54344 184.53087 20...
[8] 0.92700
[[2]]
[1] "以下にエラーuniroot(obj, c(0.1, 89.9), a = A[x]) : ...
attr(,"class")
[1] "try-error"
[[3]]
[1] 69.74911 91.28434 112.08025 132.11997 151.38677 16...
[8] 0.96200
[[4]]
[1] 69.32652 90.34202 110.62861 130.17047 148.95193 16...
[8] 0.96400
[[5]]
[1] "以下にエラーuniroot(obj, c(0.1, 89.9), a = A[x]) : ...
attr(,"class")
[1] "try-error"
-↑のエラーメッセージ中のエスケープシーケンス /n,/t が変で...
-/n, /t ではなくバックスラッシュ n, バックスラッシュ t で...
表示関数がエスケープシークェンスを解釈していないようです...
**whichについて [#mc4ce1e3]
>[[田中]] (2005-07-21 (木) 22:41:35)~
~
n×n行列をすでに持っており、各行ごとに最大値を与える添え...
解決法を教えていただければと思います。よろしくお願いしま...
一応、作ってみたのは以下のようなものです
Q <- matrix(0,1,n)
for(b in 1:n){
for(c in 1:n){
Q[1,c] <- x[b,c]
P[b] <- which(max(Q), arr.ind=TRUE)
}
}
xが調べたいn×n行列で、Pに格納するように作りました。~
//
-最大値の位置でいいのでしょうか? -- [[なかま]] &new{2005...
col=4
MM<-matrix(runif(col^2),ncol=col)
SQM<-function(matrix){
ml<-function(n){ncol=length(n);((1:ncol)[n==max(...
rbind(apply(matrix,1,ml),apply(matrix,2,ml))
}
SQM(MM)
-質問中のプログラムが不完全なのは仕方ないですが,質問本文...
(x <- matrix(rnorm(12), 3, 4))
which(x == apply(x, 1, max), arr.ind=TRUE)
本質は二行目。~
なお,which の説明を読めば分かりますが,質問者の場合では...
> (x <- matrix(c(1,2,3,2,1,2,3,3,2,1,2,3),3,4))
[,1] [,2] [,3] [,4]
[1,] 1 2 3 1
[2,] 2 1 3 2
[3,] 3 2 2 3
> which(x == apply(x, 1, max), arr.ind=TRUE)
row col
[1,] 3 1
[2,] 1 3
[3,] 2 3
[4,] 3 4
ところで,arr.ind=TRUE のとき,結果の1列目でソートされな...
と思って,ソースを見たら。あら。結構泥臭いことやってるん...
-ご回答ありがとうございます。質問の意図はおっしゃるとおり...
x <<- mix2_16 #n×n行列
P <- which(x == apply(x, 1, max), arr.ind=TRUE)
P <<- P
gn <- sprintf("result_mix%g_16.txt",a)
write.table(P,file=gn, sep="?t", row.names=FALSE, quote=...
print(P)
のようなプログラムををつくり実行したところ、
row col
[1,] 4 4
[2,] 5 4
[3,] 8 4
[4,] 9 4
[5,] 13 4
[6,] 15 4
[7,] 7 7
[8,] 19 25
[9,] 1 29
[10,] 2 29
のような結果が返ってきました。(n=38のときで11以下省略...
なぜなのか分かりますでしょうか? よろしくお願いいたしま...
-一列目が順に並んでいないのは,私がコメントしたように,そ...
TRUE のある場所を列単位に探索しているからなんですね。whic...
並べ替えた結果が欲しければ,結果が P に入っているなら P[o...
ちなみに,<<- は使う必然性があるんですか? P <<- P は特...
-早速の回答ありがとうございます。
P <<- P は先ほど書いたプログラムを自分で作成した関数内の...
教えて頂いた方法をさっそく試してみます。 -- [[田中]] &new...
-好みの問題かもしれませんが,解析が難しいバグの温床になる...
-日の下に新しいものはない(旧約聖書)のたとえの通りすでに...
> set.seed(31415); (x <- matrix(runif(20), c(4,5)))
[,1] [,2] [,3] [,4] [,5]
[1,] 0.9502223 0.0607455 0.9365462 0.77713002 0.1302115
[2,] 0.3357378 0.3579473 0.8376269 0.08262812 0.9671198
[3,] 0.1330718 0.2271160 0.1275758 0.81371308 0.8880396
[4,] 0.4901114 0.4000740 0.7251304 0.30108535 0.5821669
> cbind(1:dim(x)[1], max.col(x)) # 列ごとの最大値位置の...
[,1] [,2]
[1,] 1 1
[2,] 2 5
[3,] 3 5
[4,] 4 3
> rbind(1:dim(x)[2], max.col(t(x))) # 行ごとの最大位置の...
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 1 4 1 3 2
> cbind(1:dim(x)[1], max.col(-x)) # 最小位置が欲しければ...
[,1] [,2]
[1,] 1 2
[2,] 2 4
[3,] 3 3
[4,] 4 4
**lowess変換前と変換後のデータの対応方法 [#qc1512e2]
>[[sugimoto]] (2005-07-14 (木) 18:08:02)~
~
初めて質問させていただきます。~
R tipsを購入し、昨日から使い始めました。~
今、lowess関数を使っています。~
この関数を使って変換されたデータと、変換前のデータをつな...
大変つたない質問で申し訳ありませんが、よろしくお願いしま...
//
-「つなぐ」というのは,変換前の値の隣の列に変換後の値をく...
-意味が分かりにくいですね。lowess の結果はあくまで平滑化...
-cars というデータセットに,lowess(cars) をして結果は $x,...
-すみません…。諸悪の根源は、The R-Tips で分かりにくい説明...
# 変換前のデータをデータフレームにする(マージ用にIDを付...
( before <- data.frame(ID=1:nrow(cars), cars) )
ID speed dist
1 1 4 2
2 2 4 10
3 3 7 4
................
# 変換後のデータをデータフレームにする(マージ用にIDを付...
( after <- data.frame(ID=1:nrow(cars), lowess(cars)) )
ID x y
1 1 4 4.965459
2 2 4 4.965459
3 3 7 13.124495
..................
# ID で紐付けしてデータをマージ
result <- merge(before, after, by="ID")
# x と dist は重複しているので x を削除
result$x <- NULL
# 結果を表示
result
ID speed dist y
1 1 4 2 4.965459
2 2 4 10 4.965459
3 3 7 4 13.124495
..........................
-あと、青木先生のおっしゃることはご尤もでして、$y は $x ...
-data.frame(ID=1:nrow(cars), cars, y=lowess(cars)$y) でよ...
-丁寧な解説、ありがとうございました。私が実行したかったの...
- > data.frame(ID=1:nrow(cars), cars, y=lowess(cars)$y) ...
あ・・・・・。そうです!何を面倒なことをやっていたのでし...
**ファイルの読み込みについて [#h20cf372]
>[[田中]] (2005-07-08 (金) 18:50:56)~
~
以前、他の件で質問させて頂きました。~
今回は、また別の事柄になるのですが、ファイル読み込みの際...
具体的には、C:/sp01.txt,C:/sp02.txt,・・・C:/sp30.txtのよ...
x01 <-read.table("C:/sp01.txt")
をfor文で回せないかと考えております。つまり、以下のように...
kurikaesi <- function(a,b) {
for(? in 1:30) {
x <- read.table("C:/sp?.txt")
y? <- program(a,b)
}
}
自分で調べては見たものの、結論を得ることが出来なかったの...
よろしくお願いします。~
//
-x <- read.table("C:/sp?.txt") は,自分でファイル名を作れ...
for (i in 1:2) {
fn <- sprintf("test%i.data", i))
x <- read.table(fn)
}
のような感じ。~
y? <- program(a,b) は結果をy[i] に入れればいいと思うが,p...
-早速のご回答ありがとうございます。
質問が分かりにくくてすみませんでした。質問の意図はご回答...
無事解決いたしました。一度、fnに渡して、それから代入する...
ありがとうございました。-- [[田中]] &new{2005-07-08 (金) ...
-補注:もし test1.data でなく test01.data の様にしたけれ...
> i=1; sprintf("test%02i.data", i) # 「整数二桁、一桁な...
[1] "test01.data"
> i=10; sprintf("test%02i.data", i)
[1] "test10.data"
こんなのもあり(R のループ範囲はベクトル、リストでもよい) ...
> for(file in lapply(1:20, function(i) sprintf("file%02i...
cat(file, "?n")
file01.data
file02.data
...........
file19.data
file20.data
-こういうのは好きなんですよ。書式にこだわらないなら,
for (file in paste("file", 1:20, ".data", sep=""))
のほうが短い。 -- [[青木繁伸]] &new{2005-07-09 (土) 11:15...
-様々なご意見ありがとうございます。非常に参考になりました...
-既にあるファイル名をリストに得れば事足りるらしいので,li...
**RODBCを使ったExcelの読み込み [#z8c0546a]
>[[Riemann]] (2005-07-04 (月) 20:59:13)~
~
R Bookに載っているExcelとの連携のところを読んで、「これは...
//
-うちでは300文字かつ300バイト以上でも問題なく読めますが?W...
-はい、Windows XPで、Rのバージョンは1.91です。それから、E...
-特に理由が無ければ2.1.1にバージョンアップしてください. -...
-2.1.1でやってみましたが、症状は同じでした。テキストが同...
-Excel のバージョンは関係ないの?最新版ですか? -- &new{...
-使っているのはExcel 2002 SP3でした。最新ではないですが、...
-こちらでは何ら問題は(改行も読めるし)無いんですが?もちろ...
-Cドライブ直下にフォルダを作ってそこにデータを移動してみ...
-Cドライブ直下にフォルダを作ってそこにデータを移動してみ...
-だぶってますね。パスに二バイト文字を含めないのは常識だと...
-パスが2byteでも大丈夫で〜す.(T_T) 何が違うかもし判った...
**デジタル信号処理 [#t76e00f2]
>[[K]] (2005-07-04 (月) 00:58:04)~
~
RにはMatlabのSignal Processing Toolboxに相当するような~
信号処理に適したパッケージはありますでしょうか?~
fftやウェーブレット関係のパッケージはいくつかあるようです...
ChebychevやButterWorthなど古典的なフィルタ群がないように...
~
「dsp」や「digital filter」、「butterworth」などのキーワ...
検索してみましたが、レスのついていないMLの投稿にヒットす...
~
既存の関数(filterなど)で十分実現可能だから必要ないという...
それとも誰も開発していない(需要がない)ということなのか...
~
どなたか非公式パッケージでもご存じでしたら是非教えてくだ...
//
-Octave にはないのでしょうか? -- [[FlyMeToTheMoon]] &new...
**ベジェ曲線による補間 [#o554c7df]
>[[Krokodile]] (2005-06-29 (水) 16:48:38)~
~
R では akima パッケージで、スプライン補間ができますが、~
ベジェ曲線による補間はできるのでしょうか?~
~
このサイトを検索しましたが、「ベジェ曲線」はヒットしま...
//
-トップページからたどれる Rsite search でキーワード "Bezi...
-ありがとうございます。"Krokodile"はドイツ語です。英語で...
-↑ 失礼しました -- &new{2005-06-29 (水) 22:01:35};
**行列について [#o801760f]
>[[田中]] (2005-06-27 (月) 17:30:29)~
~
以下の質問のご回答よろしくお願いいたします。~
k×(m*i)行列Aを作成するときに、1×mの行列Bkm(k、mは添え字...
centroid <- function(i,K,m) {
C <- matrix(0,K,m*i)
U <- matrix(0,1,m)
for (a in 1:K) {
for (b in 1:i) {
for (w in 1:m) {
U[a,b][1,w] <- (a,b,wの3変数による関数)
}
}
}
for (a in 1:K) {
for (b in 1:i*m) {
t <- ceiling(b/m)
C[a,b] <- U[a,t][1,(b-(t-1)*m)]
}
}
}
としたのですが、エラーがでます。Uの定義の仕方に問題がある...
(分かりにくい気がするので、まとめると、C[i,j]=Uij Uij[1,...
よろしくお願いいたします。~
//
-行列でなければいけないのでしょうか?一番分かりやすい方法...
C[[i,j]][1,k]
のようにアクセスすることでしょうか。-- [[MKR]] &new{2005-...
x <- array(0,c(3,3,3))
for (i in 1:3) for (j in 1:3) for (k in 1:3) x[i,j,k] <-...
x[i,j,k]
-C のポインタみたいな機能が欲しいということでしょうかねえ...
例えば PTR というベクトルがあって,その要素は別の行列を指...
PTR【n】 <- matrix(0, n, n)
【】で表される要素はメモリ領域の先頭を指すポインタを表...
PTR【2】 は 2×2行列を意味し,PTR【10】は 10×10行列。。
こういうのがあったら便利だなと思うこともありますね(ある...
-早速のご返答ありがとうございます。~
私の目的としては、C行列をk×i個の部分行列Uijで考えることで...
-特に高速性を要求しなければ、一番柔軟な方法はリストの行列...
C <- as.list(rep(NA, 3*3))
dim(C) <- c(3,3) # リストを行列化
for (i in 1:3) for (j in 1:3) # リスト行列の各成分に(...
C[[i,j]] <- runif(i*j)
C
[,1] [,2] [,3]
[1,] 0.6133985 Numeric,2 Numeric,3
[2,] Numeric,2 Numeric,4 Numeric,6
[3,] Numeric,3 Numeric,6 Numeric,9
C[[2,3]][4] # (2,3) 番目のブロック(ベクトル)の4番目の...
[1] 0.7488104
-青木さん、MKRさん、ありがとうございました。何とか問題は...
ただ、1つつまづいていることがあります。それはリストCの宣...
centroid <- function(i,K,m){
C <- ????
for(a in 1:K){
for(b in 1:i){
for(w in 1:m){
C[[a,b]][w] <- (a,b,wの関数)
}
}
}
print(t(C))
}
とプログラムを作りました。K×i個のベクトル(要素数m)からK...
たびたびになり申し訳ないのですが、よろしくお願いいたしま...
-C <- lapply(rep(m, K*i), numeric); dim(C) <- c(K,i) とす...
C[[a,b]][w]
という構文は使えません。前者なら使えるはずです。ついでに...
-回答ありがとうございます。とりあえず、問題は解決しました。
あまりにも、計算に時間がかかるようでしたらまた別の方法も...
回答して頂けた方、ありがとうございました。 -- [[田中]] &n...
**for文を使わず行列の要素毎に関数を適用する方法 [#e5c0d7f6]
>[[13m]] (2005-06-26 (日) 06:26:05)~
~
ある行列もしくはベクトルの要素それぞれに対して、1から任意...
以下のようなものを書いてみました。~
f <- function(x, a)
{
res <- 0
for(n in 1:a) res <- res + x/n
return( res )
}
実際に使ってみた様子はこんな感じです
> m=matrix(c(1,2,3,4),ncol=2)
> m
[,1] [,2]
[1,] 1 3
[2,] 2 4
> f(m,10)
[,1] [,2]
[1,] 2.928968 8.786905
[2,] 5.857937 11.715873
これと同じ結果を返す関数を、for文(または要素毎のapply)...
//
-御質問を文字通りに理解すると単に f(x,a)=x*(1/1+1/2+...+1...
temp <- function(x,a) x*sum(1/(1:a))
temp(m,10)
[,1] [,2]
[1,] 2.928968 8.786905
[2,] 5.857937 11.715873
-あ!ごめんなさい。ついつい問題を単純化しすぎました。私が...
○「改訂版」~
f(x,a)=Σ[n=1:a](1/(x+n))のような関数を、行列またはベクト...
そこで以下のようなものを書いてみた。
g <- function(x, a)
{
res <- 0
for(n in 1:a) res <- res + 1/(x+n)
return( res )
}
実行結果
> m=matrix(1:4,ncol=2)
> g(m,5)
[,1] [,2]
[1,] 1.450000 0.8845238
[2,] 1.092857 0.7456349
これと同じ結果を返すものを、いかにもfor文を使わずに書けそ...
-以下のプログラムは R らしいでしょうか。注釈なしで一目で...
> g <- function(x, n)
+ {
+ ncol <- ncol(x)
+ nrow <- nrow(x)
+ k <- array(rep(1:n, each=ncol*nrow), dim=c(nrow, ncol...
+ x <- array(x, dim=c(nrow, ncol, n))
+ apply(1/(x+k), c(1,2), sum)
+ }
> m <- matrix(1:4, 2)
> g(m, 5)
[,1] [,2]
[1,] 1.450000 0.8845238
[2,] 1.092857 0.7456349
我ながらわかりにくいと思います。for を使ったプログラムの...
-元の記事を書き直してしまったのはMKRさんに失礼でした。お...
-青木さん>丁寧な回答いただきありがとうございます。私は、...
-青木さん>とは言え、アクロバティックなコードでも、もしあ...
-記事を追加せずに,投稿済みの記事の途中に挿入・改変するか...
要するに,コメントの付いた記事は誤字の訂正程度以外はいじ...
-良いコードかどうかは別にして、例えば -- [[MKR]] &new{200...
> matrix(colSums(1/mapply(seq, m+1, m+5)), dim(m))
[,1] [,2]
[1,] 1.450000 0.8845238
[2,] 1.092857 0.7456349
-おおお、一行コード。mapplyとseqの組み合わせで要素ごとの...
-MKRさんの一行コードを参考に(パクって)sapplyバージョン...
> h <- function(x,n) matrix(colSums(sapply( x, function(...
> h(m,5)
[,1] [,2]
[1,] 1.450000 0.8845238
[2,] 1.092857 0.7456349
上のやり方だとかなりアレなので、きちんと別途関数定義して...
eess <- function(FUN,x,n)
{ # 引数xのそれぞれの要素に対して一般項FUNに関する1からn...
res <- colSums(sapply(x, FUN, seq(n)))
if(is.matrix(x)) res <- matrix( res, dim(x) )
return( res )
}
feess <- function(FUN,x,n)
{ # 上記と全く同様の機能をfor文で書き直したもの
FUN <- match.fun(FUN)
res <- 0
for(i in seq(n)) res <- res + FUN(x,i)
return(res)
}
使用例とsystem.time()
> gn <- function(x,k) 1/(x+k) # 一般項を適当な関数で定義
> eess(gn,m,5)
[,1] [,2]
[1,] 1.450000 0.8845238
[2,] 1.092857 0.7456349
> eess(gn,1:5,5)
[1] 1.4500000 1.0928571 0.8845238 0.7456349 0.6456349
> eess("^",m,5) # 二項演算子を渡して奇抜な使い方も(Σ[k=...
[,1] [,2]
[1,] 5 363
[2,] 62 1364
> system.time(eess(gn,rnorm(10000),100))
[1] 0.51 0.04 0.59 NA NA
> system.time(feess(gn,rnorm(10000),100))
[1] 0.06 0.02 0.08 NA NA
sapply()の演算は思ったより高速なんですね。驚きました。速...
**画像の貼り付け [#z9b7fa1b]
>[[坂田]] (2005-06-24 (金) 22:05:29)~
~
主成分得点の平面に固体を名前で表示するよりも顔写真を貼り...
と思います(顔に限りませんけど)。このための方法をご教授...
巷の本ではプロ野球選手の成績に対して主成分分析を行ってい...
見受けられますが、名前ではなく顔を張りつければインパクト...
うのですが。~
//
-適当な画像ファイルに落して、あとは適当な画像編集ソフトを...
-早速のレス有難うございます。 むー 出来ればRの世界で閉...
-好みの問題ですが,画像をアスキーアートに変換して小さなフ...
-回答に出遅れてしまった(^o^; 任意の位置に画像を貼る方法は...
> library(pixmap)
> r <- read.pnm(system.file("pictures/logo.ppm", package...
> x <- runif(10)
> y <- runif(10)
> plot(x,y)
> for ( i in 1:length(x)) addlogo(r,px=c(x[i]-0.05,x[i]+...
#ref(addlogo.png,center)
-なかま様、谷村様 ご教授有難うございました。Rでも可能な...
**plot.pointって??? [#g68724a3]
>[[苺]] (2005-06-22 (水) 21:22:30)~
~
はじめまして。~
あるデータの平均と、そのなかの特定の1つのデータの図を同...
//
-そう言った人に聞くのが一番だと思いませんか。~
points 関数のことではないかと思いますが?~
そうであるとしても,やりたいことをちゃんと書かないと,他...
> x <- rnorm(100) # 100個の正規乱数を発生させて
> plot(1:2, c(min(x), max(x)), type="n") # プロット領域...
> points(1.5, mean(x)) # 平均値を描いて
> points(1.5, x[3], col="red") # 3番目のデータを赤でプロ...
なんて馬鹿馬鹿しいことをやるわけじゃないんでしょう?~
投稿法もちゃんと確認してから投稿しましょう。 -- [[青木繁...
**ダミー変数の表示について [#ve9fbffa]
>[[?]] (2005-06-22 (水) 18:35:56)~
~
重回帰分析をする際にダミー変数を用いました。~
しかし、実測値と推定値をplotする際にどうしてもエラーにな...
ちなみにダミー変数は数字からアルファベットに変えてやりま...
//
-どのようにプログラムしたのか,再現できるプログラムと必要...
実測値と推定値のプロットにダミー変数の扱いが原因のエラー...
ハンドルネームはなんでも良いとはいうものの,「?」という...
> x1 <- factor(c("foo", "bar", "bar", "foo", "baz", "baz...
> x2 <- factor(c("hoge", "hoge", "wao", "wao", "hoge", "...
> y <- c( 2, 1, 2, 4, 3, 4)
> ans <- lm(y ~ x1+x2)
> cbind(y, predict(ans))
y
1 2 2.25
2 1 0.75
3 2 2.25
4 4 3.75
5 3 3.50
6 4 3.50
> plot(y, predict(ans))
#ref(regplot.png)
というようなことになったが? -- [[青木繁伸]] &new{2005-06...
-すみません。名前まで考えてなかったもので…~
データはCSVで読み込んで、ある従属変数を5つの説明変数で重...
-で,結局,何がやりたくて,どんなプログラムを書いたら,ど...
**RMySQLのインストールについて [#i4630074]
>[[森野]] (2005-06-17 (金) 19:40:38)~
~
初歩的な質問で,申し訳ありません。~
CRANからRMySQLをダウンロードして,RGuiのパッケージから(...
library()で確認したところ,
** No title available (pre-2.0.0 install?) **
と表示されてしまい,使用する事ができません。~
WindowsXPサービスパック1,R 2.1.0を使用しているのですが,...
//
-RODBCを使いましょう. -- [[なかま]] &new{2005-06-17 (金) ...
-RODBCをダウンロードして頑張ってみます. -- [[森野]] &new{...
-ご教授,本当に有難うございました. -- [[森野]] &new{2005-0...
-投稿法も、良く読んでくださいね。最初の投稿と今では、見た...
-以後気をつけます.ご迷惑お掛けしました. -- [[森野]] &new{...
-RODBCインストール成功しました!有難うございます. -- [[森...
**VimでRを使用したい [#p09b9cd4]
>[[山下]] (2005-06-15 (水) 17:52:32)~
~
WindowsのVimでRを使用したいのですが、~
皆様使用されている方はいませんでしょうか?~
~
エディタ版でVimファイルは見つけたのですが、Syntaxも上手く...
デフォルトの :set Syntax=rを使用しています。~
~
xyzzy並みに使っておられる方がいましたらご教授下さい。~
//
-私は Vim でスクリプトを編集し,Emacs(ESS) 上の R で sour...
-ご返答ありがとうございました。ご提示頂いた方法を使用させ...
-途中で切れてしまったので、続きを記載いたします。やはりVi...
**ATLASを使いたい [#n19dbf8a]
&aname(ATLAS);
>どうむ (2005-06-15 (水) 12:13:12)~
~
LinuxでRを使用しております。~
ATLASを使用したいのですが、どのようにしたらいいのでしょう...
以下「うまくいかない」現象です
~
-おこなったこと(ATLAS)~
--http://math-atlas.sourceforge.net/からソースをダウンロ...
--一般ユーザーで
make
--rootユーザーで
make install arch=Linux_HAMMER64SSE2_2
---CPUは、に上からもわかるとおり、AMD64bitです(汗~
--作成された「.a」をパスの通っているディレクトリへ、コピー~
-おこなったこと(R)~
--バージョン > R-2.0.1~
--ソースをダウンロード、解凍~
--一般ユーザーで
./configure --with-blas=f77blas
---この時点でログには
checking for sgemm_ in -lf77blas... no
checking for sgemm_... no
checking for ATL_xerbla in -latlas... no
checking for sgemm_ in -lblas... yes
---f77blasを使用することにはなっていません、、、
--一般ユーザーで
make
make check
--rootユーザーで
make install
---案の定lddで実行ファイルを見ても普通のlibblas.soがリン...
これを、解決するには
-ATLASがデフォルトで作成するlibf77blas.aというスタティッ...
-libf77blas.soというシェアードライブラリを作成する~
ということになると思うのですが、どうなのでしょうか?_?~
blas or atlas で、当サイトを検索して、調べてみましたが、...
ご教授よろしくお願いいたします~
(次はgotoにチャレンジだ!)
p.s.~
Win版ATLASはdllをダウンロードしてきて、既存のものと置き換...
行列演算が、計算の中身にもよりますが、4分の1になったり...
Linuxでもこのパフォーマンスを体験したい、、、
//
-パスの通ったディレクトリとありますが(ライブラリの検索は...
-ご回答ありがとうございます。現在頂いた情報を元に、いろい...
-ATLAS関係以外なら,たぶんヘッダー関係(hoge-devel or hoge-...
-R の configure スクリプトは単に sgemm_ をリンクできるか...
-ついでに config.log の該当部分を書き写してくれると一発で...
-なかま様・後藤様、情報ありがとうございます!結果から申し...
--環境
---AMD64では、64ビット系?のところでうまくいかないよう...
---Xeon3.2GHz×2
---メモリ2Gbyte
---Red Hat Enterprise Linux WS release 3 (Taroon) Kernel ...
--ATLASのコンパイル(CPU一個しか使わない設定で、、)
make install arch=Linux_UNKNOWNSSE2
---できた「libatlas.a」「libf77blas.a」を「/usr/lib」へコ...
--R
./configure --with-blas="-L/usr/lib -lf77blas -latlas"
make
make check
make install
---コンフィグのログ該当部分?
checking for sgemm_ in -L/usr/lib -lf77blas -latlas... yes
---静的リンクに成功!!
--結果
---test2関数
test2 <- function ( n=500 )
{
A<-array(rnorm(n^2), dim=c(n,n))
B<-array(rnorm(n^2), dim=c(n,n))
C<-array(rnorm(n^2), dim=c(n,n))
D<-array(rnorm(n^2), dim=c(n,n))
BA <- B%*%A
return (system.time(A%*%solve(t(BA)%*%BA+C)%*%BA%*%D ))
}
---導入前
> test2()
[1] 2.24 0.08 2.33 0.00 0.00
> test2()
[1] 2.26 0.06 2.33 0.00 0.00
> test2()
[1] 2.27 0.05 2.32 0.00 0.00
---導入後
> test2()
[1] 0.46 0.07 0.54 0.00 0.00
> test2()
[1] 0.45 0.06 0.51 0.00 0.00
> test2()
[1] 0.43 0.05 0.48 0.00 0.00
---やった!!
---が、、、当マシン(Xeon×2)では、ATLASのコンパイル時に...
---3回失敗、負荷(CPU使用率50%-ひとつのCPUが100%の状態)...
---↓これが途中でエラーが出てとまります。どういうエラーだ...
make install arch=Linux_UNKNOWNSSE2
---AMD64では、こんなことはなかったのですが、、、
-HAMMER64SSE2_2の2を見落としていました.Rのビルド時に --di...
# ATLAS
make xconfig
./xconfig -F f '-fomit-frame-pointer -O -m64 -fPIC' ?
-F c '-fomit-frame-pointer -O -mfpmath=387 -m6...
-F m '-fomit-frame-pointer -O -mfpmath=387 -m6...
make install arch=Linux_HAMMER64SSE2_2 # rootである必要...
# R (ATLASのスレッドとR-profilingは不仲!)
./configure --disable-R-profiling --with-blas='-L/usr/lo...
-AMD64も上記のとおりすると、できました。ありがとうご...
--導入前は、大体4-5秒かかっていたのが
> test2()
[1] 0.76 0.05 0.57 0.00 0.00
> test2()
[1] 0.75 0.07 0.58 0.00 0.00
> test2()
[1] 0.75 0.06 0.56 0.00 0.00
--すばらしい!
-XEONなら3.7.10(developer)あたりが良いかとおもいます. 普...
-再々、貴重な情報ありがとうございます。当方業務にてRを使...
-ちょっと大変ですが,出来たらATLAS+Rのビルドページ作りませ...
-どのような構成にすればよいのか、まったく見当もつきません...
**データをソートしたい [#p40551c1]
>[[学生]] (2005-06-14 (火) 18:45:06)~
~
はじめまして、とっても初歩的な質問ですが、~
R環境で、入力データ(数値)をソートしたいです、~
できれば、出力は順番づけられてほしい~
ご存知の方、教えていただければありがたいです。~
よろしくお願いいたします~
//
-「出力は順番づけられてほしい」というのは,どういうことな...
sort 関数というのはご存じなんでしょうか。 -- [[青木繁伸]]...
-早速返事して頂きありがとうございました!今までRを使った...
-やりたいことをやってくれる関数名だけが分かっていて,詳し...
help(sort) # または簡略化された ? sortでもよい
今後は自分で調べてもらうことにして,sort の使い方は以下の...
> x <- c(3,6,5,2,8)
> sort(x)
[1] 2 3 5 6 8
Net で得られる R の使い方についての資料は,[[舟尾さんの R...
書名(著者・編者等) The R Tips データ解析環境Rの基本技...
発行元 株式会社 九天社
発行年 2005
価格 3500円(税別)
ISBN 4-86167-039-x
です。 -- [[青木繁伸]] &new{2005-06-15 (水) 11:27:17};
-○○したことがないから○○出来ない、というフレーズは感心しま...
-丁寧な回答をどうもありがとうございました!後は、自分で手...
**heatmapの縦横比変更 及び 複数の図を描画する方法について...
>[[小島]] (2005-06-14 (火) 17:40:44)~
~
はじめまして。~
heatmap関数を使用して作図をしているのですが、行き詰ってし...
以下の事柄についてご存知の方がいましたら解決方法を教え下...
~
質問1:heatmapの縦横比の変更について
>>heatmap関数を用いて解析を行うと、その縦横比(X軸とY軸の...
扱っているデータがX軸の数の方が圧倒的に多いので、X軸を長...
通常、出力デバイス(png, pdf等)の大きさを変更するとそれに...
例を挙げると以下のようになります。
#サンプルデータ(データをX軸の方が多くなるように加工)
data(mtcars)
sampledata<-rbind(c(mtcars[,2]), c(mtcars[,3]), c(mtcars...
#デバイスの大きさを横長の長方形に指定する
pdf("test.pdf", width=12, height=5)
heatmap(sampledata)
dev.off()
>>marginsをいじれば形は変化するのですが、余白が出来る上、...
heatmap(sampledata, xlab="XLAB", margins=c(20,5))
<
>質問2:heatmapを使った複数の図の描画について
>>複数の図を描画する時、
#layoutを用いた画面分割(下図を大きく)
mat <- matrix(c(1,2,2), 3, 1, byrow=TRUE)
layout(mat)
plot(sin)
plot(cos)
>>など、plot関数を用いた場合は描画できるのですが、~
heatmap関数を用いると、heatmapの図だけ独立して新規に出来...
mat <- matrix(c(1,2,2), 3, 1, byrow = TRUE)
layout(mat)
#データは上記と同じものを使用
plot(sampledata)
heatmap(sampledata)
>>何か回避する方法はあるのでしょうか?
<ヘルプを見たり検索をしてみたのですが、私自身の力不足とhe...
ご存知の方がいらっしゃいましたらよろしくお願いいたします。~
//
-まず質問1について~
heatmap を例えば heatmap2 に付値して,heatmap2 の中にある
layout(lmat, widths = lwid, heights = lhei, respect ...
という行の,respect を FALSE にします。つまり,
layout(lmat, widths = lwid, heights = lhei, respect ...
とすれば,いいようですが。そして当然使うのは heatmap2(sam...
#ref(heatmap.png)
自己責任で試してみてください。~
質問2は,あ,自明かな。heatmap が上のように layout を呼ぶ...
望むとおりのグラフを描くには,相当の手入れが必要かと。R ...
~
-早速の返信ありがとうございました。~
こちらの返信が遅くなってしまいすみません。heatmap.2のイン...
#上にはheatmap2()となっていますが、gregmiscのheatmap.2()...
~
再度質問なのですが、heatmap.2にしたところ、時間軸(X軸)を...
# heatmapでは時間軸の固定が可能
heatmap(sampledata, Colv=NA)
# heatmap.2ではColvに欠損値(NA)は入れられないとエラーが...
heatmap.2(sampledata, Colv=NA, trace="none", key=FALSE)
以下のように dendrogram を指定すると似たようなグラフは出...
heatmap.2(sampledata, dendrogram="row", trace="none", ke...
ヘルプの Note: 欄に書いてあった時間軸固定に関する記述がな...
-?? gregmiscのheatmap.2()でいいのですか?~
全然よくありません。gregmisc にheatmap.2 という関数がある...
私が上に書いたように,あくまでも heatmap を使うのだが,関...
直接書き換えるのはお勧めできないので,適当な名前に付値し...
書き換える場所は,これこれですよと。~
このような説明が必要と言うことは,自己責任でその過程を踏...
教えられればなんでもできるというものでもありませんから,...
-と,言ってしまうのも何ですから。~
heatmap2 <- heatmap
fix(heatmap2)
ここで,前記の通りの行を修正後,保存し編集ウインドウを...
heatmap2(sampledata)
これで,うまく行くと思うのだが。。。 -- [[青木繁伸]] &new...
-丁寧な回答をありがとうございます。~
もともとheatmap.2という関数名を知っていたので勘違いをして...
heatmap.2()でも、~
rowInd <- 1:nr~
colInd <- 1:nc~
という記述を適当な場所に加えればいいようです。~
もっとRを使いこなせるように今後も勉強していきたいと思い...
青木先生、ありがとうございました。-- [[小島]] &new{2005-0...
**重回帰分析でのカテゴリー変数:内部表現の値 [#c3709c20]
>[[ショーゾー]] (2005-06-06 (月) 13:20:11)~
~
一つのカテゴリー変数(FとM)と5つの数値変数を説明変数とし...
ここで,予測値を計算する時はsex=Mのときは6.3007 * 2として...
チェックのために,Fのときは0,Mのときは1のダミー変数(sex...
//
-factor は,アルファベット順で数値を割り当てられるのだっ...
> x <- c("A", "B", "C")
> as.integer(as.factor(x))
[1] 1 2 3
> x <- c("C", "B", "A")
> as.integer(as.factor(x))
[1] 3 2 1
という結果を精査すべし。 -- [[青木繁伸]] &new{2005-06-06 ...
-関係するので書いておきます(どこかに書いた気がするが。。...
複数のレベルを持つ factor を lm で使うと,ちゃんとダミー...
> x <- as.factor(sample(3, 10, replace=T))
> x
[1] 1 3 2 1 1 3 1 3 1 1
Levels: 1 2 3
> y <- rnorm(10)
> lm(y ~ x)
Call:
lm(formula = y ~ x)
Coefficients:
(Intercept) x2 x3 # x2,x3 は...
-0.04008 0.80732 -0.18625
> x2 <- ifelse(x ==2, 1, 0) # こういう風に解釈してくれて...
> x3 <- ifelse(x ==3, 1, 0)
> lm(y ~ x2+x3)
Call:
lm(formula = y ~ x2 + x3)
Coefficients:
(Intercept) x2 x3
-0.04008 0.80732 -0.18625 # で,同じ答えに...
こんな風になる。賢いなぁ R は。 -- [[青木繁伸]] &new{2005...
-青木さんありがとうございます。factorをlmで使った時に青木...
- カテゴリー変数をfactor化するときは、factor()にlevelsオ...
> c <- c("Low", "Medium", "High")
> f <- factor(c)
> f
[1] Low Medium High
Levels: High Low Medium
> as.integer(f)
[1] 2 3 1
> f2 <- factor(c, levels=c("Low", "Medium", "High"))
> f2
[1] Low Medium High
Levels: Low Medium High
> as.integer(f2)
[1] 1 2 3
>
-
-青木さん「どこかに書いた気がするが...」ありました。なん...
**R commanderを使いたい [#s5a3eb5f]
>[[g]] (2005-06-06 (月) 10:48:48)~
~
R commanderを使いたくて,パッケージRcmdrを読み込んだら~
以下のメッセージが出てしまいました.~
同様な状況を解決した人がいましたら解決方法を教えてくださ...
ちなみにRのバージョンはR2.1.0で~
R commandeのバージョンはRcmdr1.0-2です.~
また,以下のパッケージも読み込んでいます.~
(バージョンもチェック済み)~
abind, car (>= 1.0-15), effects (>= 1.0-7), foreign, ~
grid, lattice, lmtest, MASS, mgcv, multcomp, ~
mvtnorm, nlme, nnet, relimp, sandwich, strucchange, zoo~
~
*****エラーメッセージの始まり*****~
> local({pkg <- select.list(sort(.packages(all.available ...
+ if(nchar(pkg)) library(pkg, character.only=TRUE)})~
要求されたパッケージ tcltk をロード中です~
要求されたパッケージ rgl をロード中です~
要求されたパッケージ zoo をロード中です~
要求されたパッケージ strucchange をロード中です~
要求されたパッケージ sandwich をロード中です~
要求されたパッケージ relimp をロード中です~
要求されたパッケージ nnet をロード中です~
要求されたパッケージ nlme をロード中です~
要求されたパッケージ mvtnorm をロード中です~
要求されたパッケージ multcomp をロード中です~
要求されたパッケージ mgcv をロード中です~
This is mgcv 1.3-0 ~
要求されたパッケージ MASS をロード中です~
要求されたパッケージ lmtest をロード中です~
要求されたパッケージ lattice をロード中です~
要求されたパッケージ grid をロード中です~
要求されたパッケージ foreign をロード中です~
要求されたパッケージ effects をロード中です~
要求されたパッケージ car をロード中です~
要求されたパッケージ abind をロード中です~
以下にエラーparse(file, n, text, prompt) : 構文解析エラー...
エラー:.onAttach は 'attachNamespace' で失敗しました~
エラー:'Rcmdr' に対するパッケージもしくは名前空間のロー...
//
-それは、なんと言うOS上でのお話しでしょうか? -- [[なかま]...
-失礼しました.WinXP(pro)のsp2です.ちなみにこのエラーは...
-Win2000ですが、R2.1.0およびR2.1.0 patched(6月4日)では...
-Win版ならlocaleToCharsetの影響かも.日替わりR(パッチ適用...
-質問当初は,Rterm上でも同様のエラーが起こったのですが,J...
-(続きです.)R commanderが起動しました.使用目的からする...
-あれからさらにいろいろ試してみたところ,インストール時に...
**散布図のプロットについて [#a320aa7c]
>[[ken]] (2005-06-03 (金) 23:03:02)~
~
はじめまして~
plot関数を使って散布図を作成しているのですが、x軸、y軸に...
項目 X Y
A 3 4
B 7 5 # 投稿法を良く読んで投稿しなさい
のような表の散布図を作成した場合、A、Bを直接図の中に表し...
//
-こんなのはどうでしょうか?
> dat <- matrix(c(3,4,7,5), nrow = 2, byrow=TRUE, dimnam...
> plot(dat, pch=rownames(dat))
[[松村俊和:http://kobe.cool.ne.jp/matsut/]] (2005-06-04 (...
-早速の回答、ありがとうございます。 この方法を探していま...
-上記のプログラムでは、A,B等、1文字だけは出力されますが、...
-plot(dat, pch=" ");text(dat, rownames(dat)) -- &new{200...
-データファイルがちゃんと作られていれば,データを読んだ後...
d <- read.table("test.dat")
plot(d, pch=" ")
text(d, rownames(d))
プロット位置にマークを書いたり,text で書かれる文字列がマ...
-無事、出来上がりました。 松村様、青木様、いろいろとご指...
**標本平均のSD [#faa1b8ff]
>[[Mari]] (2005-06-02 (木) 13:14:43)~
~
以下のように乱数を発生させ、その平均値の分布のSDがσ/sqrt(...
途中で計算のさせかたを間違っているのかと思いましたが、ど...
> dat <- numeric(10000)
> for ( i in 1:10000) dat[i] <- mean(rnorm(100,1,3))
> sd(dat)
[1] 0.30414
> 3/sqrt(10000)
[1] 0.03
どなたかご教示いただけませんでしょうか・・・~
//
-標本の大きさは100でしょう?( mean(rnorm(100,1,3)) って...
> x <- matrix(rnorm(1000000,1,3), 10000,100)
> sd(apply(x, 1, mean))
[1] 0.29930224896266783
ですね。 -- [[青木繁伸]] &new{2005-06-02 (木) 13:34:23};
-ありがとうございました。nを勘違いしておりました。もっと...
**ヒストグラムの階級の区切りと重なった値の扱い [#y8237907]
>[[<ふ>]] (2005-06-02 (木) 00:04:40)~
~
R2.0.1を使ってます。
x <- c(150,160,170,180,190)
というデータをつくり、
> hist(x)
でグラフをかかせますと、150と160が同じ区間にカウントされ...
help(hist)を読みましたら、~
'right = TRUE' (default), では、'(a, b]'で値をカウントす...
それなら、と、
> hist(x,xlim=c(140,200))
で描画させてみたのですが、左端とは、データの左端なんです...
次に、
> hist(x,right = FALSE)
としますと、180と190が同じ区間にカウントされます。~
手でグラフを描いたら、こんなふうにはせずに、平らな図にし...
よろしくご教示ください。
> stem(x)
The decimal point is 1 digit(s) to the right of the |
15 | 0
16 | 0
17 | 0
18 | 0
19 | 0
> hist(x,xlim=c(140,200))
> hist(x,xlim=c(140,200),right = FALSE)
//
-breaks を使って
hist(x,breaks=15:20*10,right=FALSE)
とすれば良いのでは?~
help にちゃんと書いてありますよ。~
Note that xlim is not used to define the histogram (brea...
but only for plotting (when plot = TRUE).
しかしまぁ,エラーまでペーストする必要はないでしょう。~
先頭1文字空白行の使い方もまずかったし。-- [[青木繁伸]] &n...
-ありがとうございます -- [[<ふ>]] &new{2005-06-03 (金) ...
-青木先生、すみません、ここの使い方、まだ、よくわかってま...
**kruskal.test()の使い方間違っているのでしょうか? [#db9c...
>[[RIRISU]] (2005-05-31 (火) 01:52:02)~
~
クルスカル・ワリスの検定についてお聞きします。
1回群 2回群 4回群 8回群
no.1 9 13 19 24
no.2 11 15 19 23
no.3 11 14 21 20
no.4 14 16 22 24
no.5 20 17 19 19
no.6 13 21 20 24
このデータから群によって評定の差があるかどうかを検定した...
> x<-c(9,11,11,14,20,13)
> y<-c(13,15,14,16,17,21)
> z<-c(19,19,21,22,19,20)
> e<-c(24,23,20,24,19,24)
> x<-c(x,y,z,e)
> g<-factor(rep(1:4,c(6,6,6,6)),
+ labels=c("1group","2group","4group","8group"))
> kruskal.test(x,g)
で合っているでしょうか?手計算(表計算ソフトで公式に数値...
手計算でやると、0.1%の危険率で帰無仮説を棄却するのですが...
//
-そもそも,自由度についてさえ,なぜ23になるのか。計算が間...
なお,データがどのように取られているか書かれていないので...
投稿記事は,(コメントが付く前なら,訂正・編集して良いと...
**post-hoc Fisher's LSD test [#xc85b30b]
>[[Sybock]] (2005-05-26 (木) 18:50:12)~
~
はじめまして、質問させていただきます。~
~
anova を3群のデータに適用し、有意差が出たものについて po...
中澤港様の「Rによる統計解析の基礎」P.109 を参考に、
# 例
firingRatio <- c(52,30,35,41,29,…, 33)
types <- c("A", "C", "A", "B", …, "C")
# 両ベクトルとも同じ length
pairwise.t.test(firingRatio, types, p.adjust.method = "h...
といった形で実行しましたが、この pairwise.t.test という関...
~
また、古典的な Fisher の制約つき LSD 法 も行って見たいの...
知識不足のため、検索キーワードが不適切であった可能性もあ...
//
-pairwise.*.test は,K 群の全ての二群の組み合わせについて...
-google でキーワード "filetype:R LSD" で検索すると12例...
-青木先生>ご回答いただき、ありがとうございます。pairの意...
-Fisher's LSD test についても検索して勉強してみます。 -- ...
**日付値の取り扱い [#h9f74918]
>[[さかな]] (2005-05-25 (水) 21:35:34)~
~
質問させて頂きます。~
~
例えば、開始日(2002/05/03)と終了日(2004/03/21)を指定した...
期間中の一連の日付を生成する良い方法はないでしょうか?~
~
2002/05/02~
2002/05/03~
....~
2004/03/20~
2004/03/21~
~
アドバイスよろしくお願いします。~
//
-help(seq)とか,seq(as.POSIXct("2002/05/03"),as.POSIXct("2...
-月/日/年の順で良ければ以下が一番簡単か?
library(chron)
seq.dates("05/03/2002", "03/21/2004")
。。。-- [[青木繁伸]] &new{2005-05-25 (水) 23:12:54};
-base パッケージだけで済ますなら(ちなみに始点と終点に日...
x <- seq(as.POSIXct("2002/05/03"),as.POSIXct("2004/03/21...
gsub("-","/",as.character(x))
-gsub 使うなら, format(x,"%Y/%m/%d") の方が素直かも.%Aと...
-seqも総称関数だったんですね。アドバイスありがとうござい...
**表示の問題 [#j58af5ed]
>[[こじろう]] (2005-05-12 (木) 01:21:32)~
~
Rのカーソルが|ではなく■の形になっていてとても使いにくい...
//
-これは R の問題ではなく、OS の問題ではと思います。だとす...
-コメントありがとうございます。そして、お気に触る質問の仕...
-カーソルはたしか, src/gnuwin32/console.cあたりで描画して...
-アドバイス、ありがとうございました。でも、やはり無理でし...
**表と図を一枚のPDFに出力したいです [#o22dfed4]
>[[Akira]] (2005-05-04 (水) 0:01:12)~
~
LaTeXを勉強しろと言われそうですが、グラフと表を一枚のPDF...
[[LaTeX:http://www.okada.jp.org/RWiki/index.php?cmd=read&...
非効率的とはわかりながらも、今は座標を探しながらmtextで表...
pdf(file="test.pdf")
layout(c(1:2))
plot(x=0, y=0, xlim=range(0,4), ylim=range(0,5), pch=&qu...
yaxs="i", axes=FALSE, xlab="", ylab="", c...
for(i in seq(0, 6)){
segments(0.5, i, 14.5, i)
}
mtext(text="column1", side=3, line = -1, adj=0, at=2, fo...
mtext(text="column2", side=3, line = -1, adj=0, at=3, fo...
mtext(text="row1", side=3, line = -2.2, adj=0, at=1, fon...
mtext(text="row2", side=3, line = -3.4, adj=0, at=1, fon...
mtext(text="row3", side=3, line = -4.5, adj=0, at=1, fon...
mtext(text="row4", side=3, line = -5.7, adj=0, at=1, fon...
mtext(text="data1.1", side=3, line = -2.2, adj=0, at=2, ...
mtext(text="data2.1", side=3, line = -3.4, adj=0, at=2, ...
mtext(text="data3.1", side=3, line = -4.5, adj=0, at=2, ...
mtext(text="data4.1", side=3, line = -5.7, adj=0, at=2, ...
mtext(text="data1.2", side=3, line = -2.2, adj=0, at=3, ...
mtext(text="data2.2", side=3, line = -3.4, adj=0, at=3, ...
mtext(text="data3.2", side=3, line = -4.5, adj=0, at=3, ...
mtext(text="data4.2", side=3, line = -5.7, adj=0, at=3, ...
plot(1:10)
dev.off()
//
-任意のワープロソフトで表組みして,Rで作成した画像(pdf ...
LaTeX で作表,フロートで画像を取り込んで,pdf 出力する。...
-ご要望の趣旨とは違いますが、Sweave と呼ばれるツールを使...
?documentclass[a4paper]{article}
?SweaveOpts{echo=FALSE}
?usepackage{a4wide}
?usepackage{Sweave}
?begin{document}
<<>>=
x <- 1:20
y <- x/10+rnorm(20)
summary(z <- lm(y ~ x))
@
?SweaveOpts{echo=true}
?begin{figure}[htbp]
?begin{center}
<<fig=TRUE>>=
par(mfrow=c(2,2))
plot(z)
@
?caption{linear regression}
?end{center}
?end{figure}
?end{document}
#ref(sweavetest.png)
-表と図ですから,xtableとSweaveで. -- [[なかま]] &new{2005...
?documentclass[a4paper]{article}
?usepackage{graphicx}
?begin{document}
?SweaveOpts{echo=false,pdf=FALSE}
<<results=hide>>=
library(xtable)
hoge<-data.frame(Tokyo=c(100,200),
Osaka=c(80,69),
Sapporo=c(80,69),
Fukuoka=c(80,69),
Naha=c(80,69),
Kyoto=c(80,69),
Hiroshima=c(80,69),
Nagoya=c(90,250)
)
@
?section{table and graph}
<<results=tex>>=
xtable(hoge, caption="table dayo")
@
?setkeys{Gin}{width=1.0?textwidth}
<<fig=TRUE,eps=TRUE>>=
boxplot(hoge)
@
?end{document}
#ref(test1.png)
-Sweave は最終的なまとめだけでなく、結果の一時的メモをと...
-発言意図がなかなかくみ取れない質問ではありましたが,作表...
temp.pdf というファイルもアップロードしておきましたが表示...
#ref(temp.png)
-元記事の参考例を実行してみましたが、やはり表組みの質がい...
-青木先生、なかま様、その他の皆様、ありがとうございます。...
青木先生のご指摘どおり、関数の作成とWordでの出力(Acrobat...
現在、「測定データから測定対象の品質レポートを作成する」...
私がLaTeXを使いこなせないことも原因ですが、スクリプトの知...
-私も噂だけで使ってみたことのない Sweave を今回勉強できて...
-PDFLATEX というのを使えば dvi ファイルでなく、PDF ファイ...
-揚げ足取りのようなコメントですが、Acrobatがないとpdf出力...
-素朴に疑問に思ったことだったのですが、関連するページをご...
ちなみに私もplatex+dvipdfmxを使っております。 -- [[Akira]...
-Sweaveを使って結果をまとめることができるようになりました...
**緯度・経度について [#ba665fb9]
>[[原]] (2005-05-03 (火) 11:52:12)~
~
東京の地図をmaptoolsで表示させた上に、地価のポイントを...
東京の地図は表示できたのですが、地価ポイントの緯度・経...
//
-できます。その東京の地図と同じ座標系のシェープファイルに...
-補足です。もし、その東京の地図がUTMや平面直行座標系など...
**Mac 版 R 2.1.0 のインストール [#g6c80aa0]
>[[初心者]] (2005-05-02 (月) 22:14:17)~
~
Windows 版 R 2.1.0 ならば,East Asian Languages でインス...
//
-どういう意味でしょう。何もせずに日本語化されたRが起動さ...
-何もせずに日本語化されたRが起動したので,「あれ?何もし...
-MacOS X版のGUIはフォントはロケールに応じて使い分けられる...
**debian(woody)におけるR-2.1.0のapt-get用sources.list [#d...
>[[さとう]] (2005-05-02 (月) 20:01:21)~
~
debian(woody)においてR-2.0.1をapt-getするためのsources.li...
~
>Ign http://******* Release~
~
のようになりapt-getできません。~
//
-今、手元にDebianが無いのでなんですが、 "deb http://cran...
-CRAN にある R の deb パッケージは確か保守されていないは...
# Stable
deb http://ftp.de.debian.org/pub/debian stable main cont...
deb http://ftp.de.debian.org/pub/debian-non-US stable/no...
# Testing
deb http://ftp.de.debian.org/pub/debian testing main con...
deb http://ftp.de.debian.org/pub/debian-non-US testing/n...
# Unstable
deb http://ftp.de.debian.org/debian unstable main contri...
deb http://ftp.de.debian.org/debian-non-US unstable/non-...
-念のため確認したら CRAN にも最新版がありました。しかし D...
-コメントありがとうございます。Debian.orgのパッケージ一覧...
-souces.list に以下の一行を加えたら、(少なくとも) at-get ...
deb http://cran.md.tsukuba.ac.jp/bin/linux/debian stable...
-再度ありがとうございます。ところで、上述のもので'apt-cac...
-つくば大学の CRAN mirror は本家の完全コピーかと思いまし...
http://cran.au.r-project.org/bin/linux/debian stable/
これでも駄目なら deb ファイルをダウンロードし dpkg -i r-b...
-結局、sources.listをRに関連するCRANミラーのもの一行だけ...
-筑波ミラーにも2.1.0-woodyはきていました。.ac.jp/bin/linu...
ページ名: