初級Q&A アーカイブ(2)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
COLOR(green){SIZE(20){初心者のための R および RjpWiki に...
~
COLOR(red){SIZE(18){注意:このコーナーは重量オーバーで表...
~
#contents
**Callの中身の値を変数に取得したいです。 [#w2d0b4d3]
>[[sally]] (2005-04-26 (火) 11:57:46)~
~
こんにちは。国際化おめでとうございます。~
今、グラフプロットに直線回帰をしています。~
そこででてくるパラメータの中身をグラフに書く為に、値を取...
plot(logCy5, logCy3)
reg <-lm( logCy3 ~ logCy5)
abline(reg)
ここで、Rのコンソールで、reg リターンとすると、以下の値が...
Call:
lm(formula = logCy3 ~ logCy5)
Coefficients:
(Intercept) logCy5
-0.01426 0.22954
これを、どうにかして変数に取得し、グラフ上に書きたいので...
a <- XXX(reg) -変数に取得??
text(1000000, 2, labels = "a", pos=2, cex=1)
色々試してみましたが、、やり方がわかりません。~
ご教授の程よろしくお願いします。~
//
-いろいろやり方はありますが,例えばtext(max(logCy5),min(l...
-ありがとうございました!かけました。 -- [[sally]] &new{2...
**カテゴリー変数の入った非線形回帰はどうすればいいでしょ...
>[[伊藤]] (2005-04-17 (日) 15:59:59)~
~
お願いします。~
~
私は生物学の研究をしており、2種類の寄主植物上が発育期...
egg=a*(development)^2+b*(development)+c*host+d~
hostの効果を入れたモデルとないモデルの間でAICを比較しよう...
~
前置きが長くなりましたが本題です。非線形のあてはめを行...
nls(egg~a*(development)^2+b*(development)+c*host+d,start=...
として解析しようとしたら、
Error in numericDeriv(form[[3]], names(ind), env) :
Missing value or an Infinity produced when evalu...
というエラーが出て止まってしまいました。"host"(寄主の種...
~
nlmeも試みてみましたが、ランダム因子がないので不可なよ...
//
-詳しいことは文面だけからはわかりませんが、エラーメッセー...
-hosts 変数は本当に因子(内部表現で整数)になっていますか...
-データを示すのは差し障りがあるでしょうが,一部分とか,本...
-追加:「寄生植物の種類が二次関数のパラメータに依存」とい...
-読んでも読んでもよく分かりません。「寄主植物の種類が二次...
-エラーメッセージから見れば,host に NA とか Inf とか,...
-こういう風にやればできるんじゃないのという,見本を作りま...
set.seed(777)
development <- rnorm(10)
host <- sample(0:2, 10, replace=TRUE)
host1 <- as.integer(host==1)
host2 <- as.integer(host==2)
egg <- development^2+2*development+3*(host==1)+4*(host==...
data <- data.frame(development=development, host=host, e...
result <- nls(egg~a*(development)^2+b*(development)+
c1*host1+c2*host2+d,data,start=list(a=1,b=1,c1=1,c2=1,d=...
plot(egg, result$m$fitted())
summary(result)
# summary の結果
Formula: egg ~ a * (development)^2 + b * (development) +...
c2 * host2 + d
Parameters:
Estimate Std. Error t value Pr(>|t|)
a 1.016296 0.010428 97.462 2.16e-09 ***
b 1.975588 0.010862 181.876 9.53e-11 ***
c1 3.006908 0.011833 254.116 1.79e-11 ***
c2 4.001636 0.011679 342.622 4.02e-12 ***
d -0.002181 0.011612 -0.188 0.858
---
Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1...
Residual standard error: 0.009724 on 5 degrees of freedom
Correlation of Parameter Estimates:
a b c1 c2
b + 1
c1 , . 1
c2 . . , 1
d , . * +
attr(,"legend")
[1] 0 ` ' 0.3 `.' 0.6 `,' 0.8 `+' 0.9 `*' 0.95 `B' 1
#ref(nls.png)
ここしばらくは,細部にわたった解答をして,質問者をスポイ...
- 不快な思いをさせて大変申し訳ありませんでした。
お聞きしたかったことは、線形回帰における共分散分析のよ...
~データフレームは以下のような構造です。developmentは発育...
development egg host
17 73 A
18 33 A
19 41 A
20 28 A
17 23 A
17 11 A
18 51 A
19 56 A
19 10 A
18 25 B
20 25 B
19 18 B
18 9 B
19 25 B
21 1 B
19 21 B
行ったのは次のようなことです。
y<-nls(egg~a*development^2+b*development+c*host+d,
start=list(a=2,b=1,c=1,d=1),data)
皆さんがご指摘のとおり、hostのA, Bをそのままnlsに入れた...
-fec というのは egg?? カテゴリー変数をダミー変数に変換...
-すみません。直しました。 -- [[伊藤]] &new{2005-04-17 (日...
-変数をくくるかっこも不要。初期値 e もformulaにない。直し...
-nls 関数は "A" を実数倍することを迫られて、困ったと見え...
**データのソートについて (なんでも掲示板から移動) [#n1a...
>[[thorman]] (2005-04-16 (土) 21:51:53)~
~
最近Rで統計学を始めたのですが(以前はExcelを使っていま...
例えば、x<-c(1,3,4,4,6,5,2)とxにデータを入れた後、この...
まだ、Rについてよく分からないのですが、C言語でデータを...
//
-投稿場所が違っていますよ。必要な関数はすべて揃っています...
-探すのが面倒なときは,プログラムを書けばいいのです。あな...
x<-c(1,3,4,4,6,5,2)
sort <- function(x)
{
n <- length(x)
for (i in 1:(n-1)) {
min <- x[i]
pos <- i
for (j in (i+1):n) {
if (x[j] < min) {
min <- x[j]
pos <- j
}
}
if (i != j) {
x[pos] <- x[i]
x[i] <- min
}
}
return(x)
}
sort(x)
# 結果
[1] 1 2 3 4 4 5 6
このソートアルゴリズムは,優れたものではないですが,わか...
**クラスター解析の樹形図の作成について [#rd964b0a]
>[[ごろう]] (2005-04-14 (木) 13:06:21)~
~
クラスター解析で樹形図を作成しているのですが、項目の日本...
自分の作図方法を下に示します。 よろしくお願いします。~
使用OS Microsoft windows XP~
R Version 2.0.0
library(cluster)
A<-read.table("gorou.txt")
A1<-A[,-1]
A.euclid<-dist(A1, method="euclid")
Euclid.complete<-hclust(A.euclid, method="complete")
plclust(Euclid.complete, hang=-1)
//
-意味が不明です。まず日本語化Rを使って問題が解決しません...
-まだはじめたばかりで、質問の仕方がよく分かっていませんで...
**plotでのmain titleの指定 [#x3eafa57]
>[[beginner for R]] (2005-04-13 (水) 16:31:53)~
~
いくつのデータをバッチ処理によってプロット出力したいので...
どうぞよろしくお願いします。~
//
-今の状態(つまり main タイトルが書けない点は不満だが,ち...
ファイル名をどのように得ているのかとか,,~
でも,以下のプログラムを見れば検討はつきますか?見当が付...
file.name <- c("data1.dat", "data2.dat") # ファイル名の...
par(ask=T)
for (i in 1:2) {
fn <- file.name[i] # ファイル名
dt <- read.delim(fn) # データの入力
plot(dt, main=fn) # main タイトル付きの描画
}
ようするに,ファイル名を文字変数に代入し,read.delim の f...
**関数とlistコマンドに関する質問 [#wdd5d9f8]
>[[21℃]] (2005-04-07 (木) 14:56:40)~
~
hoge.test <- function(l="hoge") {
list("fuga"=c("PV.IV","IV"),l=c("Yes","No"))
}
hoge.test("fugafuga")
とすると、lが評価されずに~
$fuga
[1] "PV.IV" "IV"
$l
[1] "Yes" "No"
となります。$lが$fugafugaとなるようにするにはどうすればよ...
//
-やろうとしてらっしゃることの意義が分かりませんが,以下の...
結論は,以下の l=l の部分で,= の左右の l は意味が違うと...
> hoge.test <- function(l="hoge") {
+ list("fuga"=c("PV.IV","IV"),l=l)
+ }
> hoge.test("fugafuga")
$fuga
[1] "PV.IV" "IV"
$l
[1] "fugafuga"
ちゃんとしたプログラムの一部としては意味のあるパーツなん...
-もし質問の趣旨が、リスト返り値の成分名を引数で与えたいと...
> hoge2 <- function(name1="a", name2="b")
{ tmp <- list(rnorm(2), runif(2))
names(tmp) <- c(name1, name2)
tmp
}
> hoge2()
$a
[1] -1.627812797 -0.005876096
$b
[1] 0.8406733 0.6035658
> hoge2("A","B")
$A
[1] 1.111073 1.008163
$B
[1] 0.3292604 0.1637242
-ちゃんとしたプログラムのパーツのつもりです。解決しました...
> hoge.test <- function(l="hoge") {
+ x <- list("fuga"=c("PV.IV","IV"),l=c("Yes","No"))
+ names(x) <- c("fuga",l)
+ print(x)
+ }
> hoge.test("fugafuga")
$fuga
[1] "PV.IV" "IV"
$fugafuga
[1] "Yes" "No"
期待通りに、$lではなく$fugafugaになりました。c()の中ならl...
-$fugafuga になるようにということだったんですね。前のコメ...
- 成分名の一部をかえるだけで良いなら次のようにします。-- ...
> x <- list(a=runif(2), b=rnorm(2))
> x
$a
[1] 0.4666695 0.3686140
$b
[1] 0.1382112 -0.3268364
> names(x)[2] <- "c"
> x
$a
[1] 0.4666695 0.3686140
$c
[1] 0.1382112 -0.3268364
- list("fuga"=c("PV.IV","IV"),l=c("Yes","No")) というよう...
-試してみればわかるように、二重引用符の有無の問題ではない...
-付いていてもいなくても同じ結果になるが、二重引用符を付け...
文字定数として"付きで書くと思っていたから、変数名も書ける...
-好きなように文字列を生成してパースして実行も可能. eval(p...
-みなさんありがとうございました。よく理解でき、すっきりし...
**sprintf の指数表示について [#g21d28cd]
>[[初心者11242号]] (2005-04-05 (火) 14:48:32)~
~
sprint のフォーマットで e を指定したときに、R2.0.1 では e...
現在は
> sprintf("%8.5e", 0.0001)
[1] "1.00000e-004"
となっているのを "1.00000e-04" や "1.00000e-0004" とした...
2桁の場合は formatC を使い, 4桁の場合は
sprintf("%4.2e0", 0.0001) # おかしいですね。これでは期待...
などと無理やりフォーマットを変えていますが、もっと良い方...
OS は Windows XPで、R2.0.1 日本語版を使っています。~
// ●● 校正しておきますね。。。全く手が掛かるっちゃあり...
//
-ないものは作る。ただ,本気で作るほどの関数でもない。~
もう少しオプションを増やしてもいいかもしれないが,参考に...
ま,言ってみれば,「こそくな関数」です。~
exponent は指数部の桁数(符号も含む)
extend.sprintf <- function(x, exponent=4)
{
a <- unlist(strsplit(sprintf("%10.5e", x),"e"))
fmt <- sprintf("%%se%%0%ii", as.integer(exponent))
sprintf(fmt, a[1], as.integer(a[2]))
}
> x <- 0.00012345
> extend.sprintf(x, exponent=1)
[1] "1.23450e-4"
> extend.sprintf(x, exponent=2)
[1] "1.23450e-4"
> extend.sprintf(x, exponent=3)
[1] "1.23450e-04"
> extend.sprintf(x, exponent=4)
[1] "1.23450e-004"
> extend.sprintf(x, exponent=5)
[1] "1.23450e-0004"
> extend.sprintf(x, exponent=15)
[1] "1.23450e-00000000000004"
> x <- 123456789.0123
> extend.sprintf(x, exponent=4)
[1] "1.23457e0008"
あまり,有用な関数とも思えません。 -- [[青木繁伸]] &new{2...
-ありがとうございます。私にとっては有用です。
fmt <- sprintf("%%se%%+0%ii", as.integer(exponent))
としたら、希望通りになりました。スペルミス、失礼いたしま...
-おっしゃるとおり,%+04i で正の場合にも + の符号が付きま...
-おお!きれいに編集されて見やすくなっている... お手数をお...
**しつもん [#q8d604eb]
>[[初心者]] (2005-03-31 (木) 01:48:22)~
~
シュミレーションをしていたら以下のようなエラーが出たので...
Error: subscript out of bounds
ってなんでしょうか?~
//★★ 投稿法くらい調べてから投稿したら?タイトルが「しつ...
//
-どういうシュミレーションしたのか,きちんと追試可能なよう...
- 次の例を参考に考えてみて下さい。-- &new{2005-03-31 (木...
> y <- matrix(1:4, 2,2)
> y
[,1] [,2]
[1,] 1 3
[2,] 2 4
> y[3,2]
Error: subscript out of bounds
-回答は質問のレベルによるという見本ですね。~
"Error: subscript out of bounds" は,「添え字が範囲を超え...
2005-03-31 (木) 08:00:08 の回答例を解説すると,「行列は2...
このような初心者だと,英語のエラーメッセージが日本語化に...
-もしかして,始めて学ぶコンピュータ言語がRと言う幸せ(不幸?...
**関数群を重ねて描画する方法について [#y0182bba]
>[[yuta]] (2005-03-30 (水) 14:56:18)~
~
以下のように複数の回帰直線を得る関数を定義したあとで、
taus <- c(0.99,0.95,0.9,0.85,0.8,0.75)
MyRq <-c(rq(y~x, tau = taus,MyData))
散布図上にその複数の関数を描画しようと思い、以下のような...
plot(x,y)
new = t
abline(c(LineRq),col="blue")
//★★ 投稿の仕方くらい調べてから投稿しなさいな!
//
-自己レスで申し訳ありません。c(rq ・・・はおかしいですね...
-一寸準備が面倒ですが、その分確実で世話がない方法は matpl...
> x <- 1:100/50*pi
> y <- cbind(sin(x), cos(x)) # 同じx座標に対する二つの関...
> matplot(x,y, pch=".") # 二つの関数グラフを同時にかく
-見出しにつられてお手つきコメントをしましたが、散布図に回...
plot(x,y)
abline(lm(y~x))
-回答ありがとうございます。rqは分位点回帰の関数で、複数...
-「複数の分位点をtausとして代入しているので,MyRq?は複数の...
そうはおっしゃいますが,追試もできないのです。あなたが実...
「c(rq ・・・はおかしいですね。これを修正しても」~
というのも,どこをどのようになおしたのかさえわかりません。~
回答が欲しくないなら,質問する必要もないでしょう。 -- [[...
-申し訳ありません。背景説明を省略しすぎました。問題のスク...
taus <- c(0.99,0.95,0.9,0.85,0.8,0.75,0.50) #複数の分位...
Rq <-rq(stack.loss~Air.Flow, tau = taus,stackloss)
plot(Air.Flow,stack.loss)
NEW = TRUE
lines(Rq,col ="blue")
とするとできるかと思います。この状態で、Rqは7つの回帰式...
-「複数の回帰直線を含むオブジェクトになっているはずなので...
-プログラムや出力結果を含む質問を投稿するときは,実際にR...
上のものは全角空白で区切られて文章の中にあったものを,投...
投稿規程をよく読んでくださいね。~
NEW = TRUE というのは,なんでしょうね。~
で,ま,書かれたようにやってみたんですが,
> library(quantreg)
[1] "quantreg package loaded"
[1] "quantreg now includes the nlrq and nprq packages"
> Rq <-rq(stack.loss~Air.Flow, tau = taus,stackloss)
> plot(Air.Flow,stack.loss)
Error in plot(Air.Flow, stack.loss) : Object "Air.Flow" ...
> NEW = TRUE
> lines(Rq,col ="blue")
Error in plot.xy(xy.coords(x, y), type = type, col = col...
plot.new has not been called yet
ということになったんですが,どうですか? -- [[投稿ルール]...
-そもそも,Rq の前に attach(stackloss) が必要なのか。それ...
-ま,一番最後の abline のつもりの lines を以下のようにす...
> library(quantreg)
[1] "quantreg package loaded"
[1] "quantreg now includes the nlrq and nprq packages"
> attach(stackloss)
> taus <- c(0.99,0.95,0.9,0.85,0.8,0.75,0.50)
> Rq <-rq(stack.loss~Air.Flow, tau = taus, stackloss)
> plot(Air.Flow,stack.loss)
> for(i in 1:ncol(Rq$coefficients)) {
+ abline(Rq$coefficients[,i],col=i)
+ }
上の解は,エープリル・フールじゃないよ -- [[暇人32号]] &n...
-なぜ,yutaさんは,「不完全な質問」をしたのでしょうか(決...
-まず、皆さまのお手を煩わせてしまったことをお詫びします。...
~
**トップページから記事一件移動しました [#t4eecb91]
Rをインタプリタでなくバッチで実行すると何百倍も早くなっ...
-質問する場所が違いますよ.バッチとインタプリタの比較は多...
-バッチモードとコンパイルモード(これはまだ無い)を混同し...
----
**パッケージのUPLOADでエラーがでます。 [#j06538b4]
>[[超初心者]] (2005-03-28 (月) 13:27:38)~
~
trying URL `http://cran.md.tsukuba.ac.jp/bin/windows/con...
Error in download.file(url = paste(contriburl, "PACKAGES...
cannot open URL `http://cran.md.tsukuba.ac.jp/...
In addition: Warning message:
unable to resolve 'cran.md.tsukuba.ac.jp'.
package のupload をしようとすると上記エラーがでます。~
IE上に直接入力するとうまくいくのに、理由がわかりません。~
~
かなりの初心者ですが、だれかお教え願いますでしょうか??...
環境:win2k~
//
-エラーメッセージも重要ですが、ヒントを得るには、どういう...
-upload ではなくて,download ですね。。。 -- &new{2005-0...
-proxy が必要になる環境からなら,[[CRAN国内ミラーの使い方...
**エラーが取れません。。。 [#u8ec8994]
>[[初心者]] (2005-03-27 (日) 16:16:20)~
~
ファイナンスのシュミレーションをするのにRを使ってやってみ...
Error in if ((800/K[i, j]) * Dil * (S[i, j] - K[i, j]) >...
missing value where TRUE/FALSE needed
と言うエラーが出てしまって困っています。~
該当箇所は
if( (800/K[i,j]) * Dil *(S[i,j] - K[i,j]) > C[i,j...
C[i,j] <- (800/K[i,j]) * Dil *(S[i,j] - K[i,j])
}
と言うもので、K, Dil, S,C などのオブジェクトは全て前に定...
この部分のどこかにまずいところがあるでしょうか?~
教えてください、よろしくお願いします。~
~
windowsユーザーです。~
//
-エラーが起きた箇所での (800/K[i,j]) * Dil *(S[i,j] - K[i...
> if(NA > 3) cat("A")
Error in if (NA > 3) cat("A") : missing value where TRUE...
> if(NaN > 3) cat("A")
Error in if (NaN > 3) cat("A") : missing value where TRU...
-早速の返事ありがとうございます。 -- [[初心者]] &new{2005...
-上のご指摘の件ですが、これはつまり if( ) の中身が変な値...
-数値として解釈できない値がどこかで生じたということでしょ...
**R for Mac mini [#l7a86be1]
>future user of Mac mini (2005-03-16 (水) 19:28:26)~
~
R Mac 版はMac mini (メモリー256MB/HDD 40GB)でも、問題な...
//
-試して,ぜひその結果を報告してください。というか,まだMa...
-私も知りたいです。どうなったのかなど、是非、教えてくださ...
-Mac mini を持っている人に,R をインストールさせてもらい...
-さっそく、ためしてみようっと -- &new{2005-03-17 (木) 1...
-動作情報ありがとうございます。もしもよければ動作Macの...
-特に大量のメモリは不要でしょう。多い方が,いろいろなソフ...
**線分の色分け [#y6e86c5a]
>[[さち]] (2005-03-16 (水) 16:14:04)~
~
またお世話になります。以前”射影した回帰曲線の色の付け方”...
前回の質問から時間が経ってしまいましたので、新しく質問を...
~
青木さんのご指導をもとに、フォーミュラ y= f(x) の逆関数 x...
フォーミュラ y= f(x) の逆関数 :
a=50;b=20;c=0.1
g<-function(d) (-(1/c)*log( (a-y)/(b*y) ))
x2<-c(g(y))
このようにして、逆関数 x=g(y) を求めて、下記のようにし...
X<-matrix(0,20:3)
X[,1]<-x<-1:20
X[,2]<-x2
<-matrix(0,20:1)
for(i in 2:20) {
lines(c(X[(i-1),1],X[i,2]), c(Y[i,1],Y[i,1]),
col = ifelse( predict.c>= 15.1, "blue",
ifelse( predict.c>= 10.1, "green",...
}
困った事に、得られた線分が、単色(”赤”)になってしまいま...
どうしたら良いのでしょうか。~
ご指導をお願いします。~
//
-初めから書き直します。~
非線形回帰分析を行って得られた、回帰曲線 y=f(x) の各点か...
非線形回帰分析:
> f <-function(x) 20/(1+50*exp(-0.8*x))
> x<-1:20
> y<-f(jitter(x))
> (result <-nls(y~a/(1+b*exp(-c*x)), start=c(a=50,b=20,c...
Nonlinear regression model
model: y ~ a/(1 + b * exp(-c * x))
data: parent.frame()
a b c
20.039274 51.908061 0.788543
residual sum-of-squares: 0.3331449
> predict.c<-predict(result)
> plot(x,y,ann=F,xlim=c(0,20),ylim=c(0,20))
> par(new=T)
> plot(predict.c,type="l",xlim=c(0,20),ylim=c(0,20))
ここまでは、前回と同じで、非線形回帰分析をさせた結果を表...
逆関数 x=g(y) を求めるために、パラメータ、a,b,c を f(x) ...
> a=50;b=20;c=0.1
逆関数 g(y)を関数を以下のように求めました。
> g<-function(y) (-(1/c)*log( (a-y)/(b*y) ))
グラフを表示させる際、もっと複雑な場合に備えて、 for を使...
> x2<-c(g(y))
> X<-matrix(0,20:3)
> X[,1]<-x
> X[,2]<-x2
> Y<-matrix(0,20:1)
先に求めた predict.c に従って線分に色をつけようと考えて...
> for(i in 2:20) {lines(c(X[(i-1),1],X[i,2]), c(Y[i,1],Y...
col = ifelse( predict.c>= 15.1, ...
ifelse( predict.c>...
色分けさせるように記述したつもりでしたが、結果は、線分が...
どのようにすれば、問題が解決できるようになるでしょうか。...
-X <-matrix(0,20:3)は X<-matrix(0,20,3)だろうとか。それは...
-どうにかよめるようになりました。。。お騒がせを致しました...
-最後の for ループの lines 文の col パラメータがちゃんと...
col <- ifelse( predict.c>= 15.1, "blue", ifelse( predict...
for(i in 2:20) {lines(c(X[(i-1),1],X[i,2]), c(Y[i,1],Y[i...
同時刻に修正しているので,編集の衝突が起きていますね(^_^;...
-青木さん!!有り難うございます!!やっと、それらしくなっ...
-a=20.039274 b=51.908061 c=0.788543 でないと変? -- &n...
-重複して見苦しいところを削除しました。<(_ _)> -- [[さち]...
-もしや。。。と思って、ご指摘のパラメータで確かめてみまし...
> a=20.039274; b=51.908061 ; c=0.788543
> g<-function(y) (-(1/c)*log( (a-y)/(b*y) ))
> x2<-c(g(y))
> x2<-c(g(y))
> X<-matrix(0,20,3)
> X[,1]<-x
> X[,2]<-x2
> Y<-matrix(0,20,1)
> col <- ifelse( predict.c>= 15.1, "blue", ifelse( predi...
> for(i in 2:20) {lines(c(X[(i-1),1],X[i,2]), c(Y[i,1],...
確かにその通りでした。 result の結果を使えば良かったので...
有り難うございました。-- [[さち]] &new{2005-03-16 (水) 17...
-念のため。newpar <- result$m$getPar(); a=newpar[1]; b=n...
-さからったのではなく,そのほかの所を直しただけでは(^_^;)...
-そうだったんですか??てっきり、自分だと思って。そのまま...
-使い方と newpar の意味が今ひとつよく分かりませんが、損は...
> newpar <- result$m$getPar(); a=newpar[1]; b=newpar[2];...
をします。 頑張って勉強します。-- [[さち]] &new{2005-03-1...
-Q&Aにヒントをみつけました。 -- [[さち]] &new{2005-03-17...
-str(result) で nls オブジェクトの構造を見て下さい。リス...
-なるほど。。。そういうことだったんですね。確かに、str(re...
**Warning message [#s8b18f27]
>[[初心者]] (2005-03-16 (水) 15:17:13)~
~
Excelの表をread.csvで読み込もうとしたら以下のメッセージが...
incomplete final line found by readTableHeader on `Data.c...
//
-Excel で書き出したファイルを,エディタか何かでいじりませ...
例えば,ファイルの最後の行の行末が 0x0a でない場合に,そ...
% hexdump -C test.csv # このファイルは,数字6で終わって...
00000000 31 2c 32 2c 33 0a 34 2c 35 2c 36 ...
0000000b
% hexdump -C test2.csv # 普通のファイルは,改行コードで...
00000000 31 2c 32 2c 33 0a 34 2c 35 2c 36 0a ...
0000000c
対処法は簡単。エディタで読み込んで,ファイルの最後の行末...
-行ったのはExcelに入力してCSVファイルで保存しただけなので...
-ですから,そう言う場合は,Excel のワークシートファイルと...
-青木先生、説明が足りずにご迷惑をおかけしました。実は他の...
-その,エラーを生じた,Excel 2004が生成した CSV ファイル...
-Excel 2004 を持っている人に頼んで送ってもらった CSV ファ...
read.csv の引数との関係なんかがあって,一筋縄ではいかない...
-[[NeoOffice/J:http://www.planamesa.com/neojava/ja/index....
[[NeoOffice/J:http://www.planamesa.com/neojava/ja/index.p...
> [[NeoOffice/J:http://www.planamesa.com/neojava/ja/inde...
GNU一般公衆利用許諾契約書(GPL)の下で無料のオープンソ...
<というものです。 -- [[青木繁伸]] &new{2005-03-19 (土) 10...
**軸を指定したい [#pc9533ec]
>[[nama]] (2005-03-16 (水) 12:21:56)~
~
すみません。教えていただきたい事があります。~
散布図X軸を打点があるところだけにしたいのですがどうすれ...
のでしょうか? xaxt="n" で消去することは出来たのですが...
3点のみ表示させたいのです。よろしくお願いいたします。
*
*
*
---+----+----+----+----+----+----
40 60 90
//
-すみません、変な「*」が入ってしまいました。要は3つの打...
-本当にもうしわけありません。axisで出来るって教えてもらえ...
-ここでは「編集」ボタンを押せば,汚してしまったものを自分...
-あと、どのように解決したかも書いていただけたら幸いです。...
x <- c(40, 60, 90)
y <- c(10, 4, 19)
plot(x, y, xaxt="n")
axis(side=1, at=x)
-「散布図X軸を打点があるところだけにしたい」というのは、...
-みなさんすみませんでした。掲示板の使い方もよくわからない...
**変化率の計算 [#cf6ca79e]
>[[おさる]] (2005-03-14 (月) 02:25:43)~
~
お世話になります.~
~
変化率の計算方法で,うまいものは無いでしょうか.~
~
変化率2= (x[2]-x[1])/x[1]~
変化率3= (x[3]-x[2])/x[2]~
~
といった感じの計算を,データフレームの変数xの各行に対して...
例えば,次のような株価のデータがあるとき,
x y z
905 728 589
950 773 597
930 737 580
960 770 606
1080 845 688
1030 808 669
965 733 687
992 759 691
956 745 702
これら企業の株価それぞれについて,上記のような変化率を求...
//
- m<-data.frame(x=runif(10),y=runif(10),z=runif(10));atta...
-爽快感が得られるかどうか,以下のようなやり方もあるでしょ...
d <- as.matrix(read.table("temp2.data", header=TRUE))
d2 <- data.frame(apply(d, 2, function(x) {n <- length(x)...
d2
x y z
2 0.04972376 0.06181319 0.013582343
3 -0.02105263 -0.04657180 -0.028475712
4 0.03225806 0.04477612 0.044827586
5 0.12500000 0.09740260 0.135313531
6 -0.04629630 -0.04378698 -0.027616279
7 -0.06310680 -0.09282178 0.026905830
8 0.02797927 0.03547067 0.005822416
9 -0.03629032 -0.01844532 0.015918958
-- [[青木繁伸]] &new{2005-03-14 (月) 10:35:45};
-素晴らしい!!!こういう一行野郎が欲しかったのです.すっ...
-みっつ上の x[1:length(x)-1] は、x[1:(length(x)-1)] 良く...
**Tukeyで比率の統計をしたいのです [#s6caaeb4]
>[[ピンバッジ]] (2005-03-09 (水) 18:02:31)~
~
全く何も分からないので何を書いていいのかも分からないので...
本当にわからないことばかりですので、お手数ですができる限...
//
-1. R の Tukey とは,具体的にはどの関数ですか~
2. 異なる餌とは,何種類ですか~
3. 昆虫は,それぞれの餌で何匹ずつ飼育したのですか~
4. 一定期間後に,生き残っている昆虫の割合を生存率としたの...
5. 生存率(割合)のデータの平均値に差があるか検定したので...
6. 「比率を比べる場合はカイ二乗検定後」というからには,平...
7. 「一連の操作をRでどのようにやるかわかりません」という...
8. ひょっとして,あなたのデータは,
当初昆虫匹数 生き残った昆虫匹数 生存率
餌A a1 a2 a2/a1
餌B b1 b2 b2/b1
餌C c1 c2 c2/c1
みたいなものなんですか?~
分からないことだらけで,答えることもできません(^_^;) -- [...
-御丁寧な質問をありがとうございます。~
質問に関してですが(答えがかみ合ってなかったら申し訳あり...
1. どの関数?という質問に対して当てはまらないかもしれませ...
2. 餌の種類は7種です~
3. 6種類の餌は30匹飼育し、1種類の餌は10匹を飼育しました。~
4. はい。何日後に何匹生き残っているかをしらべ、それを生存...
5. はい。餌の違いによる生存率の違いに差があるかどうかをし...
6. はい。たぶん平均値の差の検定ではありません~
7. 角変換の公式も分かりません。データーをどんな形(比率に...
8. はい。ほぼそれと同じです。~
御迷惑お掛けしますがどうぞよろしくお願いします。 -- [[ピ...
-8. の質疑応答からいくと,chisq.test( ) では。それに引き...
それにしても,TukeyHSD 関数を,どのように使ったんですか。...
-ありがとうございます。 よく分かっていなかったので使い方...
ありがとうございました。やり直します。-- [[ピンバッジ]] &...
**ESS-5.2.5で補完機能が効かない [#z1d172da]
>[[ぶー]] (2005-03-08 (火) 16:28:53)~
~
こちらに書き込むのはまずいでしょうか?~
Rを使うのにESSから使用しているんですが、ESS-5.2.5だと、s...
elisp を見ていないのでなんなんですが、、、同じ現象で回避...
あ、LInux 2.4.7 で使用しています。~
//
-すみません。Rは2.0.1でLinuxは2.4.27でした。 -- [[ぶー]]...
-わたしの所は大丈夫でした.Vine3.1,Rは自家製,カーネルはデ...
-そうですか、、、私の設定がまずかったかな?時間をみて再チ...
**重回帰式の変数選択の方法 [#p16c59f7]
>[[石川誠]] (2005-03-06 (日) 20:43:09)~
~
お世話になります。~
重回帰式を作成するとき、有効な変数を選択する方法を教えて...
総当り法はあったのですが、変数が多いと時間がかかってしま...
- いろいろあると思いますが,関数 step() などはどうでしょ...
summary(lm1 <- lm(Fertility ~ ., data = swiss))
slm1 <- step(lm1)
summary(slm1)
slm1$anova
//
-そう当たりで法で時間がかかっても結果が出るなら step 法よ...
-総当たり法にしろ,ステップワイズ法にしろ,それらを使って...
-非常に勉強になります!コンピュータに自動で変数選択をさせ...
-ありがとうございます。薬物設計(ドラッグデザインの探索)...
**射影した回帰曲線の色の付け方 [#jb54a256]
>[[さち]] (2005-03-02 (水) 15:37:36)~
~
Rの初心者です。~
方々探したのですが、こんなことはあまりされていないのか、...
> f <-function(x) 20/(1+50*exp(-0.8*x))
> x<-1:20
> y<-f(jitter(x))
> (result <-nls(y~a/(1+b*exp(-c*x)), start=c(a=50,b=20,c...
Nonlinear regression model
model: y ~ a/(1 + b * exp(-c * x))
data: parent.frame()
a b c
20.039274 51.908061 0.788543
residual sum-of-squares: 0.3331449
> predict.c<-predict(result)
> plot(x,y,ann=F,xlim=c(0,20),ylim=c(0,20))
> par(new=T)
> plot(predict.c,type="l",xlim=c(0,20),ylim=c(0,20))
この回帰曲線をx軸に射影(投影)したものに、yの値に従って...
例えば、
y=0.0 ~10.0 赤
y=10.1~15.0 黄色
y=15.1~20.0 青
のように。collor.paretsにあるheat.colorsのようなもので色...
どうかよろしくお願いします。~
//★★投稿書式くらい,確認してから投稿しなさいね
//
-「x軸に射影(投影)したものに、yの値に従って、色を付ける...
points(predict.c,col=ifelse(predict.c>=15.1,"blue",ifels...
ということなんでしょうか??(黄色というのは見にくいので...
本来,lines も points も,引数 col は「ベクトルであっても...
ま,考えてみれば,n番目の点が 14 で n+1 番目の点が 16 な...
どうしても色分けをやりたければ,各点を結ぶ線分と上記色分...
色鉛筆で,グラフ用紙にグラフを描くときのことを考えればよ...
全て同じだが,コンピュータに何かやらせようとしたとき,も...
-レスが遅れてすみませんでした。丁寧なご指導をありがとうご...
各点からx軸に下ろした垂線とx軸との交点を繋いだ曲線(この...
色付けの条件としては、前にも書きました通り、yの値に対応し...
y=0.0 ~10.0 赤
y=10.1~15.0 黄色
y=15.1~20.0 青
こうすると、色分けされたバーコードのようになるかも、、、...
各点を結ぶ線分と上記色分けの水平線との交点を計算して,そ...
points(predict.c, col = ifelse(predict.c >= 15.1, "blue",
ifelse(predict.c >= 10.1, "...
これは、2次元のグラフの記されている各点を色分けしていま...
ありがとうございました。 -- [[さち]] &new{2005-03-03 (木)...
-adhocですがfilled.contourで代用されたらいかがですか?
filled.contour(1:length(predict.c),1:length(predict.c),
matrix(predict.c,nrow=length(predict.c),ncol=length(pr...
とか. -- [[takahashi]] &new{2005-03-03 (木) 12:37:08};
-takahashi さんありがとうございます。早速ためしてみました...
数値軸上に、少し太めの線として描かせる事しか頭になかった...
-フォーミュラ y= f(x) の逆関数 x=g(y) によって,x1=g(a), ...
-レスが遅れてすみません。青木さん、有難うございます。目か...
早速やってみます!! -- [[さち]] &new{2005-03-04 (金) 16:06...
**多項式による回帰分析 [#z83b850b]
>[[highvalley]] (2005-03-01 (火) 19:05:38)~
~
Rを勉強中のhighvalleyと申します。~
現在多項式による回帰分析(最小2乗法)を行いたいのですが...
私はlm()を使って以下のように行っています。例えば目的変数...
~
result <- lm( y ~ 1+x+I(x^2) )~
~
これで目的を達する事は出来ているのですが、この方法だと次...
//
-nls()が使えます。[[このpdfファイル:http://phi.med.gunma-...
-早速のお返事どうもありがとうございます。資料も読ませて頂...
-「次数が高くなると大変」ということですが,formula を書く...
どうしても lm を使う(書く)手間を省くことだけが目的と言...
takousiki <- function(x, y, k) # パラメータは,独立変数...
{
n <- length(x)
z <- matrix(x, n, k)
for (i in 2:k) {
z[,i] <- x^i
}
lm(y ~ z)
}
ヒデー,ラッパーだ -- [[青木繁伸]] &new{2005-03-01 (火) 2...
-どうもありがとうございます。おっしゃる通り、業務全体から...
//★★重複投稿したのに気づいたら,自分で消してね(気づいて...
//-どうもありがとうございます。おっしゃる通り、業務全体か...
-まず R site search (トップページ参照)を使いましょう(日...
polyreg {mda} R Documentation
Polynomial Regression
Description
Simple minded polynomial regression.
Usage polyreg(x, y, w, degree = 1, monomial = FALSE, ...)
Arguments
x predictor matrix.
y response matrix.
w optional (positive) weights.
degree total degree of polynomial basis (default is 1).
monomial
If TRUE a monomial basis is used (no cross terms). Def...
... currently not used.
Value
A polynomial regression fit, containing the essential ...
for its predict method.
-どうもありがとうございます! R site searchからpolynomial...
**関数の追加 [#b3e15d07]
>[[しま]] (2005-02-20 (日) 15:29:58)~
~
新しい関数を追加したいのですが,どのようにすればいいので...
初歩的な質問で申し訳ないです..~
//
-初等以前の問題のような気がします。関連文献を少しは読んで...
-簡単なことほど難しいし,何通りも実現方法があったり,少し...
[初歩的な質問で申し訳ない]と思うなら,質問しない方がよい...
-話題の新刊 The R Tips を買って読めば大丈夫. わたしも初心...
-初心者の答えです。単純には、関数名<-function(引数){関数...
-うむ。それは,関数の定義法では?~
そもそも,「しま」さんが書いた「新しい関数を追加したい」...
私は,「関数を追加して,いつでも使えるようにしたい」と読...
日本語の初心者じゃないのだろうから,もう少しちゃんと説明...
というか,私の読解力が低いということで,私の日本語能力に...
-参考になるかわかりませんが, RFC1855を読んでみましょう. ...
-蛇足ながら,google などで RFC1855 を検索すると色々出てき...
**levelplotの背景色の変更 [#s2505fa8]
>[[ひょうひょう]] (2005-02-10 (木) 18:48:00)~
~
グラフィックス参考実例集:ラティスグラフィックスで以下の...
「lattice 関数は lightgrey の背景色等幾つかの固有の既定値...
par(bg="white")~
としても変更できませんでした。よろしくお願いします。~
//
- [[学生]] (2005-02-10 (木) 20:32:34)
library(lattice)
trellis.par.get()
trellis.par.set(background = list(col="white"))
show.settings()
?trellis.par.get
質問の基本的な姿勢が,以下のサイトに書かれてあります.~
参考:http://myu.daa.jp/osiete/index.html
// ★ 書かれているないようについては申し分ありません
// ★ どうせなら,記事の書き方については ヘルプ を参照のこと
-Q&A, 初心者用Q&A コーナーへの質問テンプレートがあるとい...
// ★ 何を用意しようとも,それを利用しないのが無法者(初心...
// ★ その証拠となるのが,善意のちゃんとした意志を持った投...
// ★ このようなコメントに気づく人も少ないというのが,その...
-ご回答ありがとうございました。~
ぶっきらぼうな質問に答えていただいて、恐縮です。解決しま...
-トップページにある R site search でキーワード lattice ba...
-グラフィックス参考実例集の解説は間違いですね(もしくは仕...
-おっしゃる通り、R site searchでまったく同じ質問を発見し...
**Error cannot allocate ..というエラーがいつも出てしまい...
>[[ちょろちゃん(;_;)]] (2005-02-04 (金) 09:34:32)~
~
みなさま始めまして、R超初心者のちょろと申します。~
初心者のため、ご相談内容にも説明不足の点もあるかと思いま...
その際はご指摘ください。~
~
□相談内容~
~
Windowsで動くRスクリプトがLinux上で稼動すると~
エラーが出てしまう。~
~
□Rのエラー内容~
Error: cannot allocate vector of size 16478 Kb~
Execution halted~
~
vector of size ○○○。。。というサイズは~
32MBの場合もありますし、上記のように16MBの場合もあります~
~
□実行環境~
(スクリプトが動く環境)~
OS:Windows 2000~
Memory:512MB~
R:1.9.1~
(スクリプトが動かない環境)~
OS:Linux Redhat 7~
Memory:2GB~
R:1.9.0~
~
WindowsとLinuxでは、Rを動かす際のメモリーのとり方など~
違いがあるのでしょうか。~
このようなエラーが出てしまうのはRのスクリプトの書き方が~
悪い以外のなにものでもないような気がいたしますが、~
何かお気づきの点等ございましたら、アドバイスいただければ...
どうぞよろしくお願いいたします。~
//
-肝心の作業内容 script が無いと判断困難ですね。普通は超巨...
-アドバイス有難うございます。確かにScriptを提示せず質問す...
-R をコマンドラインから起動するんでしょうね。R --help と...
--max-vsize=N Set vector heap max to N bytes;
--max-nsize=N Set max number of cons cells to N
どうでしょうね。vsize か nsize か,それともどっちも関係な...
-現在の R ではよほどクリティカルな作業でない限りメモリー...
-.RDataに巨大なオブジェクトが残っているとか(んでもって毎...
- rm(list=ls(all=TRUE)) で隠しオブジェクトを含むすべての...
-みなさま、色々とあたたかいアドバイスありがとうございます...
-本件進展がありましたので、ご連絡致します。後々気が付いた...
-「PerlからRCMDにてRのプログラムを呼び出し実行した時に生...
**Rで分割表の対数線形モデル [#j516ba78]
>[[bob3]] (2005-01-31 (月) 00:03:57)~
~
bob3と申します。~
~
Rを使った対数線形モデル(log-linear models)による分割...
ところが2点ほど不明な部分があり、ご相談にあがりました。~
ご相談したいのは以下の2点です。~
~
1)ANOVAコーディングよる対数線形モデルのやり方~
2)関数loglinによる「特定の単一の変数の主効果と誤差の...
~
例題として http://www.sci.kagoshima-u.ac.jp/~ebsa/matsu...
~
まず、Rによる対数線形モデルの手順を調べ、以下のように...
~
# 既存の分割表を入力
rocket <- array(data=c(5,7,8,9,3,21,7,9,6), dim=c(3,3))
dimnames(rocket) <- list(c("A1","A2","A3"),c("B1","B2","...
# モデル選択
model0 <- loglin(rocket, list(c(1, 2)), param=TRUE)
model1 <- loglin(rocket, list(1, 2), param=TRUE)
model0
model1
p0 <- 1-pchisq(model0$lrt, model0$df)
p1 <- 1-pchisq(model1$lrt, model1$df)
p0
p1
AIC0 <- model0$pearson-2*model0$df
AIC1 <- model1$pearson-2*model1$df
AIC0
AIC1
# ここでは飽和モデルを採用し分析してみる
rocket.df <- as.data.frame.table(rocket)
colnames(rocket.df) <- c("航続距離","横方向のずれ","度数")
glm0 <- glm(度数 ~ 航続距離 * 横方向のずれ, data = rocke...
anova(glm0, test = "F")
summary(glm0)
~
ところが、これで出力されるのはダミーコーディングによる...
~
ANOVAコーディングによる推定値を得るにはどのようにすれば...
~
また、関数loglinでモデルを指定する際、[AB]と[A][B]とい...
~
なお、環境は~
> version
_
platform i386-pc-mingw32
arch i386
os mingw32
system i386, mingw32
status
major 2
minor 0.1
year 2004
month 11
day 15
language R
と、なっております。~
~
よろしくお願いいたします。~
//
-模範的な質問ですね。当てはめ結果の anova 関数によるまと...
glm0 <- glm(度数 ~ 航続距離, data = rocket.df, family = ...
glm0 <- glm(度数 ~ 横方向のずれ, data = rocket.df, famil...
glm0 <- glm(度数 ~ 1, data = rocket.df, family = poisson)
- ご返答、ありがとうございます。
~
~ lmやglmでのモデル式の指定方法を教えていただき、ありが...
~ (やはりloglinではこれらの式は指定できないのだろうか……)
~
~ 私がANOVAコーディングで知りたいのは、各変数の全カテゴ...
~
~ よろしくお願いします -- [[bob3]] &new{2005-02-01 (火) ...
-トップページの R site search を使って、例えばキーワード ...
-前の方も指摘されていますが、loglin または loglm でパラメ...
loglin(rocket,margin=list(c(1,2),c(1),c(2)),param=TRUE)
loglm(freq ~ kyori * zure, data = rocket.df, family = ...
// ★★ こうやるのよ!
-- [[なかの]] &new{2005-02-04 (金) 22:11:04};
//
-返答を下さった皆様、ありがとうございます。勉強になります。
~実は、私がANOVAコーディングで得たいと思っているのは「標...
~これは重回帰分析における標準化偏回帰係数に相当するもので...
~標準化係数(標準効果) = 推定値(効果) ÷ 標準偏差(標...
~なかなか難しいものですね。
-- [[bob3]] &new{2005-02-05 (土) 02:40:35};
-純粋に質問です。bob3 さん、loglinear における「標準化係...
- 標準化係数(標準効果)それぞれのカテゴリとその交互作用...
定をしたいと思っています。
~ ……ん、待てよ。AICでモデルの選択をするんだったら、その...
リごとに検定をするのはおかしいのかな?
~ 重回帰分析でAICを使って変数選択するときは、有意でない...
採用することもありますね。
~ ということで、ちょっと分からなくなってきました。すみま...
~ 参考にしている文献ですが、これも実は私のほうが教えてい...
で、「質的情報の多変量解析」http://www.sci.kagoshima-u.ac...
~ Rでの対数線型モデルについてということでは、主に以下の...
~ http://www.ci.tuwien.ac.at/~zeileis/teaching/Biostatist...
~ http://www.stat.ohio-state.edu/~tjs/865/handout-3.pdf -...
-御指摘の「標準化係数」というのはパラメータ推定値のz得点...
**Rでメタアナリシス [#y120ea9f]
>[[竹内]] (2005-01-30 (日) 09:06:30)~
~
Rでメタアナリシスを行いたいのですが、どなたか参考になるも...
//
-探して出てきたけど,これというものではなかったもののリス...
-丹後俊郎先生著の,メタアナリシス入門(朝倉書店)はいかが...
-[[R(フリーの統計ソフト)によるメタアナリシス手順:http://w...
[[Microsoft Excel spread sheet for Meta-analysis:http://w...
[[ここからはじめるメタ・アナリシス?Excelを使って簡単...
-"R(フリーの統計ソフト)によるメタアナリシス手順”をホーム...
**n×nマトリックス状にplotを配列する方法 [#q5c5cba6]
>[[kejuyan]] (2005-01-26 (水) 17:28:06)~
// ★★ 元発言者から何の反応もないですが,もう十分だと思い...
昨日は、大変有益なアドバイスを頂きました。ありがとうござ...
今日は、例えば、2列のデータX00Y00からX19Y19までのデータを...
2×2のマトリックスであれば,以下のようにも書くものです。
par(mfrow=c(2,2))
par(mar=c(0,0,0,0))
plot(y~x,X00Y00)
plot(y~x,X00Y01)
plot(y~x,X01Y00)
plot(y~x,X01Y01)
昨日教えていただいたプログラムをアレンジして,以下のプロ...
par(mfrow=c(20,20))
par(mar = c(0, 0, 0, 0))
for (i in 0:19) {
if (i < 10) I <- paste("0",i,sep="") else I <- as.c...
for (j in 0:19) {
if (j < 10) J <- paste("0",j,sep="") else J <- a...
oname <- paste(“X”,I,”Y”,J, sep="")
y <- paste(“ Y_”,oname)
x <- paste(“X_”,oname)
plot(y~x, oname, col="red",lty=1, type="l",axes=FA...
}
}
しかし,
Error in eval(expr, envir, enclos) : invalid second argu...
というエラーが出てきました。~
そこで、xの中身を調べてみたら,以下のように ”(二重引用符...
> x
[1] "I_ X00Y00"
なので、この " を無くしてやれば動作するのではと考えている...
" の取り方、またはより良い方法をご存知の方、御教授よろし...
-一つの解答案を示しておきましょう。でもそれを示すだけでは...
par(mfrow=c(2,2), mar=c(0,0,0,0))
for (i in 0:1) {
for (j in 0:1) {
plot( read.table(sprintf("X%02iY%02i.txt", i, j)))
}
}
読み込んだデータフレームの列名を変えたりしていたのは,plo...
結局,これだけならば,データフレームを全部読み込んで保持...
たいていの場合,読み込んだデータフレームを全部保存してお...
-(参考まで)paste もしくは sprintf 関数は「文字列」を作...
**複数ファイルの一括読み込み [#z3529c14]
>[[kejuyan]] (2005-01-25 (火) 15:09:18)~
~
// ★★ どっちもどっちがだ,書き込みのルールや書き込み方く...
座標(x,y)で得られたn行2列データファイルX00Y00.csv〜X50Y50...
~
1つのファイルであれば以下のようにX_<ファイル名>,Y_<ファイ...
これを多数のファイルで一括読み込みしたい場合はどのように...
> X00Y00 <- read.csv("C:/X00Y00.csv")
> X00Y00
X Y
1 1 2
2 2 4
3 3 6
4 4 8
5 5 10
6 6 12
7 7 14
8 8 16
9 9 18
10 10 20
> colnames(X00Y00) <- c("X_X00Y00","I_X00Y00")
> X00Y00
X_X00Y00 I_X00Y00
1 1 2
2 2 4
3 3 6
4 4 8
5 5 10
6 6 12
7 7 14
8 8 16
9 9 18
10 10 20
forなどを使えば出来そうかとは思うのですが、プログラム経験...
どなたか御教授よろしくお願いします。~
また、参考URL or 文献なども教えていただけるとうれしいです...
//
//★★ リンク間違ってましたので修正しておきました
-まずチップス集は最低みましょうね。R に[[ファイルを読み込...
-そんなにたくさんの(csv)ファイルを用意できませんので実...
// ★★ ここにはもともと空行があったのだけど,空行があると...
// ★★ 書き込みの結果を見ればおかしいのが分かるのだから,...
> for (i in 0:1) {
if (i < 10) I <- paste("0",i,sep="") else I <- as.c...
for (j in 0:1) {
if (j < 10) J <- paste("0",j,sep="") else J <- a...
oname <- paste("X",I,"Y",J, sep="") # 文字列 "X00...
fname <- paste(oname, ".txt", sep="") # ファイル...
x <- read.table(fname) # ファイルを読み込み
colnames(x) <- c(paste("X_",oname,sep=""), paste(...
assign(oname, x) # 文字列 oname を名前に持ち、中...
}
}
> X00Y00
X_X00Y00 I_X00Y00
1 1 2
2 2 4
3 3 6
4 4 8
5 5 10
6 6 12
7 7 14
8 8 16
9 9 18
10 10 20
> X01Y01
X_X01Y01 I_X01Y01
1 1 2
2 2 4
3 3 6
4 4 8
5 5 10
6 6 12
7 7 14
8 8 16
9 9 18
10 10 20
===== 別の記述方法
for (i in 0:1) {
for (j in 0:1) {
oname <- sprintf("X%02iY%02i", i, j) # 文字列 "X00Y0...
x <- read.table(sprintf("%s.txt", oname)) # ファイル...
colnames(x) <- c(sprintf("X_%s",oname), sprintf("I_%...
assign(oname, x) # 文字列 oname を名前に持ち、中身が...
}
}
//-返信を下さった方々!ありがとうございました。 -- [[keju...
//★★ 発言の重複もあるし,改行できてないし。
//★★ 直しておくけど,気づくこともないのだろうな。
-返信を下さった方々!ありがとうございました。~
まず最初にアドバイス通り、ファイル読み込みTipを再読し、R...
filenames <- list.files(path = ".", pattern = NULL, all....
full.names = FALSE, recu...
listoftables <- lapply(filenames, read.csv)
names(listoftables) <- filenames
listoftables
という記述をすれば、listが作製できるので、後はlistをうま...
ここでしばらく悩んでいたところ、プログラムを書き込んで頂...
そしたら、、、私の欲しかったプログラムはこれだ!!という...
返信を下さった方々本当にありがとうございました。 -- [[kej...
-(老婆心ながら) 51x51 個のオブジェクトを作っても後が大変...
listoftables[[12, 34]]
等と添字操作する方が簡便なのでは。リスト listoftables は
dim(listoftables) <- c(51,51)
とすれば行列として操作できます。 -- &new{2005-01-25 (火)...
-本来の解析内容によりますが、もし X..Y.. がすべて同じサイ...
-そもそも,全部読み込んで保持しておく必要があるのかどうな...
-保持しておく必要は,とりあえずはなさそうですね。 -- [[青...
**関数を上書きしてしまった? [#z8e67a89]
>[[初心者]] (2005-01-17 (月) 20:18:02)~
~
どうも以前にgamma関数を上書き定義してしまったらしく、使え...
//
-関数の再定義をしてしまって,R を終わるときに q() の問い...
R を起動した後,rm(gamma) で再定義を消去して,q() でもう...
この手順で駄目ならば,上書きしてしまった経緯・状況をもっ...
-ありがとうございました!回復しました。 -- [[初心者]] &ne...
-てっ取り早い方法としてワーキングディレクトリのファイル ....
-.RData を消去すれば,消去されたくない必要なものがあって...
**分割表形式のデータフレームを通常のデータ形式に戻したい ...
>[[Jack]] (2005-01-16 (日) 17:00:47)~
~
次のようなデータフレームがあります。~
V1, V2は処理の種類(カテゴリー)を表し、1,2,3,4,5は計測値...
V1 V2 1 2 3 4 5
1 1 1 3 1 0 2
1 2 3 1 4 5 5
2 1 2 1 9 8 7
2 2 1 0 8 8 1
解析に際し、これを生データに戻したいのです。つまり
V1 V2 V3
1 1 1
1 1 2
1 1 2
1 1 2
1 1 3
1 1 5
1 1 5
1 2 1
1 2 1
1 2 1
1 2 2
.
.
というようにです。~
forループを使えばできそうな気がしたのですが、肝心の計測...
あるいは、forを使わない方法があるのでしょうか。
よろしくおねがいします。~
//
-例えば -- &new{2005-01-16 (日) 18:04:01};
> x
V1 V2 X1 X2 X3 X4 X5
1 1 1 1 3 1 0 2
2 1 2 3 1 4 5 5
3 2 1 2 1 9 8 7
4 2 2 1 0 8 8 1
> xx <- as.matrix(x) # 一旦行列に直す方が操作しやすい
> xx
V1 V2 X1 X2 X3 X4 X5
1 1 1 1 3 1 0 2
2 1 2 3 1 4 5 5
3 2 1 2 1 9 8 7
4 2 2 1 0 8 8 1
> y <- numeric(0)
> for (i in 1:dim(xx)[1]) {
for (j in 3:dim(xx)[2]) {
if (xx[i,j] != 0) {
for (k in 1:xx[i,j]) {
y <- c(y,xx[i,1:2],j-2)
}
}
}
}
> y <- matrix(y, nc=3, byrow=TRUE) # 行列に直す
> colnames(y) <- c("V1","V2","V3") # 列名を付けたければ
> y <- as.data.frame(y) # データフレームにし...
> y
V1 V2 V3
1 1 1 1
2 1 1 2
3 1 1 2
4 1 1 2
5 1 1 3
6 1 1 5
7 1 1 5
8 1 2 1
9 1 2 1
10 1 2 1
(途中省略)
66 2 2 4
67 2 2 4
68 2 2 4
69 2 2 4
70 2 2 5
==========================
# 別法
> y <- matrix(0, nr=1000, nc=3) # 十分大きな行数の行列...
> n <- 0
> for (i in 1:dim(xx)[1]) {
z <- rep(1:5, xx[i,3:7]) # 例えば i=1 ならこれはベ...
N <- n + length(z)
y[(n+1):N, 1:2] <- xx[i, 1:2]
y[(n+1):N, 3] <- z
n <- N
}
> y <- y[1:n,] # 実際の行数に切り詰め
-早速ありがとうございました。行列にいったん直すのですね。...
-すんごく,短い解があると思います。for ループも不要です。~
# テストデータ作成
x <- data.frame(V1=c(1,1,2,2), V2=c(1,2,1,2), X1=c(1,3,2...
X3=c(1,4,9,8), X4=c(0,5,8,8), X5=c(2,5,7,1))
# 以下の4行が解 =============上とは出現順が違うが=======...
f <- as.matrix(x[,3:7])
v1 <- x[,1]
v2 <- x[,2]
cbind(rep(v1[row(f)], f), rep(v2[row(f)], f), rep(col(f)...
これがどういうことかは,~
[[http://aoki2.si.gunma-u.ac.jp/R/tenkai.html:http://aoki...
を見た方がわかりやすいかも。その応用です。~
行の名前が変になるけど,3行解として
f <- as.matrix(x[,3:7])
v12 <- as.matrix(x[,1:2])
cbind(v12[rep(row(f), f),], rep(col(f), f))
というのでもよいかも。~
単に行数を減らすだけなら,
f <- as.matrix(x[,3:7])
cbind(as.matrix(x[,1:2])[rep(row(f), f),], rep(col(f), f))
いきなり,これが出てくるとわけわからんですね。 -- [[青木...
-ありがとうございました・・・しかしまだ理解できていません。...
**shapefileが読めません。 [#x356afb4]
>[[おやじっち]] (2005-01-12 (水) 00:35:36)~
~
spdepでmoran's Iを計算しようと思い、vectorworksで作成した...
Rでmaptools,spdep,tripackをロードし
// ★★ 記述法をよく理解してくださいよ
x <- read.shape(system.file("shapes/ファイル名.shp", p...
と入力しましたが
Error in read.shape(system.file("shapes/ファイル名.shp",...
unable to open file
と表示され読めませんでした。~
http://web.sfc.keio.ac.jp/~maunz/~
のサイトの~
R language/空間重み付け行列とMoran’s I~
の部分を参照したのですが、なにぶん素人なものでどこが間違...
どうか教えて下さい。~
//
-"system.file("shapes/ファイル名.shp", package="maptools...
-OSはmac OS10.3.7でRは2.01でmaptoolsは0.4-8です。パスを指...
-パスの指定法~
Mac OS X の場合,ユーザ名 foo のデスクトップに bar フォル...
scan("/Users/foo/Desktop/bar/baz.dat")
とすればいいのだが,毎回そんなの書くのいやだということな...
scan("baz.dat")
だけで読める。 -- [[青木繁伸]] &new{2005-01-13 (木) 21:37...
-多分、exampleを見られてsystem.fileとされたのだと思います...
-read.shape("パス名+ファイル名") で読み込めました。有り...
**Windows版Excelからのセル範囲コピー [#vacd4c6c]
>[[青木繁伸]] (2005-01-11 (火) 14:32:44)~
~
Windows ユーザから以前,~
http://aoki2.si.gunma-u.ac.jp/R/excel.html~
の動きがおかしいという問い合わせがありました。~
複数列をコピーしてもなぜか一行中の全部の数字を連結した文...
なんででしょうか。~
エディタなどにペーストすると列の間にはちゃんとタブコード...
//
-実験してみました。おそらく範囲指定をした EXCEL データの...
-- 標準:一行中の全部の数字を連結した文字列になる~
-- 数値:行列としてちゃんと読み込まれる~
「標準」だけでなく「数値」以外の形式(「日付」や「文字列...
それにしても、非常に便利な汎用関数ですねぇ〜! -- [[舟尾]...
-多分1.9.0以降はRguiではtabの入力がスキップされる
/*
* Filter R commands out of a string that contains
* prompts, commands, and output.
* Uses a simple algorithm that just looks for '>'
* prompts and '+' continuation -- won't work when
* other prompts are used (e.g., as in a debugging
* session.)
* Always return the length of the string required
* to hold the filtered commands.
* If cmds is a non-null pointer, write the commands
* to cmds & terminate with null.
*/
からかと.なのでRtermでは上手くいくかも. -- [[なかま]] &ne...
-じゃなかった,Rguiでは元々tabの入力を考慮してなかったりし...
-ありがとうございました。Macintosh版(V.X版って,へんな表...
それで,以下のような実験をしました。驚くべき結果でした(^_...
WIndows の Excel で以下のようなファイル test.txt を作りま...
ファイルの中身
$ cat test.txt
1 1
2 1.414213562
3.00000 1.73205
4.00000 2.00000
ダンプ
$ hexdump -c test.txt
0000000 1 ?t 1 ?r ?n 2 ?t 1 . 4 1 4 ...
0000010 6 2 ?r ?n 3 . 0 0 0 0 0 ...
0000020 3 2 0 5 ?r ?n 4 . 0 0 0 ...
0000030 2 . 0 0 0 0 0 ?r ?n ...
なんとオバカな仕様で,書式が「標準」のときには「タブ」の...
これをコピーして,R に持ってくるとき,Windows版 R(Rgui) ...
Macintosh版のExcelでも,「数値」のときには「空白+タブ」と...
-なるほど!勉強になりました!Windows 版では「数値」の他に...
-matrix(scan("clipboard"),byrow=T,nc=2)にすればWindowsで...
-数値の前の空白はもしや符号だったりして... -- [[なかま]] ...
-なるほど,Winのクリップボードはバイナリーの場合もあるので...
-ちなみに,Windowsで青木先生の関数の""の部分を"clipboard"...
-なるほど。Mac でも clipboard という装置名を試してみたけ...
**Xでない環境でpng()やjpeg()を使いたい [#y2108482]
>[[はいじま]] (2005-01-10 (月) 23:33:31)~
~
// ***** ~ を使って不必要な物理的な行替えをしないよ...
LinuxでXの無い環境で、ver2.0.0を使っています。~
R Bookを読みつついろいろ試していますが、
Windows上ではpng()が利用できるのですが、
Linuxで、コマンドラインからRを実行するとエラーが出ます。~
Xはインストールされていないサーバーなのですが、
この場合、画像ファイルの作成はどのように行うのでしょうか。~
それとも行えないのでしょうか。
// ***** ヘルプを見たり,テキスト整形のルールを表示...
// ***** 今回はなおしておきます。
src-----------------------------
x<-1:100
y<-sin(x)
png('/tmp/sin.png')
plot(x,y)
dev.off()
src-----------------------------
err-----------------------------
Error in X11(paste("png::", filename, sep = ""), width, ...
unable to start device PNG
In addition: Warning message:
unable to open connection to X11 display`'
err-----------------------------
//
-RjpWiki にある R-FAQ の訳の 7.21 を見て下さい。 pictex ...
-pdf ファイルだとXはなくてもいいようですが,pdf を使う(...
- X が使えない環境を利用できないので確認不可能ですが、?ca...
## on Unix with enscript available
ps <- pipe("enscript -o tempout.ps","w")
capture.output(example(glm), file=ps)
close(ps)
-ありがとうございます。 PDFについては設定無しに実行でき...
-無事Xvfbでpngファイルを作成できました。Rを起動する前にex...
**パッケージfSeriesのaparchSimについて [#e666acf8]
>[[winga]] (2005-01-05 (水) 20:57:16)~
~
//あのね,文章を物理的に ~ で区切って一行の文字数を決める...
windowsXPでR2.0.1を使用しているものです。パッケージfSerie...
//
-example(aparchSim)でやってみると,たくさんの数値が出力さ...
-どんなパラメータを設定したのかをaparchSimのコマンドで書...
-青木先生、矢野様、ありがとうございます。もう少し自分でも...
-別の質問は,別のスレッドを起こす方が良いと思いますが。~
プラットホームが書いてありませんが,Windows なんでしょう...
Mac だとちゃんと動くようですが(というか,そんなエラーは...
バージョンダウンするしかないかも。
> library(tseries)
Loading required package: quadprog
'tseries' version: 0.9-24
'tseries' is a package for time series analysis and
computational finance.
See 'library(help="tseries")' for details.
>
こうなります。 -- [[青木繁伸]] &new{2005-01-09 (日) 01:48...
-quadprogというパッケージがインストールされていないか、イ...
-ありがとうございます。quadprogをインストールした結果、う...
**ブラウザーに関する質問二件 [#c1bbb8a4]
>[[QDU]] (2005-01-04 (火) 08:13:30)~
~
R とは直接関係ありませんが、RjpWiki を見るブラウザーにつ...
//
**自前のカラーバーを作る方法 [#a2e9bbdd]
>[[ゆき]] (2005-01-03 (月) 18:17:22)~
~
自前でカラーバーを作りたいのですが、どうすればよいの困り...
~
例えば、グラフィックス参考事例集にある火山の地形図のイメ...
image2 <- function () {
data(volcano)
x <- 10*(1:nrow(volcano))
y <- 10*(1:ncol(volcano))
png("image2.png") # png デバイスを開く
# 地形図色調で色分けしてイメージ表示
image(x, y, volcano, col = terrain.colors(100), axes =...
# 等高線を重ねる
contour(x, y, volcano, levels = seq(90, 200, by=5), ad...
# 下部に軸、チックマークを描く
axis(1, at = seq(100, 800, by = 100))
# 左部に軸、チックマークを描く
axis(2, at = seq(100, 600, by = 100))
# 全体を囲む枠を描く
box()
# タイトル
title(main = "Maunga Whau Volcano", font.main = 4)
dev.off() # デバイスを閉じる
}
として、 terrain.colors を使用して色をつけていますが、...
//
-御質問の趣旨「自前のカラーバー」が今一わかりませんが、お...
//引用(先頭一字半角開け)の前には空白を置くな
//注釈はおいても良いけど,空行は置くな
//インデントが変になる
//ちなみに言えば,インデントの前の文末に ~ おいても変なこ...
//経験則でわかるだろうか?
## 色分け範囲を自前で指定 -> level 引数を使用
## image 関数なら breaks 引数で範囲の分割点のベクトルを...
> range(volcano)
[1] 94 195
> x <- 10*1:nrow(volcano)
> y <- 10*1:ncol(volcano)
> filled.contour(x, y, volcano, color = terrain.colors,
level=c(90,110,130,150,170,190,210),
plot.title = title(main = "The Topograp...
xlab = "Meters North", ylab = "Meters W...
plot.axes = { axis(1, seq(100, 800, by ...
axis(2, seq(100, 600, by =...
key.title = title(main="Height?n(meters...
key.axes = axis(4, seq(90, 190, by = 10...
> mtext(paste("filled.contour(.) from", R.version.string),
side = 1, line = 4, adj = 1, cex = .66)
#ref(Volcano1.png)
//ここにも置くな
## 色分け範囲を自前で指定 -> level 引数を使用
## 範囲色を自前で指定 -> col 引数で色名文字列ベクトルを...
## 但し色の自前の指定は一人よがりになり勝ちですから、お...
## すでに用意されている視覚的に慎重にデザインされたもの...
> x <- 10*1:nrow(volcano)
> y <- 10*1:ncol(volcano)
> filled.contour(x, y, volcano,
level=c(90,110,130,150,170,190,210),
col = c("red", "blue", "yellow", "black...
plot.title = title(main = "The Topograp...
xlab = "Meters North", ylab = "Meters W...
plot.axes = { axis(1, seq(100, 800, by ...
axis(2, seq(100, 600, by =...
key.title = title(main="Height?n(meters...
key.axes = axis(4, seq(90, 190, by = 10...
> mtext(paste("filled.contour(.) from", R.version.string),
side = 1, line = 4, adj = 1, cex = .66)
#ref(Volcano2.png)
//ここも同じ
## なおこの例の引数 color = terrain.colors の意味は、col...
## カラーパレット関数 terrain.colors を用いて col = terr...
## しろという意味です。結果は以下のように色名を RGB 表記...
> terrain.colors(10)
[1] "#00A600" "#2DB600" "#63C600" "#A0D600" "#E6E600" "#...
[8] "#EDB48E" "#F0C9C0" "#F2F2F2"
-カラーバーに関するご指摘、すみませんでした。作成したかっ...
**ExcelのRight、Leftみたいな機能 [#n2644845]
>[[Akira]] (2004-12-27 (月) 10:38:26)~
~
Excelには文字列の右端、左端を得る関数があります。~
"abcd"なら、right("abcd", 1) -> "d" となります。~
Rには
strsplit("abcd", split="")[[1]][4]
とか~
文字数が不明な場合は
lapply(strsplit("abcd", split=""), rev)[[1]][1]
で文字を得られますが、~
文字ベクトルの全ての要素に適用して、listでなく右端の文字...
chara.a <- c("abcd", "bcda", "cdab")
chara.list <- lapply(strsplit(chara.a, split=""), rev)
chara.b <- numeric(0)
for(i in 1:length(chara.list)){
chara.b[i] <- chara.list[[i]][1]
}
でベクトルを作っています。~
//
-substr という関数を調べるとよいでしょう。 -- [[青木繁伸]...
-ありがとうございます。
chara.list <- substr(chara.a, start=1, stop=1)
としました。 -- [[Akira]] &new{2004-12-27 (月) 12:01:39};
-ncharを使えばrevしなくても文字列末尾の参照はできますよ -...
-こういうことでしょうか?
chara.list <- substr(chara.a, start=nchar(chara.a), stop...
あっていますか? -- [[Akira]] &new{2004-12-27 (月) 14:56:...
-テストデータで期待通りの結果が得られれば,あっているので...
-回答以前に末端の文字ベクトルを求めてそれで何をしたいのか...
-全然凄いことではありません。~rownameに群分け情報があるの...
> test
XorY A
1000X X TRUE
1001X X FALSE
1000Y Y FALSE
1001Y Y TRUE
というdata.frameなのでXorYのところにrownamesの末尾をもっ...
-そのようなデータが,機械的に作られてそれを解析する必要が...
そうでないとしても,統計解析の前に適切なフィルターを噛ま...
フィルターは R で構成する必要はなくて,より適切なスクリプ...
そのフィルター部分を Excel に担当させようとしたのが一つの...
R の得意な分野とそうでない分野があるわけですから,R でな...
極端なことをいえば, Excel で全部やっても良かったんですか...
処理の全体がわかりませんので,あれこれ言うのは控えておき...
**R的なapply, lapply, sapplyの活用 [#xfd2395f]
>[[Akira]] (2004-12-27 (月) 10:24:04)~
~
「意味がある時は(ない時も)常にベクトル化せよ」を実践すべ...
~
a.listとb.listがあります。a.listはnumericデータのdata.fra...
つまり、
length(a.list)=3
dim(a.list[[1]])
[1]20 200(これは[[2]]、[[3]]も同じ)
length(b.list)=2
b.list[[1]]
$g1
[1]1 2 3 4 5 6 7 8 9 10 11 12
$g2
[1]13 14 15 16 17 18 19 20
b.list[[2]]
$g1
[1]1 2 3 4 5 6 7 8 9 10
$g2
[2] 11 12 13 14 15 16 17 18 19 20
今このデータについて、b.listにある2つのカテゴリを使って、...
今は、
for(i in 1:length(b.list)){
for(j in 1:length(a.list){
g1 <- a.list[[j]][b.list[i], ]
g2 <- a.list[[j]][b.list[i], ]
ttest.p <- numeric(0)
for(k in 1:dim(a.list[[1]])[2]){
ttest.p[k] <- t.test(g1, g2, var.equal=T, alternative="t...
na.action=na.omit)$p.value
}}}
の様なことをしてしまっています。~
せめて、apply(g1, 2, t.test, g2)みたいな方法でg1とg2のcol...
//
-複雑なデータ構造のようで,よく把握できませんが,期待通り...
-こうした複雑なケースはミニチュアでも良いですから実際に自...
# おそらく質問者がやったこと
> set.seed(31415)
> a1 <- as.data.frame(matrix(rnorm(4000),20,200))
> a2 <- as.data.frame(matrix(rnorm(4000),20,200))
> a3 <- as.data.frame(matrix(rnorm(4000),20,200))
> a.list <- list(a1,a2,a3)
> b.list <- list(list(g1=1:12,g2=13:20),list(g1=1:10,g2=...
> an <- length(a.list); bn <- length(b.list)
> ttest.p <- matrix(vector("list", an*bn), bn, an) # 結...
> for(i in 1:bn){
for(j in 1:an){
G1 <- a.list[[j]][b.list[[i]]$g1, ]
G2 <- a.list[[j]][b.list[[i]]$g2, ]
temp <- numeric(0)
for(k in 1:200){
temp[k] <- t.test(G1[,k], G2[,k], var.equal=TRUE,
alternative="two.sided",
na.action=na.omit)$p.value
}
ttest.p[i,j] <- list(temp)
}}
> str(ttest.p)
List of 6
$ : num [1:200] 0.869 0.155 0.458 0.768 0.362 ...
$ : num [1:200] 0.907 0.176 0.799 0.296 0.861 ...
$ : num [1:200] 0.226 0.691 0.465 0.704 0.363 ...
$ : num [1:200] 0.166 0.104 0.918 0.419 0.126 ...
$ : num [1:200] 0.7886 0.3279 0.0029 0.5534 0.4714 ...
$ : num [1:200] 0.5945 0.4196 0.0560 0.0134 0.4812 ...
- attr(*, "dim")= int [1:2] 2 3
# 内側のループを sapply で処理
> for(i in 1:bn){
for(j in 1:an){
G1 <- a.list[[j]][b.list[[i]]$g1, ]
G2 <- a.list[[j]][b.list[[i]]$g2, ]
ttest.p[i,j] <- list(sapply(1:200,
FUN=function(k) t.test(G1[,k],...
var.equ...
alterna...
na.acti...
}}
> str(ttest.p)
List of 6
$ : num [1:200] 0.869 0.155 0.458 0.768 0.362 ...
$ : num [1:200] 0.907 0.176 0.799 0.296 0.861 ...
$ : num [1:200] 0.226 0.691 0.465 0.704 0.363 ...
$ : num [1:200] 0.166 0.104 0.918 0.419 0.126 ...
$ : num [1:200] 0.7886 0.3279 0.0029 0.5534 0.4714 ...
$ : num [1:200] 0.5945 0.4196 0.0560 0.0134 0.4812 ...
- attr(*, "dim")= int [1:2] 2 3
外側の二重ループを消すこともできるのでしょうが、やりかた...
-ありがとうございます。sapplyの使い方の勉強になりました。...
forが続くとメモリを消費するのかな?と思ったので、なるべく...
-実は apply 関数は for loop を隠すだけで実際の速度向上は...
-コードを簡潔にするために,あれこれ時間を掛けるのが良いこ...
簡潔なコードをいつでも書けるように修行するのは良いのでし...
取りあえずの目的を達するために書くスクリプトは,技巧を凝...
うまい書き方や,効率的なプログラムにこだわれば,結果とし...
プログラミングの経験は十分あるが,R の経験はそれほどでも...
要するに,トータルのコストの問題ですね。R に習熟すれば,R...
for だろうがなんだろうが,R 的に汚いやり方であっても,そ...
メモリーを浪費するといっても,所詮個人のマイクロコンピュ...
それでもなお,もっと早く分析したいなら,それはきっと R の...
このような議論を受け入れてくれる人は少ないようなんですが...
- いちばん理想的なのは「他人が読んでも読みやすく、しかも...
「比較的簡単にプログラムが出来、それでいてそこそこ計算が...
ここまで書いて思ったのですが、私のようなど素人が意見を述...
**プロットの3色の色分け [#r39ed7ed]
>[[Mari]] (2004-12-21 (火) 18:09:28)~
~
何度も本当にすみません。。。~
プロット上のスポットを値ごとに3色に分けたいのですが、以下...
> plot(A2,M2,col = (if(Type==1){"gray"}else if(Type==-20...
Warning message:
the condition has length > 1 and only the first element ...
col をif文の中に入れてみたりしたのですが、plotではifelse...
//
-一歩ずつ前進しているようですね。以下が参考になるでしょう...
> x <- data.frame(A=rnorm(5), B=runif(5), C=c(1,2,2,3,1))
> plot(x$A, x$B, col= ifelse((y <- x$C)==1,"red", ifelse...
なお、試みられたコードが失敗する理由も、初心者の典型的な...
> Type =c(1, -20000, 1, 0, -20000, 1)
> y = ifelse(Type==1, "gray", ifelse(Type==-20000, "blue...
> y
[1] "gray" "blue" "gray" "black" "blue" "gray"
-本当にありがとうございました!!! 今日の一連の流れをfuncti...
-発展問題。関連して w <- foo(x,y,z) とすると x[a]==y[b] ...
-よくよく考えたらもっと簡単な解がありました。-- &new{200...
col = c("gray","blue","black")[ match( Type, c(1,-20000,...
**プロットの色分け [#a83c1f51]
>[[Mari]] (2004-12-21 (火) 16:54:14)~
~
いつもお世話になっております。今回はプロットを作成して、...
~
インポートしたデータフレーム(dat2)のA2,M2 というカラム...
> unique(dat2$ControlType)
[1] 1 -20000 0
とりあえず、2色でifelseをプロット関数に入れて行ってみまし...
> plot(A2,M2, col = ifelse(dat2$ControlType=0,"gray","bl...
Error: syntax error
別の関数に変換するほうがよいのかなと思い、下記のようにし...
やはりエラーがでました。
> Type <- dat2$ControlType
> unique(Type)
[1] 1 -20000 0
> plot(A2,M2, col = ifelse(Type=0,"gray","blue"))
Error in ifelse(Type = 0, "gray", "blue") :
unused argument(s) (Type ...)
某HPの以下のスクリプトを参考にしたのですが、何が悪かった...
> plot(x, y, col = ifelse(y>0.5, "red", "blue"))
//
-つぎの二つの例を見比べて下さい。初心者が良くひっかかる落...
> x=1; Y <- ifelse(x==1, 2,3)
> Y
[1] 2
> x=1; Y <- ifelse(x=1, 2,3)
Error in ifelse(x = 1, 2, 3) : unused argument(s) (x ...)
-ありがとうございました!!! たしかに・・・ -- [[Mari]] &ne...
**read.table で最初の9行をスキップしたい [#t28ecfd0]
>[[Mari]] (2004-12-21 (火) 11:09:47)~
~
エクセルで作成したデータのインポートを行いたいのですが、1...
read.table のオプションのskip を使ったのですが、下記のよ...
~
具体的には、下記のように行いました。どうやら、1行目のデー...
~
データは1行目から9行目まではランダムなコメントが書いてあ...
~
アドバイスいただけますと助かります。よろしくお願いいたし...
> dat<- read.table("Test.txt",skip=9)
Error in scan(file = file, what = what, sep = sep, quote...
line 1 did not have 87 elements
//
-おそらく ?read.table の次の箇所が参考になるのでは。 --...
The number of data columns is determined by looking at t...
five lines of input (or the whole file if it has less th...
lines), or from the length of 'col.names' if it is speci...
is longer. This could conceivably be wrong if 'fill' or
'blank.lines.skip' are true, so specify 'col.names' if n...
-次のようなテストファイルを読み込んでみると問題は起きませ...
comment 1 a b c d e f g h
comment 2
comment 3
comment 4
comment 5
A B C D E
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
> x <- read.table("test.txt", skip=5, header=T)
> x
A B C D E
1 1 2 3 4 5
2 6 7 8 9 10
3 11 12 13 14 15
-ありがとうございます。 コメント部分を削除しても、read.ta...
-すみません、切れました。コメントをはずして、read.csv で...
-以下のように行うと、うまく行きました。本体部分のタブ区切...
-コメント部分を#でコメントアウトしてもexcel上では#が"#("...
**条件にあうものだけに、値を変更したい。 [#lfbf8f67]
>[[cricket]] (2004-12-18 (土) 00:14:58)~
~
データフレームで、あるラベルに対応する値だけを変更するに...
//
-色々やりかたはあるでしょうが例えば素朴に -- &new{2004-1...
> x <- data.frame(A=1:4, B=c("a","b","b","c"))
> x
A B
1 1 a
2 2 b
3 3 b
4 4 c
> x$A[x$B=="b"] <- x$A[x$B=="b"] + 10
> x
A B
1 1 a
2 12 b
3 13 b
4 4 c
> x$A[x$B=="b"] <- 0
> x
A B
1 1 a
2 0 b
3 0 b
4 4 c
-上の方と同じく,いろいろやり方はあるでしょうが
> data <- data.frame(
treatment=c("control", "treatment", "treatment", "co...
observation=c(1,3,2,1,4))
> data
treatment observation
1 control 1
2 treatment 3
3 treatment 2
4 control 1
5 control 4
> data$observation <- data$observation+ifelse(data$treat...
> data
treatment observation
1 control 11
2 treatment 3
3 treatment 2
4 control 11
5 control 14
など -- [[青木繁伸]] &new{2004-12-18 (土) 00:47:45};
-なるほど。確かにいわれてみればたしかに。難しく考えすぎて...
-こんなのもあり -- &new{2004-12-18 (土) 11:34:33};
> x=data.frame(A=1:4, B=c("a", "b","b","c"))
> x$B == "b"
[1] FALSE TRUE TRUE FALSE
> x$A <- x$A + 10 * (x$B == "b")
> x
A B
1 1 a
2 12 b
3 13 b
4 4 c
-発展問題。逆に文字列部分を変更したい時は?データフレーム...
> x=data.frame(A=1:4, B=c("a", "b","b","c"))
> x$B[x$A==2] <- "c" # すでにある文字列には問題無く置き...
> x
A B
1 1 a
2 2 c
3 3 b
4 4 c
> str(x$B) # "a","b","c" は内部的には数値 1,2,3 と表現...
Factor w/ 3 levels "a","b","c": 1 2 2 3
> x$B[x$A==2] <- "d" # 最初に無い文字列に置き換えるとエ...
Warning message:
invalid factor level, NAs generated in: "[<-.factor"(`*t...
> x
A B
1 1 a
2 2 <NA>
3 3 b
4 4 c
-x$A <- x$A + 10 * (x$B == "b") のような使い方もできるん...
-存在しないファクターを加える(強引な)方法。元の質問の趣...
> x = data.frame(A=1:4, B=c("a","b","b","c"))
> x = rbind(x[1,], data.frame(A=x$A[2], B=c("d")), x[3:4...
> x
A B
1 1 a
11 2 d # <- 確かに変わったが、行ラベルが何故かおかしく...
3 3 b
4 4 c
> x[2,] # しかし添字操作では問題無し
A B
11 2 d
**単位根検定についてpart2 [#mf19ce3a]
>[[nakanaka]] (2004-12-17 (金) 19:31:57)~
~
他の計量経済学の掲示板にも質問させていただきましたが,なか...
トレンド項,ドリフト項のt(τ)値を見れば,有意かどうか判断...
よろしくお願いします.~
//
-いろんなところに匿名でマルチポストするのは感心しない。す...
-[[R-sig-finance:https://stat.ethz.ch/pipermail/r-sig-fin...
**テーブル内のリスト一覧 [#bf96ebd4]
>[[Mari]] (2004-12-17 (金) 16:48:30)~
~
テーブルを読み込んだときに、そのデータのリストの一覧を入...
例えば、Test というデータのカラムに~
Column
-------
type1
type3
type2
type1
type3
~
というような項目があり、このデータが何万件にも及ぶ場合、~
何種類のtype があるか、という情報を入手したいのですが。。~
~
show(Test$Column)~
ですと、ただ一覧がでてきてしまいます。~
~
調べ方も甘いのかもしれませんが、ご教授いただけますと~
幸いです。~
~
よろしくお願いいたします。~
//
-因子なら,levels(Test$Column),数値ならunique(Test$Column)...
-できました!ありがとうございます -- [[Mari]] &new{2004-1...
-参考。unique は文字列ベクトルでも使えます。 -- &new{200...
**正準相関係数に関して [#g73d5f1b]
>[[fuji]] (2004-12-14 (火) 13:51:37)~
~
正準相関係数に関して質問です.~
cancor()関数では正準相関係数は出力されますが,重み係数は...
//
-[[青木先生作 cancor 関数:http://aoki2.si.gunma-u.ac.jp/R...
-参考図書の解答が間違っているのかもしれません.他の例題で...
**VECMのパラメータについて [#bd8fcf13]
>[[Yo]] (2004-12-13 (月) 17:37:37)~
~
VECMのパラメータ推計を,パッケージ"urca"の"ca.jo"で行って...
"ca.jo-class"の説明を見て"PI""GAMMA"が~
~
EC式:EC=Y(t)-(a0+a1*X(t-1)+a2*Z(t-1)+..)~
~
のパラメータだろうと思っているのですが,~
~
VECM:?Y(t)=b0+b1*EC(t-1)+b2*Y(t-1)+b3*X(t-2)+..~
~
のパラメータがどれにあたるのかわかりません.~
とても初歩的な質問で申し訳ありませんが,教えていただけな...
よろしくお願いいたします.~
//
-VECMってなんですか?いきなり独りよがりに式を並べられても...
-VECMとは多変量誤差モデルのことで、VARに共和分分析が組み...
-一般的なお話として。~
使ったプログラムが合っているか(R なので,たいていは大丈...
もっとも,この上の(正準相関分析 cancorについての)質問の...
-ありがとうございます。さっそく試してみます。 -- [[Yo]] &...
-VECM (Vector Error Correction Model)には詳しくありません...
**カテゴリーごとのプロット [#x299ddcd]
>[[shiGe]] (2004-12-13 (月) 07:28:32)~
~
アメリカ50州のデータに関して,それぞれの州の2変量OLSフィ...
~
仕方ないので当てずっぽうで
plot(Y ~ X, data=hoge, for=STATE)
や,for=STATEの部分をby=STATEなどに代えてやっても当然のよ...
//
-pairs(USJudgeRatings) なんてどうでしょう?関数 pairs() ...
-Tips 集の関数の項 [[pairs用 回帰直線つきpanel]] がずばり...
-あ!そのような記事がありましたか! -- &new{2004-12-13 (...
終了行:
COLOR(green){SIZE(20){初心者のための R および RjpWiki に...
~
COLOR(red){SIZE(18){注意:このコーナーは重量オーバーで表...
~
#contents
**Callの中身の値を変数に取得したいです。 [#w2d0b4d3]
>[[sally]] (2005-04-26 (火) 11:57:46)~
~
こんにちは。国際化おめでとうございます。~
今、グラフプロットに直線回帰をしています。~
そこででてくるパラメータの中身をグラフに書く為に、値を取...
plot(logCy5, logCy3)
reg <-lm( logCy3 ~ logCy5)
abline(reg)
ここで、Rのコンソールで、reg リターンとすると、以下の値が...
Call:
lm(formula = logCy3 ~ logCy5)
Coefficients:
(Intercept) logCy5
-0.01426 0.22954
これを、どうにかして変数に取得し、グラフ上に書きたいので...
a <- XXX(reg) -変数に取得??
text(1000000, 2, labels = "a", pos=2, cex=1)
色々試してみましたが、、やり方がわかりません。~
ご教授の程よろしくお願いします。~
//
-いろいろやり方はありますが,例えばtext(max(logCy5),min(l...
-ありがとうございました!かけました。 -- [[sally]] &new{2...
**カテゴリー変数の入った非線形回帰はどうすればいいでしょ...
>[[伊藤]] (2005-04-17 (日) 15:59:59)~
~
お願いします。~
~
私は生物学の研究をしており、2種類の寄主植物上が発育期...
egg=a*(development)^2+b*(development)+c*host+d~
hostの効果を入れたモデルとないモデルの間でAICを比較しよう...
~
前置きが長くなりましたが本題です。非線形のあてはめを行...
nls(egg~a*(development)^2+b*(development)+c*host+d,start=...
として解析しようとしたら、
Error in numericDeriv(form[[3]], names(ind), env) :
Missing value or an Infinity produced when evalu...
というエラーが出て止まってしまいました。"host"(寄主の種...
~
nlmeも試みてみましたが、ランダム因子がないので不可なよ...
//
-詳しいことは文面だけからはわかりませんが、エラーメッセー...
-hosts 変数は本当に因子(内部表現で整数)になっていますか...
-データを示すのは差し障りがあるでしょうが,一部分とか,本...
-追加:「寄生植物の種類が二次関数のパラメータに依存」とい...
-読んでも読んでもよく分かりません。「寄主植物の種類が二次...
-エラーメッセージから見れば,host に NA とか Inf とか,...
-こういう風にやればできるんじゃないのという,見本を作りま...
set.seed(777)
development <- rnorm(10)
host <- sample(0:2, 10, replace=TRUE)
host1 <- as.integer(host==1)
host2 <- as.integer(host==2)
egg <- development^2+2*development+3*(host==1)+4*(host==...
data <- data.frame(development=development, host=host, e...
result <- nls(egg~a*(development)^2+b*(development)+
c1*host1+c2*host2+d,data,start=list(a=1,b=1,c1=1,c2=1,d=...
plot(egg, result$m$fitted())
summary(result)
# summary の結果
Formula: egg ~ a * (development)^2 + b * (development) +...
c2 * host2 + d
Parameters:
Estimate Std. Error t value Pr(>|t|)
a 1.016296 0.010428 97.462 2.16e-09 ***
b 1.975588 0.010862 181.876 9.53e-11 ***
c1 3.006908 0.011833 254.116 1.79e-11 ***
c2 4.001636 0.011679 342.622 4.02e-12 ***
d -0.002181 0.011612 -0.188 0.858
---
Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1...
Residual standard error: 0.009724 on 5 degrees of freedom
Correlation of Parameter Estimates:
a b c1 c2
b + 1
c1 , . 1
c2 . . , 1
d , . * +
attr(,"legend")
[1] 0 ` ' 0.3 `.' 0.6 `,' 0.8 `+' 0.9 `*' 0.95 `B' 1
#ref(nls.png)
ここしばらくは,細部にわたった解答をして,質問者をスポイ...
- 不快な思いをさせて大変申し訳ありませんでした。
お聞きしたかったことは、線形回帰における共分散分析のよ...
~データフレームは以下のような構造です。developmentは発育...
development egg host
17 73 A
18 33 A
19 41 A
20 28 A
17 23 A
17 11 A
18 51 A
19 56 A
19 10 A
18 25 B
20 25 B
19 18 B
18 9 B
19 25 B
21 1 B
19 21 B
行ったのは次のようなことです。
y<-nls(egg~a*development^2+b*development+c*host+d,
start=list(a=2,b=1,c=1,d=1),data)
皆さんがご指摘のとおり、hostのA, Bをそのままnlsに入れた...
-fec というのは egg?? カテゴリー変数をダミー変数に変換...
-すみません。直しました。 -- [[伊藤]] &new{2005-04-17 (日...
-変数をくくるかっこも不要。初期値 e もformulaにない。直し...
-nls 関数は "A" を実数倍することを迫られて、困ったと見え...
**データのソートについて (なんでも掲示板から移動) [#n1a...
>[[thorman]] (2005-04-16 (土) 21:51:53)~
~
最近Rで統計学を始めたのですが(以前はExcelを使っていま...
例えば、x<-c(1,3,4,4,6,5,2)とxにデータを入れた後、この...
まだ、Rについてよく分からないのですが、C言語でデータを...
//
-投稿場所が違っていますよ。必要な関数はすべて揃っています...
-探すのが面倒なときは,プログラムを書けばいいのです。あな...
x<-c(1,3,4,4,6,5,2)
sort <- function(x)
{
n <- length(x)
for (i in 1:(n-1)) {
min <- x[i]
pos <- i
for (j in (i+1):n) {
if (x[j] < min) {
min <- x[j]
pos <- j
}
}
if (i != j) {
x[pos] <- x[i]
x[i] <- min
}
}
return(x)
}
sort(x)
# 結果
[1] 1 2 3 4 4 5 6
このソートアルゴリズムは,優れたものではないですが,わか...
**クラスター解析の樹形図の作成について [#rd964b0a]
>[[ごろう]] (2005-04-14 (木) 13:06:21)~
~
クラスター解析で樹形図を作成しているのですが、項目の日本...
自分の作図方法を下に示します。 よろしくお願いします。~
使用OS Microsoft windows XP~
R Version 2.0.0
library(cluster)
A<-read.table("gorou.txt")
A1<-A[,-1]
A.euclid<-dist(A1, method="euclid")
Euclid.complete<-hclust(A.euclid, method="complete")
plclust(Euclid.complete, hang=-1)
//
-意味が不明です。まず日本語化Rを使って問題が解決しません...
-まだはじめたばかりで、質問の仕方がよく分かっていませんで...
**plotでのmain titleの指定 [#x3eafa57]
>[[beginner for R]] (2005-04-13 (水) 16:31:53)~
~
いくつのデータをバッチ処理によってプロット出力したいので...
どうぞよろしくお願いします。~
//
-今の状態(つまり main タイトルが書けない点は不満だが,ち...
ファイル名をどのように得ているのかとか,,~
でも,以下のプログラムを見れば検討はつきますか?見当が付...
file.name <- c("data1.dat", "data2.dat") # ファイル名の...
par(ask=T)
for (i in 1:2) {
fn <- file.name[i] # ファイル名
dt <- read.delim(fn) # データの入力
plot(dt, main=fn) # main タイトル付きの描画
}
ようするに,ファイル名を文字変数に代入し,read.delim の f...
**関数とlistコマンドに関する質問 [#wdd5d9f8]
>[[21℃]] (2005-04-07 (木) 14:56:40)~
~
hoge.test <- function(l="hoge") {
list("fuga"=c("PV.IV","IV"),l=c("Yes","No"))
}
hoge.test("fugafuga")
とすると、lが評価されずに~
$fuga
[1] "PV.IV" "IV"
$l
[1] "Yes" "No"
となります。$lが$fugafugaとなるようにするにはどうすればよ...
//
-やろうとしてらっしゃることの意義が分かりませんが,以下の...
結論は,以下の l=l の部分で,= の左右の l は意味が違うと...
> hoge.test <- function(l="hoge") {
+ list("fuga"=c("PV.IV","IV"),l=l)
+ }
> hoge.test("fugafuga")
$fuga
[1] "PV.IV" "IV"
$l
[1] "fugafuga"
ちゃんとしたプログラムの一部としては意味のあるパーツなん...
-もし質問の趣旨が、リスト返り値の成分名を引数で与えたいと...
> hoge2 <- function(name1="a", name2="b")
{ tmp <- list(rnorm(2), runif(2))
names(tmp) <- c(name1, name2)
tmp
}
> hoge2()
$a
[1] -1.627812797 -0.005876096
$b
[1] 0.8406733 0.6035658
> hoge2("A","B")
$A
[1] 1.111073 1.008163
$B
[1] 0.3292604 0.1637242
-ちゃんとしたプログラムのパーツのつもりです。解決しました...
> hoge.test <- function(l="hoge") {
+ x <- list("fuga"=c("PV.IV","IV"),l=c("Yes","No"))
+ names(x) <- c("fuga",l)
+ print(x)
+ }
> hoge.test("fugafuga")
$fuga
[1] "PV.IV" "IV"
$fugafuga
[1] "Yes" "No"
期待通りに、$lではなく$fugafugaになりました。c()の中ならl...
-$fugafuga になるようにということだったんですね。前のコメ...
- 成分名の一部をかえるだけで良いなら次のようにします。-- ...
> x <- list(a=runif(2), b=rnorm(2))
> x
$a
[1] 0.4666695 0.3686140
$b
[1] 0.1382112 -0.3268364
> names(x)[2] <- "c"
> x
$a
[1] 0.4666695 0.3686140
$c
[1] 0.1382112 -0.3268364
- list("fuga"=c("PV.IV","IV"),l=c("Yes","No")) というよう...
-試してみればわかるように、二重引用符の有無の問題ではない...
-付いていてもいなくても同じ結果になるが、二重引用符を付け...
文字定数として"付きで書くと思っていたから、変数名も書ける...
-好きなように文字列を生成してパースして実行も可能. eval(p...
-みなさんありがとうございました。よく理解でき、すっきりし...
**sprintf の指数表示について [#g21d28cd]
>[[初心者11242号]] (2005-04-05 (火) 14:48:32)~
~
sprint のフォーマットで e を指定したときに、R2.0.1 では e...
現在は
> sprintf("%8.5e", 0.0001)
[1] "1.00000e-004"
となっているのを "1.00000e-04" や "1.00000e-0004" とした...
2桁の場合は formatC を使い, 4桁の場合は
sprintf("%4.2e0", 0.0001) # おかしいですね。これでは期待...
などと無理やりフォーマットを変えていますが、もっと良い方...
OS は Windows XPで、R2.0.1 日本語版を使っています。~
// ●● 校正しておきますね。。。全く手が掛かるっちゃあり...
//
-ないものは作る。ただ,本気で作るほどの関数でもない。~
もう少しオプションを増やしてもいいかもしれないが,参考に...
ま,言ってみれば,「こそくな関数」です。~
exponent は指数部の桁数(符号も含む)
extend.sprintf <- function(x, exponent=4)
{
a <- unlist(strsplit(sprintf("%10.5e", x),"e"))
fmt <- sprintf("%%se%%0%ii", as.integer(exponent))
sprintf(fmt, a[1], as.integer(a[2]))
}
> x <- 0.00012345
> extend.sprintf(x, exponent=1)
[1] "1.23450e-4"
> extend.sprintf(x, exponent=2)
[1] "1.23450e-4"
> extend.sprintf(x, exponent=3)
[1] "1.23450e-04"
> extend.sprintf(x, exponent=4)
[1] "1.23450e-004"
> extend.sprintf(x, exponent=5)
[1] "1.23450e-0004"
> extend.sprintf(x, exponent=15)
[1] "1.23450e-00000000000004"
> x <- 123456789.0123
> extend.sprintf(x, exponent=4)
[1] "1.23457e0008"
あまり,有用な関数とも思えません。 -- [[青木繁伸]] &new{2...
-ありがとうございます。私にとっては有用です。
fmt <- sprintf("%%se%%+0%ii", as.integer(exponent))
としたら、希望通りになりました。スペルミス、失礼いたしま...
-おっしゃるとおり,%+04i で正の場合にも + の符号が付きま...
-おお!きれいに編集されて見やすくなっている... お手数をお...
**しつもん [#q8d604eb]
>[[初心者]] (2005-03-31 (木) 01:48:22)~
~
シュミレーションをしていたら以下のようなエラーが出たので...
Error: subscript out of bounds
ってなんでしょうか?~
//★★ 投稿法くらい調べてから投稿したら?タイトルが「しつ...
//
-どういうシュミレーションしたのか,きちんと追試可能なよう...
- 次の例を参考に考えてみて下さい。-- &new{2005-03-31 (木...
> y <- matrix(1:4, 2,2)
> y
[,1] [,2]
[1,] 1 3
[2,] 2 4
> y[3,2]
Error: subscript out of bounds
-回答は質問のレベルによるという見本ですね。~
"Error: subscript out of bounds" は,「添え字が範囲を超え...
2005-03-31 (木) 08:00:08 の回答例を解説すると,「行列は2...
このような初心者だと,英語のエラーメッセージが日本語化に...
-もしかして,始めて学ぶコンピュータ言語がRと言う幸せ(不幸?...
**関数群を重ねて描画する方法について [#y0182bba]
>[[yuta]] (2005-03-30 (水) 14:56:18)~
~
以下のように複数の回帰直線を得る関数を定義したあとで、
taus <- c(0.99,0.95,0.9,0.85,0.8,0.75)
MyRq <-c(rq(y~x, tau = taus,MyData))
散布図上にその複数の関数を描画しようと思い、以下のような...
plot(x,y)
new = t
abline(c(LineRq),col="blue")
//★★ 投稿の仕方くらい調べてから投稿しなさいな!
//
-自己レスで申し訳ありません。c(rq ・・・はおかしいですね...
-一寸準備が面倒ですが、その分確実で世話がない方法は matpl...
> x <- 1:100/50*pi
> y <- cbind(sin(x), cos(x)) # 同じx座標に対する二つの関...
> matplot(x,y, pch=".") # 二つの関数グラフを同時にかく
-見出しにつられてお手つきコメントをしましたが、散布図に回...
plot(x,y)
abline(lm(y~x))
-回答ありがとうございます。rqは分位点回帰の関数で、複数...
-「複数の分位点をtausとして代入しているので,MyRq?は複数の...
そうはおっしゃいますが,追試もできないのです。あなたが実...
「c(rq ・・・はおかしいですね。これを修正しても」~
というのも,どこをどのようになおしたのかさえわかりません。~
回答が欲しくないなら,質問する必要もないでしょう。 -- [[...
-申し訳ありません。背景説明を省略しすぎました。問題のスク...
taus <- c(0.99,0.95,0.9,0.85,0.8,0.75,0.50) #複数の分位...
Rq <-rq(stack.loss~Air.Flow, tau = taus,stackloss)
plot(Air.Flow,stack.loss)
NEW = TRUE
lines(Rq,col ="blue")
とするとできるかと思います。この状態で、Rqは7つの回帰式...
-「複数の回帰直線を含むオブジェクトになっているはずなので...
-プログラムや出力結果を含む質問を投稿するときは,実際にR...
上のものは全角空白で区切られて文章の中にあったものを,投...
投稿規程をよく読んでくださいね。~
NEW = TRUE というのは,なんでしょうね。~
で,ま,書かれたようにやってみたんですが,
> library(quantreg)
[1] "quantreg package loaded"
[1] "quantreg now includes the nlrq and nprq packages"
> Rq <-rq(stack.loss~Air.Flow, tau = taus,stackloss)
> plot(Air.Flow,stack.loss)
Error in plot(Air.Flow, stack.loss) : Object "Air.Flow" ...
> NEW = TRUE
> lines(Rq,col ="blue")
Error in plot.xy(xy.coords(x, y), type = type, col = col...
plot.new has not been called yet
ということになったんですが,どうですか? -- [[投稿ルール]...
-そもそも,Rq の前に attach(stackloss) が必要なのか。それ...
-ま,一番最後の abline のつもりの lines を以下のようにす...
> library(quantreg)
[1] "quantreg package loaded"
[1] "quantreg now includes the nlrq and nprq packages"
> attach(stackloss)
> taus <- c(0.99,0.95,0.9,0.85,0.8,0.75,0.50)
> Rq <-rq(stack.loss~Air.Flow, tau = taus, stackloss)
> plot(Air.Flow,stack.loss)
> for(i in 1:ncol(Rq$coefficients)) {
+ abline(Rq$coefficients[,i],col=i)
+ }
上の解は,エープリル・フールじゃないよ -- [[暇人32号]] &n...
-なぜ,yutaさんは,「不完全な質問」をしたのでしょうか(決...
-まず、皆さまのお手を煩わせてしまったことをお詫びします。...
~
**トップページから記事一件移動しました [#t4eecb91]
Rをインタプリタでなくバッチで実行すると何百倍も早くなっ...
-質問する場所が違いますよ.バッチとインタプリタの比較は多...
-バッチモードとコンパイルモード(これはまだ無い)を混同し...
----
**パッケージのUPLOADでエラーがでます。 [#j06538b4]
>[[超初心者]] (2005-03-28 (月) 13:27:38)~
~
trying URL `http://cran.md.tsukuba.ac.jp/bin/windows/con...
Error in download.file(url = paste(contriburl, "PACKAGES...
cannot open URL `http://cran.md.tsukuba.ac.jp/...
In addition: Warning message:
unable to resolve 'cran.md.tsukuba.ac.jp'.
package のupload をしようとすると上記エラーがでます。~
IE上に直接入力するとうまくいくのに、理由がわかりません。~
~
かなりの初心者ですが、だれかお教え願いますでしょうか??...
環境:win2k~
//
-エラーメッセージも重要ですが、ヒントを得るには、どういう...
-upload ではなくて,download ですね。。。 -- &new{2005-0...
-proxy が必要になる環境からなら,[[CRAN国内ミラーの使い方...
**エラーが取れません。。。 [#u8ec8994]
>[[初心者]] (2005-03-27 (日) 16:16:20)~
~
ファイナンスのシュミレーションをするのにRを使ってやってみ...
Error in if ((800/K[i, j]) * Dil * (S[i, j] - K[i, j]) >...
missing value where TRUE/FALSE needed
と言うエラーが出てしまって困っています。~
該当箇所は
if( (800/K[i,j]) * Dil *(S[i,j] - K[i,j]) > C[i,j...
C[i,j] <- (800/K[i,j]) * Dil *(S[i,j] - K[i,j])
}
と言うもので、K, Dil, S,C などのオブジェクトは全て前に定...
この部分のどこかにまずいところがあるでしょうか?~
教えてください、よろしくお願いします。~
~
windowsユーザーです。~
//
-エラーが起きた箇所での (800/K[i,j]) * Dil *(S[i,j] - K[i...
> if(NA > 3) cat("A")
Error in if (NA > 3) cat("A") : missing value where TRUE...
> if(NaN > 3) cat("A")
Error in if (NaN > 3) cat("A") : missing value where TRU...
-早速の返事ありがとうございます。 -- [[初心者]] &new{2005...
-上のご指摘の件ですが、これはつまり if( ) の中身が変な値...
-数値として解釈できない値がどこかで生じたということでしょ...
**R for Mac mini [#l7a86be1]
>future user of Mac mini (2005-03-16 (水) 19:28:26)~
~
R Mac 版はMac mini (メモリー256MB/HDD 40GB)でも、問題な...
//
-試して,ぜひその結果を報告してください。というか,まだMa...
-私も知りたいです。どうなったのかなど、是非、教えてくださ...
-Mac mini を持っている人に,R をインストールさせてもらい...
-さっそく、ためしてみようっと -- &new{2005-03-17 (木) 1...
-動作情報ありがとうございます。もしもよければ動作Macの...
-特に大量のメモリは不要でしょう。多い方が,いろいろなソフ...
**線分の色分け [#y6e86c5a]
>[[さち]] (2005-03-16 (水) 16:14:04)~
~
またお世話になります。以前”射影した回帰曲線の色の付け方”...
前回の質問から時間が経ってしまいましたので、新しく質問を...
~
青木さんのご指導をもとに、フォーミュラ y= f(x) の逆関数 x...
フォーミュラ y= f(x) の逆関数 :
a=50;b=20;c=0.1
g<-function(d) (-(1/c)*log( (a-y)/(b*y) ))
x2<-c(g(y))
このようにして、逆関数 x=g(y) を求めて、下記のようにし...
X<-matrix(0,20:3)
X[,1]<-x<-1:20
X[,2]<-x2
<-matrix(0,20:1)
for(i in 2:20) {
lines(c(X[(i-1),1],X[i,2]), c(Y[i,1],Y[i,1]),
col = ifelse( predict.c>= 15.1, "blue",
ifelse( predict.c>= 10.1, "green",...
}
困った事に、得られた線分が、単色(”赤”)になってしまいま...
どうしたら良いのでしょうか。~
ご指導をお願いします。~
//
-初めから書き直します。~
非線形回帰分析を行って得られた、回帰曲線 y=f(x) の各点か...
非線形回帰分析:
> f <-function(x) 20/(1+50*exp(-0.8*x))
> x<-1:20
> y<-f(jitter(x))
> (result <-nls(y~a/(1+b*exp(-c*x)), start=c(a=50,b=20,c...
Nonlinear regression model
model: y ~ a/(1 + b * exp(-c * x))
data: parent.frame()
a b c
20.039274 51.908061 0.788543
residual sum-of-squares: 0.3331449
> predict.c<-predict(result)
> plot(x,y,ann=F,xlim=c(0,20),ylim=c(0,20))
> par(new=T)
> plot(predict.c,type="l",xlim=c(0,20),ylim=c(0,20))
ここまでは、前回と同じで、非線形回帰分析をさせた結果を表...
逆関数 x=g(y) を求めるために、パラメータ、a,b,c を f(x) ...
> a=50;b=20;c=0.1
逆関数 g(y)を関数を以下のように求めました。
> g<-function(y) (-(1/c)*log( (a-y)/(b*y) ))
グラフを表示させる際、もっと複雑な場合に備えて、 for を使...
> x2<-c(g(y))
> X<-matrix(0,20:3)
> X[,1]<-x
> X[,2]<-x2
> Y<-matrix(0,20:1)
先に求めた predict.c に従って線分に色をつけようと考えて...
> for(i in 2:20) {lines(c(X[(i-1),1],X[i,2]), c(Y[i,1],Y...
col = ifelse( predict.c>= 15.1, ...
ifelse( predict.c>...
色分けさせるように記述したつもりでしたが、結果は、線分が...
どのようにすれば、問題が解決できるようになるでしょうか。...
-X <-matrix(0,20:3)は X<-matrix(0,20,3)だろうとか。それは...
-どうにかよめるようになりました。。。お騒がせを致しました...
-最後の for ループの lines 文の col パラメータがちゃんと...
col <- ifelse( predict.c>= 15.1, "blue", ifelse( predict...
for(i in 2:20) {lines(c(X[(i-1),1],X[i,2]), c(Y[i,1],Y[i...
同時刻に修正しているので,編集の衝突が起きていますね(^_^;...
-青木さん!!有り難うございます!!やっと、それらしくなっ...
-a=20.039274 b=51.908061 c=0.788543 でないと変? -- &n...
-重複して見苦しいところを削除しました。<(_ _)> -- [[さち]...
-もしや。。。と思って、ご指摘のパラメータで確かめてみまし...
> a=20.039274; b=51.908061 ; c=0.788543
> g<-function(y) (-(1/c)*log( (a-y)/(b*y) ))
> x2<-c(g(y))
> x2<-c(g(y))
> X<-matrix(0,20,3)
> X[,1]<-x
> X[,2]<-x2
> Y<-matrix(0,20,1)
> col <- ifelse( predict.c>= 15.1, "blue", ifelse( predi...
> for(i in 2:20) {lines(c(X[(i-1),1],X[i,2]), c(Y[i,1],...
確かにその通りでした。 result の結果を使えば良かったので...
有り難うございました。-- [[さち]] &new{2005-03-16 (水) 17...
-念のため。newpar <- result$m$getPar(); a=newpar[1]; b=n...
-さからったのではなく,そのほかの所を直しただけでは(^_^;)...
-そうだったんですか??てっきり、自分だと思って。そのまま...
-使い方と newpar の意味が今ひとつよく分かりませんが、損は...
> newpar <- result$m$getPar(); a=newpar[1]; b=newpar[2];...
をします。 頑張って勉強します。-- [[さち]] &new{2005-03-1...
-Q&Aにヒントをみつけました。 -- [[さち]] &new{2005-03-17...
-str(result) で nls オブジェクトの構造を見て下さい。リス...
-なるほど。。。そういうことだったんですね。確かに、str(re...
**Warning message [#s8b18f27]
>[[初心者]] (2005-03-16 (水) 15:17:13)~
~
Excelの表をread.csvで読み込もうとしたら以下のメッセージが...
incomplete final line found by readTableHeader on `Data.c...
//
-Excel で書き出したファイルを,エディタか何かでいじりませ...
例えば,ファイルの最後の行の行末が 0x0a でない場合に,そ...
% hexdump -C test.csv # このファイルは,数字6で終わって...
00000000 31 2c 32 2c 33 0a 34 2c 35 2c 36 ...
0000000b
% hexdump -C test2.csv # 普通のファイルは,改行コードで...
00000000 31 2c 32 2c 33 0a 34 2c 35 2c 36 0a ...
0000000c
対処法は簡単。エディタで読み込んで,ファイルの最後の行末...
-行ったのはExcelに入力してCSVファイルで保存しただけなので...
-ですから,そう言う場合は,Excel のワークシートファイルと...
-青木先生、説明が足りずにご迷惑をおかけしました。実は他の...
-その,エラーを生じた,Excel 2004が生成した CSV ファイル...
-Excel 2004 を持っている人に頼んで送ってもらった CSV ファ...
read.csv の引数との関係なんかがあって,一筋縄ではいかない...
-[[NeoOffice/J:http://www.planamesa.com/neojava/ja/index....
[[NeoOffice/J:http://www.planamesa.com/neojava/ja/index.p...
> [[NeoOffice/J:http://www.planamesa.com/neojava/ja/inde...
GNU一般公衆利用許諾契約書(GPL)の下で無料のオープンソ...
<というものです。 -- [[青木繁伸]] &new{2005-03-19 (土) 10...
**軸を指定したい [#pc9533ec]
>[[nama]] (2005-03-16 (水) 12:21:56)~
~
すみません。教えていただきたい事があります。~
散布図X軸を打点があるところだけにしたいのですがどうすれ...
のでしょうか? xaxt="n" で消去することは出来たのですが...
3点のみ表示させたいのです。よろしくお願いいたします。
*
*
*
---+----+----+----+----+----+----
40 60 90
//
-すみません、変な「*」が入ってしまいました。要は3つの打...
-本当にもうしわけありません。axisで出来るって教えてもらえ...
-ここでは「編集」ボタンを押せば,汚してしまったものを自分...
-あと、どのように解決したかも書いていただけたら幸いです。...
x <- c(40, 60, 90)
y <- c(10, 4, 19)
plot(x, y, xaxt="n")
axis(side=1, at=x)
-「散布図X軸を打点があるところだけにしたい」というのは、...
-みなさんすみませんでした。掲示板の使い方もよくわからない...
**変化率の計算 [#cf6ca79e]
>[[おさる]] (2005-03-14 (月) 02:25:43)~
~
お世話になります.~
~
変化率の計算方法で,うまいものは無いでしょうか.~
~
変化率2= (x[2]-x[1])/x[1]~
変化率3= (x[3]-x[2])/x[2]~
~
といった感じの計算を,データフレームの変数xの各行に対して...
例えば,次のような株価のデータがあるとき,
x y z
905 728 589
950 773 597
930 737 580
960 770 606
1080 845 688
1030 808 669
965 733 687
992 759 691
956 745 702
これら企業の株価それぞれについて,上記のような変化率を求...
//
- m<-data.frame(x=runif(10),y=runif(10),z=runif(10));atta...
-爽快感が得られるかどうか,以下のようなやり方もあるでしょ...
d <- as.matrix(read.table("temp2.data", header=TRUE))
d2 <- data.frame(apply(d, 2, function(x) {n <- length(x)...
d2
x y z
2 0.04972376 0.06181319 0.013582343
3 -0.02105263 -0.04657180 -0.028475712
4 0.03225806 0.04477612 0.044827586
5 0.12500000 0.09740260 0.135313531
6 -0.04629630 -0.04378698 -0.027616279
7 -0.06310680 -0.09282178 0.026905830
8 0.02797927 0.03547067 0.005822416
9 -0.03629032 -0.01844532 0.015918958
-- [[青木繁伸]] &new{2005-03-14 (月) 10:35:45};
-素晴らしい!!!こういう一行野郎が欲しかったのです.すっ...
-みっつ上の x[1:length(x)-1] は、x[1:(length(x)-1)] 良く...
**Tukeyで比率の統計をしたいのです [#s6caaeb4]
>[[ピンバッジ]] (2005-03-09 (水) 18:02:31)~
~
全く何も分からないので何を書いていいのかも分からないので...
本当にわからないことばかりですので、お手数ですができる限...
//
-1. R の Tukey とは,具体的にはどの関数ですか~
2. 異なる餌とは,何種類ですか~
3. 昆虫は,それぞれの餌で何匹ずつ飼育したのですか~
4. 一定期間後に,生き残っている昆虫の割合を生存率としたの...
5. 生存率(割合)のデータの平均値に差があるか検定したので...
6. 「比率を比べる場合はカイ二乗検定後」というからには,平...
7. 「一連の操作をRでどのようにやるかわかりません」という...
8. ひょっとして,あなたのデータは,
当初昆虫匹数 生き残った昆虫匹数 生存率
餌A a1 a2 a2/a1
餌B b1 b2 b2/b1
餌C c1 c2 c2/c1
みたいなものなんですか?~
分からないことだらけで,答えることもできません(^_^;) -- [...
-御丁寧な質問をありがとうございます。~
質問に関してですが(答えがかみ合ってなかったら申し訳あり...
1. どの関数?という質問に対して当てはまらないかもしれませ...
2. 餌の種類は7種です~
3. 6種類の餌は30匹飼育し、1種類の餌は10匹を飼育しました。~
4. はい。何日後に何匹生き残っているかをしらべ、それを生存...
5. はい。餌の違いによる生存率の違いに差があるかどうかをし...
6. はい。たぶん平均値の差の検定ではありません~
7. 角変換の公式も分かりません。データーをどんな形(比率に...
8. はい。ほぼそれと同じです。~
御迷惑お掛けしますがどうぞよろしくお願いします。 -- [[ピ...
-8. の質疑応答からいくと,chisq.test( ) では。それに引き...
それにしても,TukeyHSD 関数を,どのように使ったんですか。...
-ありがとうございます。 よく分かっていなかったので使い方...
ありがとうございました。やり直します。-- [[ピンバッジ]] &...
**ESS-5.2.5で補完機能が効かない [#z1d172da]
>[[ぶー]] (2005-03-08 (火) 16:28:53)~
~
こちらに書き込むのはまずいでしょうか?~
Rを使うのにESSから使用しているんですが、ESS-5.2.5だと、s...
elisp を見ていないのでなんなんですが、、、同じ現象で回避...
あ、LInux 2.4.7 で使用しています。~
//
-すみません。Rは2.0.1でLinuxは2.4.27でした。 -- [[ぶー]]...
-わたしの所は大丈夫でした.Vine3.1,Rは自家製,カーネルはデ...
-そうですか、、、私の設定がまずかったかな?時間をみて再チ...
**重回帰式の変数選択の方法 [#p16c59f7]
>[[石川誠]] (2005-03-06 (日) 20:43:09)~
~
お世話になります。~
重回帰式を作成するとき、有効な変数を選択する方法を教えて...
総当り法はあったのですが、変数が多いと時間がかかってしま...
- いろいろあると思いますが,関数 step() などはどうでしょ...
summary(lm1 <- lm(Fertility ~ ., data = swiss))
slm1 <- step(lm1)
summary(slm1)
slm1$anova
//
-そう当たりで法で時間がかかっても結果が出るなら step 法よ...
-総当たり法にしろ,ステップワイズ法にしろ,それらを使って...
-非常に勉強になります!コンピュータに自動で変数選択をさせ...
-ありがとうございます。薬物設計(ドラッグデザインの探索)...
**射影した回帰曲線の色の付け方 [#jb54a256]
>[[さち]] (2005-03-02 (水) 15:37:36)~
~
Rの初心者です。~
方々探したのですが、こんなことはあまりされていないのか、...
> f <-function(x) 20/(1+50*exp(-0.8*x))
> x<-1:20
> y<-f(jitter(x))
> (result <-nls(y~a/(1+b*exp(-c*x)), start=c(a=50,b=20,c...
Nonlinear regression model
model: y ~ a/(1 + b * exp(-c * x))
data: parent.frame()
a b c
20.039274 51.908061 0.788543
residual sum-of-squares: 0.3331449
> predict.c<-predict(result)
> plot(x,y,ann=F,xlim=c(0,20),ylim=c(0,20))
> par(new=T)
> plot(predict.c,type="l",xlim=c(0,20),ylim=c(0,20))
この回帰曲線をx軸に射影(投影)したものに、yの値に従って...
例えば、
y=0.0 ~10.0 赤
y=10.1~15.0 黄色
y=15.1~20.0 青
のように。collor.paretsにあるheat.colorsのようなもので色...
どうかよろしくお願いします。~
//★★投稿書式くらい,確認してから投稿しなさいね
//
-「x軸に射影(投影)したものに、yの値に従って、色を付ける...
points(predict.c,col=ifelse(predict.c>=15.1,"blue",ifels...
ということなんでしょうか??(黄色というのは見にくいので...
本来,lines も points も,引数 col は「ベクトルであっても...
ま,考えてみれば,n番目の点が 14 で n+1 番目の点が 16 な...
どうしても色分けをやりたければ,各点を結ぶ線分と上記色分...
色鉛筆で,グラフ用紙にグラフを描くときのことを考えればよ...
全て同じだが,コンピュータに何かやらせようとしたとき,も...
-レスが遅れてすみませんでした。丁寧なご指導をありがとうご...
各点からx軸に下ろした垂線とx軸との交点を繋いだ曲線(この...
色付けの条件としては、前にも書きました通り、yの値に対応し...
y=0.0 ~10.0 赤
y=10.1~15.0 黄色
y=15.1~20.0 青
こうすると、色分けされたバーコードのようになるかも、、、...
各点を結ぶ線分と上記色分けの水平線との交点を計算して,そ...
points(predict.c, col = ifelse(predict.c >= 15.1, "blue",
ifelse(predict.c >= 10.1, "...
これは、2次元のグラフの記されている各点を色分けしていま...
ありがとうございました。 -- [[さち]] &new{2005-03-03 (木)...
-adhocですがfilled.contourで代用されたらいかがですか?
filled.contour(1:length(predict.c),1:length(predict.c),
matrix(predict.c,nrow=length(predict.c),ncol=length(pr...
とか. -- [[takahashi]] &new{2005-03-03 (木) 12:37:08};
-takahashi さんありがとうございます。早速ためしてみました...
数値軸上に、少し太めの線として描かせる事しか頭になかった...
-フォーミュラ y= f(x) の逆関数 x=g(y) によって,x1=g(a), ...
-レスが遅れてすみません。青木さん、有難うございます。目か...
早速やってみます!! -- [[さち]] &new{2005-03-04 (金) 16:06...
**多項式による回帰分析 [#z83b850b]
>[[highvalley]] (2005-03-01 (火) 19:05:38)~
~
Rを勉強中のhighvalleyと申します。~
現在多項式による回帰分析(最小2乗法)を行いたいのですが...
私はlm()を使って以下のように行っています。例えば目的変数...
~
result <- lm( y ~ 1+x+I(x^2) )~
~
これで目的を達する事は出来ているのですが、この方法だと次...
//
-nls()が使えます。[[このpdfファイル:http://phi.med.gunma-...
-早速のお返事どうもありがとうございます。資料も読ませて頂...
-「次数が高くなると大変」ということですが,formula を書く...
どうしても lm を使う(書く)手間を省くことだけが目的と言...
takousiki <- function(x, y, k) # パラメータは,独立変数...
{
n <- length(x)
z <- matrix(x, n, k)
for (i in 2:k) {
z[,i] <- x^i
}
lm(y ~ z)
}
ヒデー,ラッパーだ -- [[青木繁伸]] &new{2005-03-01 (火) 2...
-どうもありがとうございます。おっしゃる通り、業務全体から...
//★★重複投稿したのに気づいたら,自分で消してね(気づいて...
//-どうもありがとうございます。おっしゃる通り、業務全体か...
-まず R site search (トップページ参照)を使いましょう(日...
polyreg {mda} R Documentation
Polynomial Regression
Description
Simple minded polynomial regression.
Usage polyreg(x, y, w, degree = 1, monomial = FALSE, ...)
Arguments
x predictor matrix.
y response matrix.
w optional (positive) weights.
degree total degree of polynomial basis (default is 1).
monomial
If TRUE a monomial basis is used (no cross terms). Def...
... currently not used.
Value
A polynomial regression fit, containing the essential ...
for its predict method.
-どうもありがとうございます! R site searchからpolynomial...
**関数の追加 [#b3e15d07]
>[[しま]] (2005-02-20 (日) 15:29:58)~
~
新しい関数を追加したいのですが,どのようにすればいいので...
初歩的な質問で申し訳ないです..~
//
-初等以前の問題のような気がします。関連文献を少しは読んで...
-簡単なことほど難しいし,何通りも実現方法があったり,少し...
[初歩的な質問で申し訳ない]と思うなら,質問しない方がよい...
-話題の新刊 The R Tips を買って読めば大丈夫. わたしも初心...
-初心者の答えです。単純には、関数名<-function(引数){関数...
-うむ。それは,関数の定義法では?~
そもそも,「しま」さんが書いた「新しい関数を追加したい」...
私は,「関数を追加して,いつでも使えるようにしたい」と読...
日本語の初心者じゃないのだろうから,もう少しちゃんと説明...
というか,私の読解力が低いということで,私の日本語能力に...
-参考になるかわかりませんが, RFC1855を読んでみましょう. ...
-蛇足ながら,google などで RFC1855 を検索すると色々出てき...
**levelplotの背景色の変更 [#s2505fa8]
>[[ひょうひょう]] (2005-02-10 (木) 18:48:00)~
~
グラフィックス参考実例集:ラティスグラフィックスで以下の...
「lattice 関数は lightgrey の背景色等幾つかの固有の既定値...
par(bg="white")~
としても変更できませんでした。よろしくお願いします。~
//
- [[学生]] (2005-02-10 (木) 20:32:34)
library(lattice)
trellis.par.get()
trellis.par.set(background = list(col="white"))
show.settings()
?trellis.par.get
質問の基本的な姿勢が,以下のサイトに書かれてあります.~
参考:http://myu.daa.jp/osiete/index.html
// ★ 書かれているないようについては申し分ありません
// ★ どうせなら,記事の書き方については ヘルプ を参照のこと
-Q&A, 初心者用Q&A コーナーへの質問テンプレートがあるとい...
// ★ 何を用意しようとも,それを利用しないのが無法者(初心...
// ★ その証拠となるのが,善意のちゃんとした意志を持った投...
// ★ このようなコメントに気づく人も少ないというのが,その...
-ご回答ありがとうございました。~
ぶっきらぼうな質問に答えていただいて、恐縮です。解決しま...
-トップページにある R site search でキーワード lattice ba...
-グラフィックス参考実例集の解説は間違いですね(もしくは仕...
-おっしゃる通り、R site searchでまったく同じ質問を発見し...
**Error cannot allocate ..というエラーがいつも出てしまい...
>[[ちょろちゃん(;_;)]] (2005-02-04 (金) 09:34:32)~
~
みなさま始めまして、R超初心者のちょろと申します。~
初心者のため、ご相談内容にも説明不足の点もあるかと思いま...
その際はご指摘ください。~
~
□相談内容~
~
Windowsで動くRスクリプトがLinux上で稼動すると~
エラーが出てしまう。~
~
□Rのエラー内容~
Error: cannot allocate vector of size 16478 Kb~
Execution halted~
~
vector of size ○○○。。。というサイズは~
32MBの場合もありますし、上記のように16MBの場合もあります~
~
□実行環境~
(スクリプトが動く環境)~
OS:Windows 2000~
Memory:512MB~
R:1.9.1~
(スクリプトが動かない環境)~
OS:Linux Redhat 7~
Memory:2GB~
R:1.9.0~
~
WindowsとLinuxでは、Rを動かす際のメモリーのとり方など~
違いがあるのでしょうか。~
このようなエラーが出てしまうのはRのスクリプトの書き方が~
悪い以外のなにものでもないような気がいたしますが、~
何かお気づきの点等ございましたら、アドバイスいただければ...
どうぞよろしくお願いいたします。~
//
-肝心の作業内容 script が無いと判断困難ですね。普通は超巨...
-アドバイス有難うございます。確かにScriptを提示せず質問す...
-R をコマンドラインから起動するんでしょうね。R --help と...
--max-vsize=N Set vector heap max to N bytes;
--max-nsize=N Set max number of cons cells to N
どうでしょうね。vsize か nsize か,それともどっちも関係な...
-現在の R ではよほどクリティカルな作業でない限りメモリー...
-.RDataに巨大なオブジェクトが残っているとか(んでもって毎...
- rm(list=ls(all=TRUE)) で隠しオブジェクトを含むすべての...
-みなさま、色々とあたたかいアドバイスありがとうございます...
-本件進展がありましたので、ご連絡致します。後々気が付いた...
-「PerlからRCMDにてRのプログラムを呼び出し実行した時に生...
**Rで分割表の対数線形モデル [#j516ba78]
>[[bob3]] (2005-01-31 (月) 00:03:57)~
~
bob3と申します。~
~
Rを使った対数線形モデル(log-linear models)による分割...
ところが2点ほど不明な部分があり、ご相談にあがりました。~
ご相談したいのは以下の2点です。~
~
1)ANOVAコーディングよる対数線形モデルのやり方~
2)関数loglinによる「特定の単一の変数の主効果と誤差の...
~
例題として http://www.sci.kagoshima-u.ac.jp/~ebsa/matsu...
~
まず、Rによる対数線形モデルの手順を調べ、以下のように...
~
# 既存の分割表を入力
rocket <- array(data=c(5,7,8,9,3,21,7,9,6), dim=c(3,3))
dimnames(rocket) <- list(c("A1","A2","A3"),c("B1","B2","...
# モデル選択
model0 <- loglin(rocket, list(c(1, 2)), param=TRUE)
model1 <- loglin(rocket, list(1, 2), param=TRUE)
model0
model1
p0 <- 1-pchisq(model0$lrt, model0$df)
p1 <- 1-pchisq(model1$lrt, model1$df)
p0
p1
AIC0 <- model0$pearson-2*model0$df
AIC1 <- model1$pearson-2*model1$df
AIC0
AIC1
# ここでは飽和モデルを採用し分析してみる
rocket.df <- as.data.frame.table(rocket)
colnames(rocket.df) <- c("航続距離","横方向のずれ","度数")
glm0 <- glm(度数 ~ 航続距離 * 横方向のずれ, data = rocke...
anova(glm0, test = "F")
summary(glm0)
~
ところが、これで出力されるのはダミーコーディングによる...
~
ANOVAコーディングによる推定値を得るにはどのようにすれば...
~
また、関数loglinでモデルを指定する際、[AB]と[A][B]とい...
~
なお、環境は~
> version
_
platform i386-pc-mingw32
arch i386
os mingw32
system i386, mingw32
status
major 2
minor 0.1
year 2004
month 11
day 15
language R
と、なっております。~
~
よろしくお願いいたします。~
//
-模範的な質問ですね。当てはめ結果の anova 関数によるまと...
glm0 <- glm(度数 ~ 航続距離, data = rocket.df, family = ...
glm0 <- glm(度数 ~ 横方向のずれ, data = rocket.df, famil...
glm0 <- glm(度数 ~ 1, data = rocket.df, family = poisson)
- ご返答、ありがとうございます。
~
~ lmやglmでのモデル式の指定方法を教えていただき、ありが...
~ (やはりloglinではこれらの式は指定できないのだろうか……)
~
~ 私がANOVAコーディングで知りたいのは、各変数の全カテゴ...
~
~ よろしくお願いします -- [[bob3]] &new{2005-02-01 (火) ...
-トップページの R site search を使って、例えばキーワード ...
-前の方も指摘されていますが、loglin または loglm でパラメ...
loglin(rocket,margin=list(c(1,2),c(1),c(2)),param=TRUE)
loglm(freq ~ kyori * zure, data = rocket.df, family = ...
// ★★ こうやるのよ!
-- [[なかの]] &new{2005-02-04 (金) 22:11:04};
//
-返答を下さった皆様、ありがとうございます。勉強になります。
~実は、私がANOVAコーディングで得たいと思っているのは「標...
~これは重回帰分析における標準化偏回帰係数に相当するもので...
~標準化係数(標準効果) = 推定値(効果) ÷ 標準偏差(標...
~なかなか難しいものですね。
-- [[bob3]] &new{2005-02-05 (土) 02:40:35};
-純粋に質問です。bob3 さん、loglinear における「標準化係...
- 標準化係数(標準効果)それぞれのカテゴリとその交互作用...
定をしたいと思っています。
~ ……ん、待てよ。AICでモデルの選択をするんだったら、その...
リごとに検定をするのはおかしいのかな?
~ 重回帰分析でAICを使って変数選択するときは、有意でない...
採用することもありますね。
~ ということで、ちょっと分からなくなってきました。すみま...
~ 参考にしている文献ですが、これも実は私のほうが教えてい...
で、「質的情報の多変量解析」http://www.sci.kagoshima-u.ac...
~ Rでの対数線型モデルについてということでは、主に以下の...
~ http://www.ci.tuwien.ac.at/~zeileis/teaching/Biostatist...
~ http://www.stat.ohio-state.edu/~tjs/865/handout-3.pdf -...
-御指摘の「標準化係数」というのはパラメータ推定値のz得点...
**Rでメタアナリシス [#y120ea9f]
>[[竹内]] (2005-01-30 (日) 09:06:30)~
~
Rでメタアナリシスを行いたいのですが、どなたか参考になるも...
//
-探して出てきたけど,これというものではなかったもののリス...
-丹後俊郎先生著の,メタアナリシス入門(朝倉書店)はいかが...
-[[R(フリーの統計ソフト)によるメタアナリシス手順:http://w...
[[Microsoft Excel spread sheet for Meta-analysis:http://w...
[[ここからはじめるメタ・アナリシス?Excelを使って簡単...
-"R(フリーの統計ソフト)によるメタアナリシス手順”をホーム...
**n×nマトリックス状にplotを配列する方法 [#q5c5cba6]
>[[kejuyan]] (2005-01-26 (水) 17:28:06)~
// ★★ 元発言者から何の反応もないですが,もう十分だと思い...
昨日は、大変有益なアドバイスを頂きました。ありがとうござ...
今日は、例えば、2列のデータX00Y00からX19Y19までのデータを...
2×2のマトリックスであれば,以下のようにも書くものです。
par(mfrow=c(2,2))
par(mar=c(0,0,0,0))
plot(y~x,X00Y00)
plot(y~x,X00Y01)
plot(y~x,X01Y00)
plot(y~x,X01Y01)
昨日教えていただいたプログラムをアレンジして,以下のプロ...
par(mfrow=c(20,20))
par(mar = c(0, 0, 0, 0))
for (i in 0:19) {
if (i < 10) I <- paste("0",i,sep="") else I <- as.c...
for (j in 0:19) {
if (j < 10) J <- paste("0",j,sep="") else J <- a...
oname <- paste(“X”,I,”Y”,J, sep="")
y <- paste(“ Y_”,oname)
x <- paste(“X_”,oname)
plot(y~x, oname, col="red",lty=1, type="l",axes=FA...
}
}
しかし,
Error in eval(expr, envir, enclos) : invalid second argu...
というエラーが出てきました。~
そこで、xの中身を調べてみたら,以下のように ”(二重引用符...
> x
[1] "I_ X00Y00"
なので、この " を無くしてやれば動作するのではと考えている...
" の取り方、またはより良い方法をご存知の方、御教授よろし...
-一つの解答案を示しておきましょう。でもそれを示すだけでは...
par(mfrow=c(2,2), mar=c(0,0,0,0))
for (i in 0:1) {
for (j in 0:1) {
plot( read.table(sprintf("X%02iY%02i.txt", i, j)))
}
}
読み込んだデータフレームの列名を変えたりしていたのは,plo...
結局,これだけならば,データフレームを全部読み込んで保持...
たいていの場合,読み込んだデータフレームを全部保存してお...
-(参考まで)paste もしくは sprintf 関数は「文字列」を作...
**複数ファイルの一括読み込み [#z3529c14]
>[[kejuyan]] (2005-01-25 (火) 15:09:18)~
~
// ★★ どっちもどっちがだ,書き込みのルールや書き込み方く...
座標(x,y)で得られたn行2列データファイルX00Y00.csv〜X50Y50...
~
1つのファイルであれば以下のようにX_<ファイル名>,Y_<ファイ...
これを多数のファイルで一括読み込みしたい場合はどのように...
> X00Y00 <- read.csv("C:/X00Y00.csv")
> X00Y00
X Y
1 1 2
2 2 4
3 3 6
4 4 8
5 5 10
6 6 12
7 7 14
8 8 16
9 9 18
10 10 20
> colnames(X00Y00) <- c("X_X00Y00","I_X00Y00")
> X00Y00
X_X00Y00 I_X00Y00
1 1 2
2 2 4
3 3 6
4 4 8
5 5 10
6 6 12
7 7 14
8 8 16
9 9 18
10 10 20
forなどを使えば出来そうかとは思うのですが、プログラム経験...
どなたか御教授よろしくお願いします。~
また、参考URL or 文献なども教えていただけるとうれしいです...
//
//★★ リンク間違ってましたので修正しておきました
-まずチップス集は最低みましょうね。R に[[ファイルを読み込...
-そんなにたくさんの(csv)ファイルを用意できませんので実...
// ★★ ここにはもともと空行があったのだけど,空行があると...
// ★★ 書き込みの結果を見ればおかしいのが分かるのだから,...
> for (i in 0:1) {
if (i < 10) I <- paste("0",i,sep="") else I <- as.c...
for (j in 0:1) {
if (j < 10) J <- paste("0",j,sep="") else J <- a...
oname <- paste("X",I,"Y",J, sep="") # 文字列 "X00...
fname <- paste(oname, ".txt", sep="") # ファイル...
x <- read.table(fname) # ファイルを読み込み
colnames(x) <- c(paste("X_",oname,sep=""), paste(...
assign(oname, x) # 文字列 oname を名前に持ち、中...
}
}
> X00Y00
X_X00Y00 I_X00Y00
1 1 2
2 2 4
3 3 6
4 4 8
5 5 10
6 6 12
7 7 14
8 8 16
9 9 18
10 10 20
> X01Y01
X_X01Y01 I_X01Y01
1 1 2
2 2 4
3 3 6
4 4 8
5 5 10
6 6 12
7 7 14
8 8 16
9 9 18
10 10 20
===== 別の記述方法
for (i in 0:1) {
for (j in 0:1) {
oname <- sprintf("X%02iY%02i", i, j) # 文字列 "X00Y0...
x <- read.table(sprintf("%s.txt", oname)) # ファイル...
colnames(x) <- c(sprintf("X_%s",oname), sprintf("I_%...
assign(oname, x) # 文字列 oname を名前に持ち、中身が...
}
}
//-返信を下さった方々!ありがとうございました。 -- [[keju...
//★★ 発言の重複もあるし,改行できてないし。
//★★ 直しておくけど,気づくこともないのだろうな。
-返信を下さった方々!ありがとうございました。~
まず最初にアドバイス通り、ファイル読み込みTipを再読し、R...
filenames <- list.files(path = ".", pattern = NULL, all....
full.names = FALSE, recu...
listoftables <- lapply(filenames, read.csv)
names(listoftables) <- filenames
listoftables
という記述をすれば、listが作製できるので、後はlistをうま...
ここでしばらく悩んでいたところ、プログラムを書き込んで頂...
そしたら、、、私の欲しかったプログラムはこれだ!!という...
返信を下さった方々本当にありがとうございました。 -- [[kej...
-(老婆心ながら) 51x51 個のオブジェクトを作っても後が大変...
listoftables[[12, 34]]
等と添字操作する方が簡便なのでは。リスト listoftables は
dim(listoftables) <- c(51,51)
とすれば行列として操作できます。 -- &new{2005-01-25 (火)...
-本来の解析内容によりますが、もし X..Y.. がすべて同じサイ...
-そもそも,全部読み込んで保持しておく必要があるのかどうな...
-保持しておく必要は,とりあえずはなさそうですね。 -- [[青...
**関数を上書きしてしまった? [#z8e67a89]
>[[初心者]] (2005-01-17 (月) 20:18:02)~
~
どうも以前にgamma関数を上書き定義してしまったらしく、使え...
//
-関数の再定義をしてしまって,R を終わるときに q() の問い...
R を起動した後,rm(gamma) で再定義を消去して,q() でもう...
この手順で駄目ならば,上書きしてしまった経緯・状況をもっ...
-ありがとうございました!回復しました。 -- [[初心者]] &ne...
-てっ取り早い方法としてワーキングディレクトリのファイル ....
-.RData を消去すれば,消去されたくない必要なものがあって...
**分割表形式のデータフレームを通常のデータ形式に戻したい ...
>[[Jack]] (2005-01-16 (日) 17:00:47)~
~
次のようなデータフレームがあります。~
V1, V2は処理の種類(カテゴリー)を表し、1,2,3,4,5は計測値...
V1 V2 1 2 3 4 5
1 1 1 3 1 0 2
1 2 3 1 4 5 5
2 1 2 1 9 8 7
2 2 1 0 8 8 1
解析に際し、これを生データに戻したいのです。つまり
V1 V2 V3
1 1 1
1 1 2
1 1 2
1 1 2
1 1 3
1 1 5
1 1 5
1 2 1
1 2 1
1 2 1
1 2 2
.
.
というようにです。~
forループを使えばできそうな気がしたのですが、肝心の計測...
あるいは、forを使わない方法があるのでしょうか。
よろしくおねがいします。~
//
-例えば -- &new{2005-01-16 (日) 18:04:01};
> x
V1 V2 X1 X2 X3 X4 X5
1 1 1 1 3 1 0 2
2 1 2 3 1 4 5 5
3 2 1 2 1 9 8 7
4 2 2 1 0 8 8 1
> xx <- as.matrix(x) # 一旦行列に直す方が操作しやすい
> xx
V1 V2 X1 X2 X3 X4 X5
1 1 1 1 3 1 0 2
2 1 2 3 1 4 5 5
3 2 1 2 1 9 8 7
4 2 2 1 0 8 8 1
> y <- numeric(0)
> for (i in 1:dim(xx)[1]) {
for (j in 3:dim(xx)[2]) {
if (xx[i,j] != 0) {
for (k in 1:xx[i,j]) {
y <- c(y,xx[i,1:2],j-2)
}
}
}
}
> y <- matrix(y, nc=3, byrow=TRUE) # 行列に直す
> colnames(y) <- c("V1","V2","V3") # 列名を付けたければ
> y <- as.data.frame(y) # データフレームにし...
> y
V1 V2 V3
1 1 1 1
2 1 1 2
3 1 1 2
4 1 1 2
5 1 1 3
6 1 1 5
7 1 1 5
8 1 2 1
9 1 2 1
10 1 2 1
(途中省略)
66 2 2 4
67 2 2 4
68 2 2 4
69 2 2 4
70 2 2 5
==========================
# 別法
> y <- matrix(0, nr=1000, nc=3) # 十分大きな行数の行列...
> n <- 0
> for (i in 1:dim(xx)[1]) {
z <- rep(1:5, xx[i,3:7]) # 例えば i=1 ならこれはベ...
N <- n + length(z)
y[(n+1):N, 1:2] <- xx[i, 1:2]
y[(n+1):N, 3] <- z
n <- N
}
> y <- y[1:n,] # 実際の行数に切り詰め
-早速ありがとうございました。行列にいったん直すのですね。...
-すんごく,短い解があると思います。for ループも不要です。~
# テストデータ作成
x <- data.frame(V1=c(1,1,2,2), V2=c(1,2,1,2), X1=c(1,3,2...
X3=c(1,4,9,8), X4=c(0,5,8,8), X5=c(2,5,7,1))
# 以下の4行が解 =============上とは出現順が違うが=======...
f <- as.matrix(x[,3:7])
v1 <- x[,1]
v2 <- x[,2]
cbind(rep(v1[row(f)], f), rep(v2[row(f)], f), rep(col(f)...
これがどういうことかは,~
[[http://aoki2.si.gunma-u.ac.jp/R/tenkai.html:http://aoki...
を見た方がわかりやすいかも。その応用です。~
行の名前が変になるけど,3行解として
f <- as.matrix(x[,3:7])
v12 <- as.matrix(x[,1:2])
cbind(v12[rep(row(f), f),], rep(col(f), f))
というのでもよいかも。~
単に行数を減らすだけなら,
f <- as.matrix(x[,3:7])
cbind(as.matrix(x[,1:2])[rep(row(f), f),], rep(col(f), f))
いきなり,これが出てくるとわけわからんですね。 -- [[青木...
-ありがとうございました・・・しかしまだ理解できていません。...
**shapefileが読めません。 [#x356afb4]
>[[おやじっち]] (2005-01-12 (水) 00:35:36)~
~
spdepでmoran's Iを計算しようと思い、vectorworksで作成した...
Rでmaptools,spdep,tripackをロードし
// ★★ 記述法をよく理解してくださいよ
x <- read.shape(system.file("shapes/ファイル名.shp", p...
と入力しましたが
Error in read.shape(system.file("shapes/ファイル名.shp",...
unable to open file
と表示され読めませんでした。~
http://web.sfc.keio.ac.jp/~maunz/~
のサイトの~
R language/空間重み付け行列とMoran’s I~
の部分を参照したのですが、なにぶん素人なものでどこが間違...
どうか教えて下さい。~
//
-"system.file("shapes/ファイル名.shp", package="maptools...
-OSはmac OS10.3.7でRは2.01でmaptoolsは0.4-8です。パスを指...
-パスの指定法~
Mac OS X の場合,ユーザ名 foo のデスクトップに bar フォル...
scan("/Users/foo/Desktop/bar/baz.dat")
とすればいいのだが,毎回そんなの書くのいやだということな...
scan("baz.dat")
だけで読める。 -- [[青木繁伸]] &new{2005-01-13 (木) 21:37...
-多分、exampleを見られてsystem.fileとされたのだと思います...
-read.shape("パス名+ファイル名") で読み込めました。有り...
**Windows版Excelからのセル範囲コピー [#vacd4c6c]
>[[青木繁伸]] (2005-01-11 (火) 14:32:44)~
~
Windows ユーザから以前,~
http://aoki2.si.gunma-u.ac.jp/R/excel.html~
の動きがおかしいという問い合わせがありました。~
複数列をコピーしてもなぜか一行中の全部の数字を連結した文...
なんででしょうか。~
エディタなどにペーストすると列の間にはちゃんとタブコード...
//
-実験してみました。おそらく範囲指定をした EXCEL データの...
-- 標準:一行中の全部の数字を連結した文字列になる~
-- 数値:行列としてちゃんと読み込まれる~
「標準」だけでなく「数値」以外の形式(「日付」や「文字列...
それにしても、非常に便利な汎用関数ですねぇ〜! -- [[舟尾]...
-多分1.9.0以降はRguiではtabの入力がスキップされる
/*
* Filter R commands out of a string that contains
* prompts, commands, and output.
* Uses a simple algorithm that just looks for '>'
* prompts and '+' continuation -- won't work when
* other prompts are used (e.g., as in a debugging
* session.)
* Always return the length of the string required
* to hold the filtered commands.
* If cmds is a non-null pointer, write the commands
* to cmds & terminate with null.
*/
からかと.なのでRtermでは上手くいくかも. -- [[なかま]] &ne...
-じゃなかった,Rguiでは元々tabの入力を考慮してなかったりし...
-ありがとうございました。Macintosh版(V.X版って,へんな表...
それで,以下のような実験をしました。驚くべき結果でした(^_...
WIndows の Excel で以下のようなファイル test.txt を作りま...
ファイルの中身
$ cat test.txt
1 1
2 1.414213562
3.00000 1.73205
4.00000 2.00000
ダンプ
$ hexdump -c test.txt
0000000 1 ?t 1 ?r ?n 2 ?t 1 . 4 1 4 ...
0000010 6 2 ?r ?n 3 . 0 0 0 0 0 ...
0000020 3 2 0 5 ?r ?n 4 . 0 0 0 ...
0000030 2 . 0 0 0 0 0 ?r ?n ...
なんとオバカな仕様で,書式が「標準」のときには「タブ」の...
これをコピーして,R に持ってくるとき,Windows版 R(Rgui) ...
Macintosh版のExcelでも,「数値」のときには「空白+タブ」と...
-なるほど!勉強になりました!Windows 版では「数値」の他に...
-matrix(scan("clipboard"),byrow=T,nc=2)にすればWindowsで...
-数値の前の空白はもしや符号だったりして... -- [[なかま]] ...
-なるほど,Winのクリップボードはバイナリーの場合もあるので...
-ちなみに,Windowsで青木先生の関数の""の部分を"clipboard"...
-なるほど。Mac でも clipboard という装置名を試してみたけ...
**Xでない環境でpng()やjpeg()を使いたい [#y2108482]
>[[はいじま]] (2005-01-10 (月) 23:33:31)~
~
// ***** ~ を使って不必要な物理的な行替えをしないよ...
LinuxでXの無い環境で、ver2.0.0を使っています。~
R Bookを読みつついろいろ試していますが、
Windows上ではpng()が利用できるのですが、
Linuxで、コマンドラインからRを実行するとエラーが出ます。~
Xはインストールされていないサーバーなのですが、
この場合、画像ファイルの作成はどのように行うのでしょうか。~
それとも行えないのでしょうか。
// ***** ヘルプを見たり,テキスト整形のルールを表示...
// ***** 今回はなおしておきます。
src-----------------------------
x<-1:100
y<-sin(x)
png('/tmp/sin.png')
plot(x,y)
dev.off()
src-----------------------------
err-----------------------------
Error in X11(paste("png::", filename, sep = ""), width, ...
unable to start device PNG
In addition: Warning message:
unable to open connection to X11 display`'
err-----------------------------
//
-RjpWiki にある R-FAQ の訳の 7.21 を見て下さい。 pictex ...
-pdf ファイルだとXはなくてもいいようですが,pdf を使う(...
- X が使えない環境を利用できないので確認不可能ですが、?ca...
## on Unix with enscript available
ps <- pipe("enscript -o tempout.ps","w")
capture.output(example(glm), file=ps)
close(ps)
-ありがとうございます。 PDFについては設定無しに実行でき...
-無事Xvfbでpngファイルを作成できました。Rを起動する前にex...
**パッケージfSeriesのaparchSimについて [#e666acf8]
>[[winga]] (2005-01-05 (水) 20:57:16)~
~
//あのね,文章を物理的に ~ で区切って一行の文字数を決める...
windowsXPでR2.0.1を使用しているものです。パッケージfSerie...
//
-example(aparchSim)でやってみると,たくさんの数値が出力さ...
-どんなパラメータを設定したのかをaparchSimのコマンドで書...
-青木先生、矢野様、ありがとうございます。もう少し自分でも...
-別の質問は,別のスレッドを起こす方が良いと思いますが。~
プラットホームが書いてありませんが,Windows なんでしょう...
Mac だとちゃんと動くようですが(というか,そんなエラーは...
バージョンダウンするしかないかも。
> library(tseries)
Loading required package: quadprog
'tseries' version: 0.9-24
'tseries' is a package for time series analysis and
computational finance.
See 'library(help="tseries")' for details.
>
こうなります。 -- [[青木繁伸]] &new{2005-01-09 (日) 01:48...
-quadprogというパッケージがインストールされていないか、イ...
-ありがとうございます。quadprogをインストールした結果、う...
**ブラウザーに関する質問二件 [#c1bbb8a4]
>[[QDU]] (2005-01-04 (火) 08:13:30)~
~
R とは直接関係ありませんが、RjpWiki を見るブラウザーにつ...
//
**自前のカラーバーを作る方法 [#a2e9bbdd]
>[[ゆき]] (2005-01-03 (月) 18:17:22)~
~
自前でカラーバーを作りたいのですが、どうすればよいの困り...
~
例えば、グラフィックス参考事例集にある火山の地形図のイメ...
image2 <- function () {
data(volcano)
x <- 10*(1:nrow(volcano))
y <- 10*(1:ncol(volcano))
png("image2.png") # png デバイスを開く
# 地形図色調で色分けしてイメージ表示
image(x, y, volcano, col = terrain.colors(100), axes =...
# 等高線を重ねる
contour(x, y, volcano, levels = seq(90, 200, by=5), ad...
# 下部に軸、チックマークを描く
axis(1, at = seq(100, 800, by = 100))
# 左部に軸、チックマークを描く
axis(2, at = seq(100, 600, by = 100))
# 全体を囲む枠を描く
box()
# タイトル
title(main = "Maunga Whau Volcano", font.main = 4)
dev.off() # デバイスを閉じる
}
として、 terrain.colors を使用して色をつけていますが、...
//
-御質問の趣旨「自前のカラーバー」が今一わかりませんが、お...
//引用(先頭一字半角開け)の前には空白を置くな
//注釈はおいても良いけど,空行は置くな
//インデントが変になる
//ちなみに言えば,インデントの前の文末に ~ おいても変なこ...
//経験則でわかるだろうか?
## 色分け範囲を自前で指定 -> level 引数を使用
## image 関数なら breaks 引数で範囲の分割点のベクトルを...
> range(volcano)
[1] 94 195
> x <- 10*1:nrow(volcano)
> y <- 10*1:ncol(volcano)
> filled.contour(x, y, volcano, color = terrain.colors,
level=c(90,110,130,150,170,190,210),
plot.title = title(main = "The Topograp...
xlab = "Meters North", ylab = "Meters W...
plot.axes = { axis(1, seq(100, 800, by ...
axis(2, seq(100, 600, by =...
key.title = title(main="Height?n(meters...
key.axes = axis(4, seq(90, 190, by = 10...
> mtext(paste("filled.contour(.) from", R.version.string),
side = 1, line = 4, adj = 1, cex = .66)
#ref(Volcano1.png)
//ここにも置くな
## 色分け範囲を自前で指定 -> level 引数を使用
## 範囲色を自前で指定 -> col 引数で色名文字列ベクトルを...
## 但し色の自前の指定は一人よがりになり勝ちですから、お...
## すでに用意されている視覚的に慎重にデザインされたもの...
> x <- 10*1:nrow(volcano)
> y <- 10*1:ncol(volcano)
> filled.contour(x, y, volcano,
level=c(90,110,130,150,170,190,210),
col = c("red", "blue", "yellow", "black...
plot.title = title(main = "The Topograp...
xlab = "Meters North", ylab = "Meters W...
plot.axes = { axis(1, seq(100, 800, by ...
axis(2, seq(100, 600, by =...
key.title = title(main="Height?n(meters...
key.axes = axis(4, seq(90, 190, by = 10...
> mtext(paste("filled.contour(.) from", R.version.string),
side = 1, line = 4, adj = 1, cex = .66)
#ref(Volcano2.png)
//ここも同じ
## なおこの例の引数 color = terrain.colors の意味は、col...
## カラーパレット関数 terrain.colors を用いて col = terr...
## しろという意味です。結果は以下のように色名を RGB 表記...
> terrain.colors(10)
[1] "#00A600" "#2DB600" "#63C600" "#A0D600" "#E6E600" "#...
[8] "#EDB48E" "#F0C9C0" "#F2F2F2"
-カラーバーに関するご指摘、すみませんでした。作成したかっ...
**ExcelのRight、Leftみたいな機能 [#n2644845]
>[[Akira]] (2004-12-27 (月) 10:38:26)~
~
Excelには文字列の右端、左端を得る関数があります。~
"abcd"なら、right("abcd", 1) -> "d" となります。~
Rには
strsplit("abcd", split="")[[1]][4]
とか~
文字数が不明な場合は
lapply(strsplit("abcd", split=""), rev)[[1]][1]
で文字を得られますが、~
文字ベクトルの全ての要素に適用して、listでなく右端の文字...
chara.a <- c("abcd", "bcda", "cdab")
chara.list <- lapply(strsplit(chara.a, split=""), rev)
chara.b <- numeric(0)
for(i in 1:length(chara.list)){
chara.b[i] <- chara.list[[i]][1]
}
でベクトルを作っています。~
//
-substr という関数を調べるとよいでしょう。 -- [[青木繁伸]...
-ありがとうございます。
chara.list <- substr(chara.a, start=1, stop=1)
としました。 -- [[Akira]] &new{2004-12-27 (月) 12:01:39};
-ncharを使えばrevしなくても文字列末尾の参照はできますよ -...
-こういうことでしょうか?
chara.list <- substr(chara.a, start=nchar(chara.a), stop...
あっていますか? -- [[Akira]] &new{2004-12-27 (月) 14:56:...
-テストデータで期待通りの結果が得られれば,あっているので...
-回答以前に末端の文字ベクトルを求めてそれで何をしたいのか...
-全然凄いことではありません。~rownameに群分け情報があるの...
> test
XorY A
1000X X TRUE
1001X X FALSE
1000Y Y FALSE
1001Y Y TRUE
というdata.frameなのでXorYのところにrownamesの末尾をもっ...
-そのようなデータが,機械的に作られてそれを解析する必要が...
そうでないとしても,統計解析の前に適切なフィルターを噛ま...
フィルターは R で構成する必要はなくて,より適切なスクリプ...
そのフィルター部分を Excel に担当させようとしたのが一つの...
R の得意な分野とそうでない分野があるわけですから,R でな...
極端なことをいえば, Excel で全部やっても良かったんですか...
処理の全体がわかりませんので,あれこれ言うのは控えておき...
**R的なapply, lapply, sapplyの活用 [#xfd2395f]
>[[Akira]] (2004-12-27 (月) 10:24:04)~
~
「意味がある時は(ない時も)常にベクトル化せよ」を実践すべ...
~
a.listとb.listがあります。a.listはnumericデータのdata.fra...
つまり、
length(a.list)=3
dim(a.list[[1]])
[1]20 200(これは[[2]]、[[3]]も同じ)
length(b.list)=2
b.list[[1]]
$g1
[1]1 2 3 4 5 6 7 8 9 10 11 12
$g2
[1]13 14 15 16 17 18 19 20
b.list[[2]]
$g1
[1]1 2 3 4 5 6 7 8 9 10
$g2
[2] 11 12 13 14 15 16 17 18 19 20
今このデータについて、b.listにある2つのカテゴリを使って、...
今は、
for(i in 1:length(b.list)){
for(j in 1:length(a.list){
g1 <- a.list[[j]][b.list[i], ]
g2 <- a.list[[j]][b.list[i], ]
ttest.p <- numeric(0)
for(k in 1:dim(a.list[[1]])[2]){
ttest.p[k] <- t.test(g1, g2, var.equal=T, alternative="t...
na.action=na.omit)$p.value
}}}
の様なことをしてしまっています。~
せめて、apply(g1, 2, t.test, g2)みたいな方法でg1とg2のcol...
//
-複雑なデータ構造のようで,よく把握できませんが,期待通り...
-こうした複雑なケースはミニチュアでも良いですから実際に自...
# おそらく質問者がやったこと
> set.seed(31415)
> a1 <- as.data.frame(matrix(rnorm(4000),20,200))
> a2 <- as.data.frame(matrix(rnorm(4000),20,200))
> a3 <- as.data.frame(matrix(rnorm(4000),20,200))
> a.list <- list(a1,a2,a3)
> b.list <- list(list(g1=1:12,g2=13:20),list(g1=1:10,g2=...
> an <- length(a.list); bn <- length(b.list)
> ttest.p <- matrix(vector("list", an*bn), bn, an) # 結...
> for(i in 1:bn){
for(j in 1:an){
G1 <- a.list[[j]][b.list[[i]]$g1, ]
G2 <- a.list[[j]][b.list[[i]]$g2, ]
temp <- numeric(0)
for(k in 1:200){
temp[k] <- t.test(G1[,k], G2[,k], var.equal=TRUE,
alternative="two.sided",
na.action=na.omit)$p.value
}
ttest.p[i,j] <- list(temp)
}}
> str(ttest.p)
List of 6
$ : num [1:200] 0.869 0.155 0.458 0.768 0.362 ...
$ : num [1:200] 0.907 0.176 0.799 0.296 0.861 ...
$ : num [1:200] 0.226 0.691 0.465 0.704 0.363 ...
$ : num [1:200] 0.166 0.104 0.918 0.419 0.126 ...
$ : num [1:200] 0.7886 0.3279 0.0029 0.5534 0.4714 ...
$ : num [1:200] 0.5945 0.4196 0.0560 0.0134 0.4812 ...
- attr(*, "dim")= int [1:2] 2 3
# 内側のループを sapply で処理
> for(i in 1:bn){
for(j in 1:an){
G1 <- a.list[[j]][b.list[[i]]$g1, ]
G2 <- a.list[[j]][b.list[[i]]$g2, ]
ttest.p[i,j] <- list(sapply(1:200,
FUN=function(k) t.test(G1[,k],...
var.equ...
alterna...
na.acti...
}}
> str(ttest.p)
List of 6
$ : num [1:200] 0.869 0.155 0.458 0.768 0.362 ...
$ : num [1:200] 0.907 0.176 0.799 0.296 0.861 ...
$ : num [1:200] 0.226 0.691 0.465 0.704 0.363 ...
$ : num [1:200] 0.166 0.104 0.918 0.419 0.126 ...
$ : num [1:200] 0.7886 0.3279 0.0029 0.5534 0.4714 ...
$ : num [1:200] 0.5945 0.4196 0.0560 0.0134 0.4812 ...
- attr(*, "dim")= int [1:2] 2 3
外側の二重ループを消すこともできるのでしょうが、やりかた...
-ありがとうございます。sapplyの使い方の勉強になりました。...
forが続くとメモリを消費するのかな?と思ったので、なるべく...
-実は apply 関数は for loop を隠すだけで実際の速度向上は...
-コードを簡潔にするために,あれこれ時間を掛けるのが良いこ...
簡潔なコードをいつでも書けるように修行するのは良いのでし...
取りあえずの目的を達するために書くスクリプトは,技巧を凝...
うまい書き方や,効率的なプログラムにこだわれば,結果とし...
プログラミングの経験は十分あるが,R の経験はそれほどでも...
要するに,トータルのコストの問題ですね。R に習熟すれば,R...
for だろうがなんだろうが,R 的に汚いやり方であっても,そ...
メモリーを浪費するといっても,所詮個人のマイクロコンピュ...
それでもなお,もっと早く分析したいなら,それはきっと R の...
このような議論を受け入れてくれる人は少ないようなんですが...
- いちばん理想的なのは「他人が読んでも読みやすく、しかも...
「比較的簡単にプログラムが出来、それでいてそこそこ計算が...
ここまで書いて思ったのですが、私のようなど素人が意見を述...
**プロットの3色の色分け [#r39ed7ed]
>[[Mari]] (2004-12-21 (火) 18:09:28)~
~
何度も本当にすみません。。。~
プロット上のスポットを値ごとに3色に分けたいのですが、以下...
> plot(A2,M2,col = (if(Type==1){"gray"}else if(Type==-20...
Warning message:
the condition has length > 1 and only the first element ...
col をif文の中に入れてみたりしたのですが、plotではifelse...
//
-一歩ずつ前進しているようですね。以下が参考になるでしょう...
> x <- data.frame(A=rnorm(5), B=runif(5), C=c(1,2,2,3,1))
> plot(x$A, x$B, col= ifelse((y <- x$C)==1,"red", ifelse...
なお、試みられたコードが失敗する理由も、初心者の典型的な...
> Type =c(1, -20000, 1, 0, -20000, 1)
> y = ifelse(Type==1, "gray", ifelse(Type==-20000, "blue...
> y
[1] "gray" "blue" "gray" "black" "blue" "gray"
-本当にありがとうございました!!! 今日の一連の流れをfuncti...
-発展問題。関連して w <- foo(x,y,z) とすると x[a]==y[b] ...
-よくよく考えたらもっと簡単な解がありました。-- &new{200...
col = c("gray","blue","black")[ match( Type, c(1,-20000,...
**プロットの色分け [#a83c1f51]
>[[Mari]] (2004-12-21 (火) 16:54:14)~
~
いつもお世話になっております。今回はプロットを作成して、...
~
インポートしたデータフレーム(dat2)のA2,M2 というカラム...
> unique(dat2$ControlType)
[1] 1 -20000 0
とりあえず、2色でifelseをプロット関数に入れて行ってみまし...
> plot(A2,M2, col = ifelse(dat2$ControlType=0,"gray","bl...
Error: syntax error
別の関数に変換するほうがよいのかなと思い、下記のようにし...
やはりエラーがでました。
> Type <- dat2$ControlType
> unique(Type)
[1] 1 -20000 0
> plot(A2,M2, col = ifelse(Type=0,"gray","blue"))
Error in ifelse(Type = 0, "gray", "blue") :
unused argument(s) (Type ...)
某HPの以下のスクリプトを参考にしたのですが、何が悪かった...
> plot(x, y, col = ifelse(y>0.5, "red", "blue"))
//
-つぎの二つの例を見比べて下さい。初心者が良くひっかかる落...
> x=1; Y <- ifelse(x==1, 2,3)
> Y
[1] 2
> x=1; Y <- ifelse(x=1, 2,3)
Error in ifelse(x = 1, 2, 3) : unused argument(s) (x ...)
-ありがとうございました!!! たしかに・・・ -- [[Mari]] &ne...
**read.table で最初の9行をスキップしたい [#t28ecfd0]
>[[Mari]] (2004-12-21 (火) 11:09:47)~
~
エクセルで作成したデータのインポートを行いたいのですが、1...
read.table のオプションのskip を使ったのですが、下記のよ...
~
具体的には、下記のように行いました。どうやら、1行目のデー...
~
データは1行目から9行目まではランダムなコメントが書いてあ...
~
アドバイスいただけますと助かります。よろしくお願いいたし...
> dat<- read.table("Test.txt",skip=9)
Error in scan(file = file, what = what, sep = sep, quote...
line 1 did not have 87 elements
//
-おそらく ?read.table の次の箇所が参考になるのでは。 --...
The number of data columns is determined by looking at t...
five lines of input (or the whole file if it has less th...
lines), or from the length of 'col.names' if it is speci...
is longer. This could conceivably be wrong if 'fill' or
'blank.lines.skip' are true, so specify 'col.names' if n...
-次のようなテストファイルを読み込んでみると問題は起きませ...
comment 1 a b c d e f g h
comment 2
comment 3
comment 4
comment 5
A B C D E
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
> x <- read.table("test.txt", skip=5, header=T)
> x
A B C D E
1 1 2 3 4 5
2 6 7 8 9 10
3 11 12 13 14 15
-ありがとうございます。 コメント部分を削除しても、read.ta...
-すみません、切れました。コメントをはずして、read.csv で...
-以下のように行うと、うまく行きました。本体部分のタブ区切...
-コメント部分を#でコメントアウトしてもexcel上では#が"#("...
**条件にあうものだけに、値を変更したい。 [#lfbf8f67]
>[[cricket]] (2004-12-18 (土) 00:14:58)~
~
データフレームで、あるラベルに対応する値だけを変更するに...
//
-色々やりかたはあるでしょうが例えば素朴に -- &new{2004-1...
> x <- data.frame(A=1:4, B=c("a","b","b","c"))
> x
A B
1 1 a
2 2 b
3 3 b
4 4 c
> x$A[x$B=="b"] <- x$A[x$B=="b"] + 10
> x
A B
1 1 a
2 12 b
3 13 b
4 4 c
> x$A[x$B=="b"] <- 0
> x
A B
1 1 a
2 0 b
3 0 b
4 4 c
-上の方と同じく,いろいろやり方はあるでしょうが
> data <- data.frame(
treatment=c("control", "treatment", "treatment", "co...
observation=c(1,3,2,1,4))
> data
treatment observation
1 control 1
2 treatment 3
3 treatment 2
4 control 1
5 control 4
> data$observation <- data$observation+ifelse(data$treat...
> data
treatment observation
1 control 11
2 treatment 3
3 treatment 2
4 control 11
5 control 14
など -- [[青木繁伸]] &new{2004-12-18 (土) 00:47:45};
-なるほど。確かにいわれてみればたしかに。難しく考えすぎて...
-こんなのもあり -- &new{2004-12-18 (土) 11:34:33};
> x=data.frame(A=1:4, B=c("a", "b","b","c"))
> x$B == "b"
[1] FALSE TRUE TRUE FALSE
> x$A <- x$A + 10 * (x$B == "b")
> x
A B
1 1 a
2 12 b
3 13 b
4 4 c
-発展問題。逆に文字列部分を変更したい時は?データフレーム...
> x=data.frame(A=1:4, B=c("a", "b","b","c"))
> x$B[x$A==2] <- "c" # すでにある文字列には問題無く置き...
> x
A B
1 1 a
2 2 c
3 3 b
4 4 c
> str(x$B) # "a","b","c" は内部的には数値 1,2,3 と表現...
Factor w/ 3 levels "a","b","c": 1 2 2 3
> x$B[x$A==2] <- "d" # 最初に無い文字列に置き換えるとエ...
Warning message:
invalid factor level, NAs generated in: "[<-.factor"(`*t...
> x
A B
1 1 a
2 2 <NA>
3 3 b
4 4 c
-x$A <- x$A + 10 * (x$B == "b") のような使い方もできるん...
-存在しないファクターを加える(強引な)方法。元の質問の趣...
> x = data.frame(A=1:4, B=c("a","b","b","c"))
> x = rbind(x[1,], data.frame(A=x$A[2], B=c("d")), x[3:4...
> x
A B
1 1 a
11 2 d # <- 確かに変わったが、行ラベルが何故かおかしく...
3 3 b
4 4 c
> x[2,] # しかし添字操作では問題無し
A B
11 2 d
**単位根検定についてpart2 [#mf19ce3a]
>[[nakanaka]] (2004-12-17 (金) 19:31:57)~
~
他の計量経済学の掲示板にも質問させていただきましたが,なか...
トレンド項,ドリフト項のt(τ)値を見れば,有意かどうか判断...
よろしくお願いします.~
//
-いろんなところに匿名でマルチポストするのは感心しない。す...
-[[R-sig-finance:https://stat.ethz.ch/pipermail/r-sig-fin...
**テーブル内のリスト一覧 [#bf96ebd4]
>[[Mari]] (2004-12-17 (金) 16:48:30)~
~
テーブルを読み込んだときに、そのデータのリストの一覧を入...
例えば、Test というデータのカラムに~
Column
-------
type1
type3
type2
type1
type3
~
というような項目があり、このデータが何万件にも及ぶ場合、~
何種類のtype があるか、という情報を入手したいのですが。。~
~
show(Test$Column)~
ですと、ただ一覧がでてきてしまいます。~
~
調べ方も甘いのかもしれませんが、ご教授いただけますと~
幸いです。~
~
よろしくお願いいたします。~
//
-因子なら,levels(Test$Column),数値ならunique(Test$Column)...
-できました!ありがとうございます -- [[Mari]] &new{2004-1...
-参考。unique は文字列ベクトルでも使えます。 -- &new{200...
**正準相関係数に関して [#g73d5f1b]
>[[fuji]] (2004-12-14 (火) 13:51:37)~
~
正準相関係数に関して質問です.~
cancor()関数では正準相関係数は出力されますが,重み係数は...
//
-[[青木先生作 cancor 関数:http://aoki2.si.gunma-u.ac.jp/R...
-参考図書の解答が間違っているのかもしれません.他の例題で...
**VECMのパラメータについて [#bd8fcf13]
>[[Yo]] (2004-12-13 (月) 17:37:37)~
~
VECMのパラメータ推計を,パッケージ"urca"の"ca.jo"で行って...
"ca.jo-class"の説明を見て"PI""GAMMA"が~
~
EC式:EC=Y(t)-(a0+a1*X(t-1)+a2*Z(t-1)+..)~
~
のパラメータだろうと思っているのですが,~
~
VECM:?Y(t)=b0+b1*EC(t-1)+b2*Y(t-1)+b3*X(t-2)+..~
~
のパラメータがどれにあたるのかわかりません.~
とても初歩的な質問で申し訳ありませんが,教えていただけな...
よろしくお願いいたします.~
//
-VECMってなんですか?いきなり独りよがりに式を並べられても...
-VECMとは多変量誤差モデルのことで、VARに共和分分析が組み...
-一般的なお話として。~
使ったプログラムが合っているか(R なので,たいていは大丈...
もっとも,この上の(正準相関分析 cancorについての)質問の...
-ありがとうございます。さっそく試してみます。 -- [[Yo]] &...
-VECM (Vector Error Correction Model)には詳しくありません...
**カテゴリーごとのプロット [#x299ddcd]
>[[shiGe]] (2004-12-13 (月) 07:28:32)~
~
アメリカ50州のデータに関して,それぞれの州の2変量OLSフィ...
~
仕方ないので当てずっぽうで
plot(Y ~ X, data=hoge, for=STATE)
や,for=STATEの部分をby=STATEなどに代えてやっても当然のよ...
//
-pairs(USJudgeRatings) なんてどうでしょう?関数 pairs() ...
-Tips 集の関数の項 [[pairs用 回帰直線つきpanel]] がずばり...
-あ!そのような記事がありましたか! -- &new{2004-12-13 (...
ページ名: