初級Q&A アーカイブ(6)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
COLOR(green){SIZE(20){初心者のための R および RjpWiki に...
新規投稿はできません。
----
-[[初級Q&A アーカイブ(5)]] (元記事が 2005-03-13 より 2...
-[[初級Q&A アーカイブ(4)]] (元記事が 2005-11-09 より 2...
-[[初級Q&A アーカイブ(3)]] (元記事が 2005-05-02 より 2...
-[[初級Q&A アーカイブ(2)]] (元記事が 2004-12-13 より 2...
-[[初級Q&A アーカイブ(1)]] (元記事が 2004-08-03 より 2...
----
#contents
----
**半角数字データを因子型にできない [#q638f214]
>[[お恥ずかしい]] (2007-01-31 (水) 02:23:49)~
~
> 一度、自分で検証して、検索して、頭を整理して、みんなに...
ご迷惑おかけしました。~
質問を整理します。~
(1)数値型から因子型への変更は,下記のご教示の通りです...
> factor(x)としたって,それを変数に付値しないと結果は保...
> データといえど,全角数字を使うのは好ましくない。2番目...
> x <- c(1,2,3,4,5)
> y <- c("1","2","3","4","5")
> z <- data.frame(X=x,Y=y)
> summary(z)
X Y
Min. :1 1:1
1st Qu.:2 2:1
Median :3 3:1
Mean :3 4:1
3rd Qu.:4 5:1
Max. :5
> z$X <- factor(z$X)
> summary(z)
X Y
1:1 1:1
2:1 2:1
3:1 3:1
4:1 4:1
5:1 5:1
(2)
> x <- c(1,2,3,4,5)
> y <- c("1","2","3","4","5")
> z <- data.frame(X=x,Y=y)
の段階で,
edit(z)
としてデータエディタを出し,xの列の属性をnumericからchara...
(3)~
> 外部データのハンドリングが良くないということはないでし...
すみません。CSVファイルから読み込むときにたとえデータが...
//
-> edit(z)としてデータエディタを出し,xの列の属性をnumer...
z <- edit(z) のようにしましたか。単に edit(z) とやったっ...
> 「この列はカテゴリーで読む」とかの指定があったらいいの...
あってもいいけど,読みこんだ後に,「この列はfactorに変換...
投稿方法はまだまだ改善が必要(^_^;) 変に編集すると,表示の...
-help(read.csv) を良く読む、特にオプション colClasses の...
ファイルtest.table (CSV ファイルということだから)
height, weight, sex
No1, 168, 63, 1
No2, 172, 75, 1
No3, 170, 60, 2
> x <- read.csv("test.table",
colClasses=c("character","numeric","num...
> x
height weight sex
No1 168 63 1
No2 172 75 1
No3 170 60 2
> str(x)
`data.frame': 3 obs. of 3 variables:
$ height: num 168 172 170
$ weight: num 63 75 60
$ sex : Factor w/ 2 levels " 1"," 2": 1 1 2
-クラスがバラバラでなく,factor にすべきものが少数なら,...
-エクセルと違って,データが格納されているメモリー中のデー...
-ご迷惑をお掛けいたしましたこと,深くお詫び申し上げます。...
-迷惑ではないですよ。エクセルからRという世界に踏み込んだ...
**判別分析:関数qda()について [#r5a81e0e]
>[[mu]] (2007-01-26 (金) 01:44:56)~
~
はじめまして. ~
判別分析の勉強をしているものです. ~
関数lda()を用いれば線形判別係数を求められますが, 関数qda(...
//
-実際にやってみれば分かるでしょう。 -- &new{2007-01-26 (...
> library(MASS)
> ? qda
> ? predict.qda
> example(qda)
-qdaでldaの係数が求まるか,という質問でしょうか。やってみ...
-まったく同じ問題に直面しているが,答えがわかった? -- [[...
-ということは,あなたもやっては見なかったと言うこと?(プ...
**PDFファイルへの出力時に日本語の部分が文字化けする [#u30...
>[[R初心者X]] (2007-01-24 (水) 15:39:40)~
~
こんにちは.初歩的な質問で失礼致します.~
~
R2.4.1を新たにインストールして,次のデータセットを実行し...
d <- c(0:100)
v1 <- 10000 * exp(-0.05*d)
pdf(file="c:/test.pdf")
plot (d,v1,xlab="時間", ylab="価値",
main="", sub="指数関数", pch=22,
ylim=c(0, 10000), type="l", lwd=2)
dev.off()
しかし,PDFファイルに出力しようとすると,
Warning messages:
1: font width unknown for character 0x90
2: font width unknown for character 0x90
3: font width unknown for character 0x90
4: font width unknown for character 0x90
という警告が出て,日本語で表記した部分が文字化けしたもの...
~
なお,R2.4.1はこのWikiを通じてダウンロードしたものです.~
起動時の初期画面の文字化けは,Rconsole, Rdevga, Rprofile....
//
-[[日本語化掲示板]]は読んだかな? -- &new{2007-01-24 (水...
-早速のコメント有難うございます.日本語化掲示板で,図形出...
-Rconsole等を上書きしなくても、手元の環境では以下のコード...
pdf(file="c:/test.pdf",family="Japan1")
plot (d,v1,xlab="時間", ylab="価値", main="", sub="指数...
pch=22, ylim=c(0, 10000), type="l", lwd=2)
dev.off()
familyの引数については、?postscriptFontsで。
-takahashi様.ご教示,大変有難うございました.familyとい...
- pdfの日本語が文字化けするので日本語を使わないようにして...
**変数名に変数? [#e8ab4bf7]
>[[R初心者]] (2007-01-24 (水) 06:57:46)~
~
大変、初歩的な質問ですみません。~
データを別のデータに保存する際、データ名の変更を簡単にす...
イメージですが、下の例ですと、コンソール画面で"ver_2"と打...
重ね重ね、初歩的な質問ですみません。
data<-c(1,2,3,4,5)
ver_num<-2
ver_ver_num<-data
//
-こういう時のためにリストという便利なデータ型があるんです...
> ver <- list(NULL)
> ver_no <- 0
> ver[[ver_no <- ver_no + 1]] <- 1:5
> ver[[ver_no <- ver_no + 1]] <- matrix(1:4, 2,2)
> ver[[ver_no <- ver_no + 1]] <- letters[1:5]
> ver
[[1]]
[1] 1 2 3 4 5
[[2]]
[,1] [,2]
[1,] 1 3
[2,] 2 4
[[3]]
[1] "a" "b" "c" "d" "e"
> ver[[1]]
[1] 1 2 3 4 5
> ver[[2]]
[,1] [,2]
[1,] 1 3
[2,] 2 4
> ver[[3]]
[1] "a" "b" "c" "d" "e"
もしどうしても ver_2 などという命名法がお気に入りなら、次...
> foo <- function(var_name, ver_no, data) {
nam <- paste(var_name, "_", ver_no, se...
assign(nam,data,env=.GlobalEnv) }
> foo("ver", 1, 1:5); ver_1
[1] 1 2 3 4 5
> foo("ver", 2, matrix(1:4,2,2)); ver_2
[,1] [,2]
[1,] 1 3
[2,] 2 4
> foo("ver", 3, letters[1:5]); ver_3
[1] "a" "b" "c" "d" "e"
> foo("another.ver", 1, 1:5); another.ver_1
[1] 1 2 3 4 5
-お節介ですが x<-data などとせず x <- data と空白を入れ...
-脇道だが,x<-1が比較演算と解釈されるのはどんなときだろう...
> x<-9
> x
[1] 9
> if(x<-1) print("x is less than -1 ??")
[1] "x is less than -1 ??"
> x
[1] 1
-失礼、逆です.論理判断 x < -1 をしているつもりなのに、...
-分かりました!どうもありがとうございます。また、<- と <...
**binary relationから行列の作成 [#pbc62c92]
>[[学生]] (2007-01-22 (月) 14:29:30)~
~
こんちには。行列の解析をしています。外部で作成した行列フ...
これまでは、事前に行列の形にしてRに読み込ませていました。
ただ、行列情報を普段はbinary relationの形で持っているので、
Rにこのまま読ませて、R内部で行列に変換するとういうことが
したいのですが、どのようにすればよいでしょうか?
>binary relation 形式
A<tab>B<tab>0
A<tab>C<tab>1
B<tab>C<tab>2
>matrix 形式
A B C
A 1 0 1
B 0 1 2
C 1 2 1
//
-もし記号の種類と数が予めわかっていて、ファイルがタブ区切...
> x <- scan("/tmp/test.data", what=list(character(0), ch...
Read 3 records
> x
[[1]]
[1] "A" "A" "B"
[[2]]
[1] "B" "C" "C"
[[3]]
[1] 0 1 2
> mat <- matrix(1, 3,3, dimnames=list(c("A","B","C"), c(...
# 永続付値演算子 <<- の使用に注意
> lapply(1:3, function(i) mat[x[[1]][i], x[[2]][i]] <<- ...
> mat
A B C
A 1 0 1
B 0 1 2
C 1 2 1
-ひとつの方法 -- [[takahashi]] &new{2007-01-22 (月) 15:34...
> d<-read.table("filename.tsv",as.is=T)
> n<-sort(unique(c(d[,1:2],recursive=T)))
> r<-matrix(1,length(n),length(n),dim=list(n,n))
> for(i in 1:dim(d)[1])r[d[i,1],d[i,2]]<-r[d[i,2],d[i,1]...
> r
A B C
A 1 0 1
B 0 1 2
C 1 2 1
-記号がA,B,C...ということだとして,以下のように(長いけど...
> df <- read.table("test.dat", header=FALSE, as.is=TRUE)
> df
V1 V2 V3
1 A B 0
2 A C 1
3 B C 2
> # A, B, C,... を 1, 2, 3, ... に変換する関数
> sufix <- function(x) sapply(x, function(L) which(LETTE...
>
> # 行列のサイズ n を自動で計算
> n <- which(LETTERS==rev(names(table(c(df[,1], df[,2]))...
> x <-diag(n) # 対角行列を作る
> suf <- cbind(sufix(df[,1]), sufix(df[,2])) # 添え字行...
> x[suf] <- df[,3] # 該当する要素位置に数値を格納
> x <- x+t(x) # 下三角行列にコピーして
> diag(x) <- 1 # 対角成分は1にする
> colnames(x) <- rownames(x) <- LETTERS[1:n] # 名前を付...
> x
A B C
A 1 0 1
B 0 1 2
C 1 2 1
**適応度の高低を等高線図で描く方法 [#k5dbd059]
>[[moriuchi]] (2007-01-21 (日) 01:12:29)~
~
はじめまして。~
花形質が適応度に与える影響を調べています。~
各個体ごとに、花弁長(X)および、雌しべ長(Y)を計測し、~
適応度としては種子数(Z)を用います。~
図としては、X軸に花弁長、Y軸に雌しべ長をとり、~
適応度の高低を等高線図で示せないかと考えています。~
contour()関数を使用すればよいのかと思うのですが、~
どのように記述すれば、このような図を描けるのでしょうか?~
初歩的質問で申し訳ないのですが、ご教授いただけないでしょ...
//
-example(contour) -- &new{2007-01-21 (日) 10:46:38};
-? contour -- &new{2007-01-21 (日) 14:11:48};
-contour 関数は昇順の x,y に対して、各格子点 c(x[i], y[i]...
-早速ご教授いただきましてありがとうございます。回帰を実施...
-X,Y のどのような関数にあてはまるかが分かっていれば,回帰...
以下に例を挙げてみましょう。z = exp((x-a)^2+(y-b)^2) とい...
> df <- structure(list(x = c(0.3, 0.4, 0.5, 0.7, 1, 1.4,...
+ 2.1, 2.5, 2.7, 3, 3.2, 3.3), y = c(1.3, 1.4, 1.5, 1.8,...
+ 2.5, 2.7, 3, 3.1, 3.5, 3.6, 4, 4.2, 4.5), z = c(324, 1...
+ 23, 7, 2, 2, 1, 1, 1, 2, 2, 7, 18, 51)), .Names = c("x...
+ "z"), row.names = 1:15, class = "data.frame")
> ans <- nls(z~exp((x-a)^2+(y-b)^2), df, start=list(a=2,...
> a <- ans$m$getPars()[1]
> b <- ans$m$getPars()[2]
> cat("a=", a, " b=", b, "?n")
a= 1.982297 b= 3.01758
> x <- seq(0,4,length=100)
> y <- seq(1, 5, length=100)
> z <- outer(x, y, function(xi, yj) exp((xi-a)^2+(yj-b)^...
> contour(x, y, z, levels=c(1.1, 2, 5, 10, 100, 1000))
#ref(contour-example.png)
-おそらく一番手軽なのはパッケージ akima を使い、不規則空...
> library(akima)
> xdata <- runif(30); ydata <- runif(30); zdata <- rnorm...
> data <- data.frame(x=xdata, y=ydata, z=zdata)
> with(data, contour(interp(x,y,z)))
#ref(akima.interp.png)
-上にある df データフレームのデータを akima を使って等高...
data データフレームの例は,zdata <- rnorm(30)+0.2*x^2-0.5...
#ref(akima-example2.png)
-失礼。最初の例の rnorm 以降の x,y は xdata,ydata でなけ...
-皆様ありがとうございました。大変参考になりました。じっく...
**C.FORTRAN言語をR言語の変換する方法 [#k972a391]
>[[初心者]] (2007-01-20 (土) 12:38:21)~
~
FORTRAN言語をR言語に取り込む機能はあるのでしょうか。~
もしご存知の方いましたらご教授お願いしたします。~
//
-CRAN にある公式マニュアル「Writing R Extensions」を熟読...
-FORTAN で書いたプログラム(サブルーチン)を呼び出して利...
[[Rから他言語利用]]を見るべし- &new{2007-01-20 (土) 22:0...
**64ビット版R for Windows Vista [#uec03fe5]
>[[Maerklin]] (2007-01-17 (水) 01:44:31)~
~
Windows Vistaがそろそろリリースされますが、Windowsの64...
//
**線形判別分析における定数変数の扱い [#g6e9831e]
>[[matuo]] (2007-01-16 (火) 17:40:17)~
~
3次元レーザスキャナで取得した30種の物体の形状データを、線...
形状データを一定の方向からの距離画像に変換し、その画像の...
変数が1176個、データ数が1種30枚の計900あるデータフレーム...
data.lda <- lda(train.data, label) #labelはtrain.dataに...
と実行すると、
以下にエラーsprintf(ngettext(length(const), "variable %d...
文字オブジェクトには %s 書式を使ってください
とエラーが出てしまいます。~
レーザスキャナで物体データの取得がされなかった点は距離画...
画像の端にあたるデータが定数変数になっているのですが、
ldaに渡すデータに定数変数が含まれているとエラーが出力され...
手動でそういった変数を取り除くと上手く判別されるのですが、
常に画像の全く同じ場所に物体データがあるとは限らず応用性...
関数内部で定数変数の処理を行うことは出来ないのでしょうか。~
//
-ああ,エラーメッセージは,エラーメッセージを出力しようと...
それはさておき,lda の内部にはそのような処理を行う部分は...
ldaに渡す前に,前もってデータをチェックして,全て同じ値を...
しかしまあ,変数が1176で,ケースが900だと,colinear にな...
variables are collinear in: lda.default(x, grouping, ...)
実に簡単なことです。以下のようなプログラムを実行すると,...
x <- matrix(rnorm(900*1176), 900)
colnames(x) <- paste("V", 1:1176, sep="")
x[,3] <- 777
x <- x[,apply(x, 2, var) != 0] # 必要なのはこれだけ!
x[1:10, 1:5]
-エラーメッセージが気になりますが、R のバージョンは最新で...
-質問者の環境はわかりませんが,R2.4.1 でも,あの通りのよ...
-例も示していただいてわかりやすい回答をありがとうございま...
エラー文がそのような意味だったとは思いもしませんでした。~
やはり事前にデータを抜き出す必要があるのですね。そうする...
もっと分析方法を検討しようと思います。RはR-2.4.1を使って...
-気になることが。エラーメッセージの和訳は各パッケージ毎に...
-昨日報告があったそうです.次のリリースで直るとの事. -- [[...
-翻訳はパッケージ毎に必要になります. 今回のはVRの中のメッ...
**使う事の出来ない関数 [#a639b330]
>[[サンダース]] (2007-01-16 (火) 10:41:40)~
~
library(KernSmooth)の中に、bkde2Dという関数があり、その関...
print(bkde2D)で見てみました。~
すると、その関数の中でlinbin2Dという関数が使われていたの...
また、このlinbin2Dという関数を使おうとしても、関数 "linbi...
どうすればこの関数を利用できるのでしょうか?誰か分かる方...
//
-
KernSmooth:::linbin2D
-- [[takahashi]] &new{2007-01-16 (火) 10:45:51};
-すばやい回答ありがとうございます!解決しました -- [[サン...
-[[Rgonzui:http://rgonzui.nakama.ne.jp/]]も -- &new{2007...
**sample [#bb02a1a3]
>[[sarita]] (2007-01-16 (火) 07:14:20)~
~
超初心者です。sampleという関数の使い方がわかりません。sam...
//
-質問の意味はとてもわかりにくいですが、もし本当に sample(...
> sample(1:10, 5) # 1:10 から5個を非復元無作為抽出
[1] 9 10 5 8 3
> sample(1:10, 20, rep=TRUE) # 1:10 から20個を復元無作為...
[1] 1 2 6 4 3 7 2 3 7 2 10 1 10 9 10 10 10 ...
-たぶん出てきた「ランダムな75個の数値」をインデックス指...
-質問は,わかりにくいと言うより,意味不明です。質問にある...
「ランダムな75個の数値」は,-100〜0 という負の数値ですか...
タイトルの付け方も不適切だし。 -- &new{2007-01-16 (火) 0...
-ありがとうございます! -- [[sarita]] &new{2007-01-16 (火...
-意味不明の質問ですみませんでした。 -- [[sarita]] &new{20...
-で,本当は(わかりやすく書けば)何が知りたかったんですか...
**下付け文字 [#x4578955]
>[[初心者を早く卒業したい]] (2007-01-14 (日) 18:53:11)~
~
下付け文字を含むグラフのタイトルを作りたいのですが、うま...
~
環境はMac os 10.48、Rのバージョンは2.31です。~
~
標準のエディタまでは下付け文字の入力ができる(他のエディ...
~
解決法をご存じの方がいらしたらお願いします。~
//
-> 標準のエディタまでは下付け文字の入力ができる(他のエデ...
それは,エディタが下付・上付文字を表示する機能を持ってい...
#ref(supsub.png)
-たとえばplot(ほにゃほにゃ,main=expression(AA[1]))とか......
-その方法も試してみたのですが、私の環境ではAA[1]のように...
-できないわけはないと思いますけど。~
関係あるかどうかは分からないが,なぜ,R2.4.1 にしないのだ...
まずは,環境を整えるのが先決。添付は,以下の実行結果。 --...
hist(rnorm(1000),main=expression(AA[1]))
#ref(demo6.png)
-ありがとうございました。title( " " )でタイトルを書く方法...
-当然ながら,title でも描けますよ。ただ,title で描いたっ...
> hist(rnorm(1000), main="")
> title(main=expression(AA[1]))
-"The R Tips" にはこの件についての解説がありましたから、R...
-「The」のついていない方の [[R-Tips:http://cse.naro.affrc...
**ARIMAモデルの定数項 [#f5ac2269]
>[[rwiki]] (2007-01-09 (火) 18:47:05)~
~
arima で推定しようとしたら intercept が出てこなかった。...
//
**デンドログラムの線間隔および線太さ指定方法 [#pb277eb4]
>[[leau]] (2007-01-05 (金) 11:10:03)~
~
昨日はどうもありがとうございました。‘R’入門者ですのでおて...
1.デンドログラム最下段の線間隔を広げたいのですが、コマン...
2.デンドログラムの線の太さを小さくしたいのですが、コマン...
//
-1. 図に赤で示した間隔ですか?
#ref(clust.png)
そうだとすれば,昨日貰った回答を試してみましたか?~
>-ウィンドウサイズを広げてみましたか? -- &new{2007-01-...
>-(補足)単純にマウスで、たとえばWebブラウザのウィンドウ...
2. 昨日の回答の「...」を調べましたか。ヒントは par 関数の...
入門者だからって,説明はわかるようにやらないと。 -- &new...
-上図の間隔を広げたいのです。それをコマンドのスクリプトで...
-500個のデータでデンドログラムを描くことが適切かどうかも...
-図は単に画面上にウィンドウとして表示するだけではなく、PD...
-いろいろありがとうございました。参考になりました。しばら...
**クラスター分析におけるフォントサイズ変更方法について [#...
>[[leau]] (2007-01-04 (木) 10:34:38)~
~
クラスター分析で出力されるデンドログラムで、最下段にデー...
現状では、データの数が多いと、データNo.が重なり合って...
//
-ウィンドウサイズを広げてみましたか? -- &new{2007-01-04...
-(補足)単純にマウスで、たとえばWebブラウザのウィンドウの...
-本当に,文字サイズを小さくしたいのなら,以下のように,pl...
> hc <- hclust(dist(USArrests), "ave")
> plot(hc, cex=0.5, col="red")
-ありがとうございました。上記コマンドで、フォントが小さく...
-> 取り込んだデータ(Dataset)を用いて、ウォード法、ユーク...
はて?何をどうしようと希望されているのか,さっぱりわかり...
-説明不足ですみません。コマンドの例> hc <- hclust(dist(US...
-distはデフォルトでユークリッド距離行列を返すし、ウォード...
-フォントを小さくする方法を聞いているのだから,dist や hc...
上の方もおっしゃっているように,あなたがまずすべきことは...
-お陰様でうまくできました。早速オンラインヘルプを見てみま...
**独立標本データの分析 [#qc715304]
>[[yoshizaki]] (2007-01-03 (水) 20:26:11)~
~
独立標本データの分析を行いたいと思っております。~
http://aoki2.si.gunma-u.ac.jp/R/two_sample.html~
青木先生のページにあるのですが、~
~
男女 血液型 データ数 平均値 標準偏差~
男 A ~
男 B~
男 AB~
男 O~
女 A ~
女 B~
女 AB~
女 O~
全体 ~
~
ともう一歩踏み込んで出力をさせたいと思っているのですがう...
//
-複数の群変数で多元分類をして,各群ごとのデータ数と平均値...
http://aoki2.si.gunma-u.ac.jp/R/breakdown.html ~
ではいかがでしょうか。breakdown という名前は SPSS 由来な...
-有難うございます。一瞬で解決しました。まだまだ調査不足だ...
**2行2列のchisq.testの結果が? [#fb320955]
>[[リュウ]] (2007-01-01 (月) 21:18:35)~
~
>chisq.test(matrix(c(435,165,265,135),2,2,byrow=T))の結果...
Pearson's Chi-squared test with Yates' continuit...
data: matrix(c(435, 165, 265, 135), 2, 2, byrow = T)
X-squared = 4.1716, df = 1, p-value = 0.04111
手計算でするとカイ2乗は4.464となります~
2,2行列では結果が定義に基づく手計算とずれてしまいます~
何故ずれるのかご教授ください よろしくお願いします~
//
**Rでロジスティック回帰分析 [#ie2bdbef]
>[[R初心者]] (2006-12-29 (金) 06:32:09)~
~
The R Bookのp.308で解説されているCalibrationで、表13.23の...
ネットでググってみたんですが、ロジスティック回帰モデルに...
是非ともご教授お願いします。~
//
-この質問に答えようとする人は,少なくともその本を持ってい...
-他の本ならともかく、このWikiから生まれたThe R Bookの所持...
-ですよね。でもね,年末で,今,その本に,アクセスできない...
-普通に推測確率をfittedとかpredict(x,type="response")とか...
-色々なご回答ありがとうございました。当方で試してみたとこ...
-せっかくなので、出来上がった関数を掲載していただけると後...
-関数と言うほどのものではありませんが、例えばglm関数を使...
logisticmodel <- glm(y ~ x, family=binomial, data)
と計算した後、その結果(logisticmodel)を利用して、
table(cut(plogis(predict(logisticmodel)), br = c(0,.2,.4...
等と入力すると、The R Bookのp.308で解説されているCalibrat...
初心者同士で敢えて解説しますと、predict関数と言うのは、原...
predict(logisticmodel)
の計算で出力される数値はロジスティック曲線の定義域の部分...
以上より、ロジスティック累積分布の関数plogisを使って、
plogis(predict(logisticmodel))
と出力します。これで確率となるわけです。~
次にcut関数ですが、これは任意のデータをbr=で指定したとお...
cut(データ, br=c(・・・))
今回の場合は、『データ』の部分にロジスティック回帰での確...
ここで区分けがされるので、あとはtable関数を用いて、今まで...
-ありがとうございました! 参考になります. -- &new{2007-01...
**コックス回帰のパワーアナリシス [#f383123f]
>[[サンプルサイズ]] (2006-12-28 (木) 01:00:34)~
~
コックス回帰のパワーアナリシスを行ってくれる関数、パッケ...
//
-パワーアナリシスというのは,検定力についてあれこれ検討す...
-NCSS PASSなどにはCox proportional hazard model のサンプ...
**時系列処理の高速化の仕方 [#bd7267b6]
>[[銀]] (2006-12-27 (水) 15:52:43)~
~
R初心者です。~
時系列データの処理をする上で、なかなか高速化がうまく行き...
行いたい処理の簡略化したものは以下のようなものです。~
~
目的:ある指定された期間の最大値および最小値をすべての期...
~
サンプル1~
10000個のデータに対して前後15個のデータを含む31個のデータ...
#初期値
N=10000
x=diffinv(rnorm(N))
span=15
#関数定義例
test1 <- function(x,span){
n=length(x)
span_max=NULL
span_min=NULL
for(i in (span+1):(n-15)){
temp_data=x[(i-15):(i+15)]
span_max[i]=max(temp_data)
span_min[i]=min(temp_data)
}
outdata=cbind(span_max,span_min)
}
#実行速度のチェック
system.time(test1(x,span))
[1] 0.67 0.03 0.72 NA NA
といった感じです。~
行列を使って少しだけ高速化すると、~
サンプル2
test2 <- function(x,span){
n=length(x)
temp_data=matrix(NA,n,span*2+1)
for(i in (span+1):(n-span)){
temp_data[i,]=x[(i-span):(i+span)]
}
span_max=apply(temp_data,1,max)
span_min=apply(temp_data,1,min)
outdata=cbind(span_max,span_min)
}
system.time(test2(x,span))
[1] 0.53 0.03 0.58 NA NA
となります。~
しかし、より高速化する必要があり、このプログラムでforルー...
//
-行列必要なくないですか? -- [[takahashi]] &new{2006-12-2...
test3 <- function(x,span){
n=length(x)
span_max<-span_min<-NULL
sapply((span+1):(n-span),
function(i){span_max<<-max(x[(i-span):(i+span)]);span_min...
span_max<-c(rep(NA,span),span_max,rep(NA,span))
span_min<-c(rep(NA,span),span_min,rep(NA,span))
outdata=cbind(span_max,span_min)
}
test4 <- function(x,span){
n=length(x)
span_max<-c(rep(NA,span),sapply((span+1):(n-span),func...
span_min<-c(rep(NA,span),sapply((span+1):(n-span),func...
outdata=cbind(span_max,span_min)
}
test5 <- function(x,span){
n=length(x)
span_max<-span_min<-NULL
sapply((span+1):(n-span),function(i){d<-x[(i-span):(i+...
span_max<-c(rep(NA,span),span_max,rep(NA,span))
span_min<-c(rep(NA,span),span_min,rep(NA,span))
outdata=cbind(span_max,span_min)
}
t2<-system.time(test2(x,span))
t3<-system.time(test3(x,span))
t4<-system.time(test4(x,span))
t5<-system.time(test5(x,span))
print(t2)
print(t3)
print(t4)
print(t5)
手元のマシンは遅いので
[1] 2.92 0.02 2.97 NA NA
[1] 1.46 0.00 1.47 NA NA
[1] 1.45 0.00 1.45 NA NA
[1] 0.95 0.00 0.97 NA NA
という感じでした。
-少し外しているかも知れませんが、この計算速度で不満という...
N=10000
x=diffinv(rnorm(N))
span=15
n <- length(x)
nn <- (n-15)-(span+1)+1
X <- matrix(sample(1:n, (2*span+1)*nn, rep=TRUE), nn, 2*...
testA <- function(x, span){
xx <- matrix(x[X], nn, 2*span+1)
resmax <- xx[cbind(1:nn, max.col(xx))]
resmin <- xx[cbind(1:nn, max.col(-xx))]
cbind(resmax, resmin)
}
> system.time(testA(x, span))
[1] 0.074 0.014 0.089 0.000 0.000
-max.colがあったんですね. 私はmatrixのトリックを使ってみ...
testI <- function(x,span){
suppressWarnings(XX<-matrix(c(x,rep(NA,span*2+1)),nr...
ncol=span*2+1)[(span*2+1...
cbind(XX[cbind(1:dim(XX)[1],max.col(XX))],XX[cbind(1...
}
> system.time(testI(x, span))
[1] 0.052 0.008 0.063 0.000 0.000
-takahashiさんありがとうございます。 -- [[銀]] &new{2006-...
試してみたのですが、test2とtest3〜5では出力が違ってきます...
間違っていたと思われる部分を自分で修正してみました
test5の訂正
test5 <- function(x,span){
n=length(x)
span_max<-span_min<-NULL
sapply((span+1):(n-span),
function(i){d<-x[(i-span):(i+span)];span_max<<-ma...
span_max<-c(rep(NA,span),span_max,rep(NA,span))
span_min<-c(rep(NA,span),span_min,rep(NA,span))
outdata=cbind(span_max,span_min)
}
↓
test5_ver2 <- function(x,span){
n=length(x)
span_max<-span_min<-NULL
sapply((span+1):(n-span),
function(i){d<-x[(i-span):(i+span)];span_max[i]<<- ma...
span_max<-c(span_max,rep(NA,span))
span_min<-c(span_min,rep(NA,span))
outdata=cbind(span_max,span_min)
}
という感じでよいでしょうか?~
しかし、
> system.time(test5(x,span))
[1] 0.27 0.01 0.28 NA NA
> system.time(test5_ver2(x,span))
[1] 0.74 0.00 0.74 NA NA
となってしまいます。~
どのように修正すればよいでしょうか?
-申し訳ないです。間違ってました。test5_ver2のようにすると...
test6 <- function(x,span){
## 新しいコード
n=length(x)
ret<-sapply((span+1):(n-span),function(i){d<-x[(i-span...
outdata<-cbind(c(rep(NA,span),ret[1,],rep(NA,span)),c(...
}
print(system.time(test5(x,span)))
print(system.time(test5_ver2(x,span)))
print(system.time(test6(x,span)))
[1] 0.28 0.01 0.30 NA NA
[1] 1.76 0.06 1.84 NA NA
[1] 0.18 0.00 0.18 NA NA
こんな感じです。
-まとめ -- [[銀]] &new{2006-12-28 (木) 15:53:19};~
みなさんありがとうございます。~
かなり速くなりますね。~
~
とりあえずtestAの答え??~
testA_ver2 <- function(x, span){
n <- length(x)
nn <- n-2*span
X <- suppressWarnings(matrix(1:n,n+1,2*span+1)[1:n,])
xx <- matrix(x[X],n,2*span+1)
resmax <- xx[cbind(1:n, max.col(xx))][1:nn]
resmin <- xx[cbind(1:n, max.col(-xx))][1:nn]
cbind(resmax, resmin)
}
って感じですかね?~
最終的な結果は以下の通りです。(計算量を多くしました)
N=50000
x=diffinv(rnorm(N))
span=15
system.time(test1(x, span))
[1] 12.42 3.71 16.16 NA NA
system.time(test6(x,span))
[1] 1.09 0.10 1.22 NA NA
system.time(testA_ver2(x, span))
[1] 0.29 0.08 0.38 NA NA
system.time(testI(x, span))
[1] 0.24 0.03 0.26 NA NA
なかまさんのモノはシンプルで非常に早いですね。~
みなさんすばらしいですね。~
もっと勉強します。。。
-中間さんの超絶技巧に私同様ついていけない人も多い(ばかり...
n <- 10; span <- 3 とします。要点は
> XX
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 7 6 5 4 3 2 1
[2,] 8 7 6 5 4 3 2
[3,] 9 8 7 6 5 4 3
[4,] 10 9 8 7 6 5 4
という行列を作ることです。すると例えば x[XX[1,]] は最初に...
x[7:1] になります。XX を作る中間マジックは、まずベクトル
c(x,rep(NA,2*span+1) = c(1,2,3,4,5,6,7,8,9,10,NA,NA,NA,N...
を作り、R にこれを dim=c(16,7) の行列にせよ、と命令します...
> X<-matrix(c(x,rep(NA,span*2+1)),nrow=(length(x)+span*2...
Warning message:
行列のデータ長 [17] が行数 [16] を整数で割った、もしく...
> X
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 1 NA NA NA NA NA NA
[2,] 2 1 NA NA NA NA NA
[3,] 3 2 1 NA NA NA NA
[4,] 4 3 2 1 NA NA NA
[5,] 5 4 3 2 1 NA NA
[6,] 6 5 4 3 2 1 NA
[7,] 7 6 5 4 3 2 1
[8,] 8 7 6 5 4 3 2
[9,] 9 8 7 6 5 4 3
[10,] 10 9 8 7 6 5 4
[11,] NA 10 9 8 7 6 5
[12,] NA NA 10 9 8 7 6
[13,] NA NA NA 10 9 8 7
[14,] NA NA NA NA 10 9 8
[15,] NA NA NA NA NA 10 9
[16,] NA NA NA NA NA NA 10
となります。ここで不要な行 1:6, 11:16 を捨てれば目的の行...
XX <- X[complete.cases(X),]
としても良かったわけです。
**AIC以外での次数決定 [#tad19ff3]
>[[蟹玉]] (2006-12-19 (火) 14:56:13)~
~
現在、時系列モデルのひとつであるARモデルを用いて予測を行...
ヘルプ[help(ar)]にはAICを使わない方法は書いてありましたが...
//
-どこかのパッケージに用意されている可能性はありますが、基...
-AIC=ー2(モデルの最大尤度)+2k (k はモデルのパラメータ数)...
-BICを求めるならlibrary(fSeries)でもよいのでは? -- &new...
-質問者は BIC を如何にして求めるかを聞いているのではなく...
-Rのソースコードのsrc/library/stats/R/ar*.Rの中でAICを計...
-ありがとうございます。仰られる通りでして、ar関数でのBIC...
-上記のar*.RファイルはRの解凍後ディレクトリに発見しました...
-パッケージングするのが王道ですが、書き換えた関数群のRソ...
-要するに、以下のコードを走らせればよいです。BICの計算は...
BICでモデル選択してることがわかるかと思います -- [[takaha...
ar.yw.default <-
function (x, aic = TRUE, order.max = NULL, na.action...
demean = TRUE, series = NULL, ...)
{
if(is.null(series)) series <- deparse(substitute(x))
ists <- is.ts(x)
x <- na.action(as.ts(x))
if(ists) xtsp <- tsp(x)
xfreq <- frequency(x)
x <- as.matrix(x)
if(!is.numeric(x))
stop("'x' must be numeric")
if(any(is.na(x))) stop("NAs in 'x'")
nser <- ncol(x)
if (demean) {
xm <- colMeans(x)
x <- sweep(x, 2, xm)
} else xm <- rep(0, nser)
n.used <- nrow(x)
order.max <- if (is.null(order.max)) floor(10 * log1...
else round(order.max)
if (order.max < 1) stop("'order.max' must be >= 1")
xacf <- acf(x, type = "covariance", lag.max = order....
demean = demean)$acf
if(nser > 1) {
## multivariate case
snames <- colnames(x)
A <- B <- array(0, dim = c(order.max + 1, nser, ...
A[1, , ] <- B[1, , ] <- diag(nser)
EA <- EB <- xacf[1, , , drop = TRUE]
partialacf <- array(dim = c(order.max, nser, nse...
xaic <- numeric(order.max + 1)
solve.yw <- function(m) {
# Solve Yule-Walker equations with Whittle's
# generalization of the Levinson(-Durbin) al...
betaA <- betaB <- 0
for (i in 0:m) {
betaA <- betaA + A[i + 1, , ] %*% xacf[m...
betaB <- betaB + B[i + 1, , ] %*% t(xacf...
}
KA <- -t(qr.solve(t(EB), t(betaA)))
KB <- -t(qr.solve(t(EA), t(betaB)))
EB <<- (diag(nser) - KB %*% KA) %*% EB
EA <<- (diag(nser) - KA %*% KB) %*% EA
Aold <- A
Bold <- B
for (i in 1:(m + 1)) {
A[i + 1, , ] <<- Aold[i + 1, , ] + KA %*...
B[i + 1, , ] <<- Bold[i + 1, , ] + KB %*...
}
}
cal.aic <- function() { # omits mean params, tha...
det <- abs(prod(diag(qr(EA)$qr)))
return(n.used * log(det) + 2 * m * nser * ns...
}
cal.resid <- function() {
resid <- array(0, dim = c(n.used - order, ns...
for (i in 0:order) {
resid <- resid + x[(order - i + 1):(n.us...
, drop = FALSE] %*% t...
}
return(rbind(matrix(NA, order, nser), resid))
}
order <- 0
for (m in 0:order.max) {
xaic[m + 1] <- cal.aic()
if (!aic || xaic[m + 1] == min(xaic[1:(m + 1...
ar <- A
order <- m
var.pred <- EA * n.used/(n.used - nser *...
}
if (m < order.max) {
solve.yw(m)
partialacf[m + 1, , ] <- -A[m + 2, , ]
}
}
xaic <- xaic - min(xaic)
names(xaic) <- 0:order.max
resid <- cal.resid()
if(order > 0 ) {
ar <- -ar[2:(order + 1), , , drop = FALSE]
dimnames(ar) <- list(1:order, snames, snames)
} else ar <- array(0, dim=c(0, nser, nser),
dimnames=list(NULL, snames, s...
dimnames(var.pred) <- list(snames, snames)
dimnames(partialacf) <- list(1:order.max, snames...
colnames(resid) <- colnames(x)
} else {
## univariate case
r <- as.double(drop(xacf))
z <- .Fortran(stats:::R_eureka, ## ここも変更
as.integer(order.max),
r, r,
coefs=double(order.max^2),
vars=double(order.max),
double(order.max))
coefs <- matrix(z$coefs, order.max, order.max)
partialacf <- array(diag(coefs), dim=c(order.max...
var.pred <- c(r[1], z$vars)
xaic <- n.used * log(var.pred) + 2 * (0:order.ma...
## ここから
tmp<-data.frame(order=0:order.max,AIC=xaic)
xaic <- n.used * log(var.pred) + log(n.used) * (...
tmp$BIC<-xaic
print(tmp)
## ここまで
xaic <- xaic - min(xaic)
names(xaic) <- 0:order.max
order <- if (aic) (0:order.max)[xaic == 0] else ...
ar <- if (order > 0) coefs[order, 1:order] else ...
var.pred <- var.pred[order+1]
## Splus compatibility fix
var.pred <- var.pred * n.used/(n.used - (order +...
if(order > 0)
resid <- c(rep(NA, order), embed(x, order+1)...
else resid <- as.vector(x)
if(ists) {
attr(resid, "tsp") <- xtsp
attr(resid, "class") <- "ts"
}
}
res <- list(order=order, ar=ar, var.pred=var.pred, x...
aic = xaic, n.used=n.used, order.max=ord...
partialacf=partialacf, resid=resid, meth...
series=series, frequency=xfreq, call=mat...
if(nser == 1 && order > 0)
res$asy.var.coef <-
solve(toeplitz(drop(xacf)[seq_len(order)]))*...
class(res) <- "ar"
res
}
print(ar(lh))
実行結果
> source('tmp.r')
order AIC BIC
1 0 -56.12519 -56.12519
2 1 -73.43620 -71.56500
3 2 -73.89383 -70.15143
4 3 -74.43186 -68.81825
5 4 -72.94150 -65.45669
6 5 -71.21907 -61.86306
7 6 -69.43864 -58.21144
8 7 -67.96236 -54.86395
9 8 -65.96929 -50.99968
10 9 -65.69066 -48.84985
11 10 -63.69097 -44.97896
12 11 -61.89799 -41.31478
13 12 -59.94707 -37.49266
14 13 -57.97006 -33.64445
15 14 -56.38814 -30.19133
16 15 -56.99202 -28.92400
17 16 -55.08691 -25.14769
Call:
ar(x = lh)
Coefficients:
1
0.5755
Order selected 1 sigma^2 estimated as 0.2079
**rep.aovは何処にある? [#lddf79f2]
>[[高井]] (2006-12-16 (土) 09:55:35)~
~
反復測定データの分散分析を考えており,ここを検索したら「...
//
-「[[Rの統計解析関数Tips]]」にあります。 -- &new{2006-12...
-rep.aov で,ググったら,一発目に出てきます。そのあと,ペ...
-ああ〜。あのコードが関数なんですね。どなたかの自作関数と...
**yatex-modeとnoweb-minor-modeの両立 [#i9fde60a]
>[[S]] (2006-12-13 (水) 17:42:12)~
~
emacs上でRnwファイルを編集しているのですが、noweb-minor-m...
よろしくお願いします。このWikiのSweave関連ページには目を...
//
-わたしのは, 5.3.0ですが,
(defun Rnw-mode ()
"Major mode for editing Sweave(R) source.
See `noweb-mode' and `R-mode' for more help."
(interactive)
(require 'ess-noweb)
(noweb-mode 1)
(noweb-set-doc-mode 'yatex-mode)
(noweb-set-code-mode 'R-mode))
とか書いてあります.-- [[なかま]] &new{2006-12-13 (水) 19:...
-なかまさま、お陰様で私の環境でもうまくいきました。感謝申...
**制約条件つき関数の描画または同時描画 [#xc0bb3ca]
>[[figure]] (2006-12-13 (水) 15:10:10)~
~
はじめまして。関数の描画についての質問です~
(1)H(x) >0で1 x<=0で0の描き方。(line文以外)~
(2)円をその半径を超えた領域内に描くとき、consoleにNAN...
(3)大きさの違う二つ円を円のなかに円が含まれる場合にmat...
大変初歩的な質問ですみませんが、よろしくお願いします.~
xの条件付きで関数定義をしても、plot()させることができませ...
~
//
-(1)curve(ifelse(x>0,1,ifelse(x<=0,0,NA)),-1,2) -- [[taka...
-(3)matplot(data.frame(sin(2*pi*0:180/180),0.5*sin(2*pi*0...
-(2)plot(sin(2*pi*0:180/180),cos(2*pi*0:180/180),xlim=c(-...
-(1)は,plot.stepfun(0, 0:1) あと,好きなだけお化粧を。(...
-どうも有難うございます。うっかりしていたのは y=sqrt(r^2...
- -- [[takahashi]] &new{2006-12-14 (木) 23:23:37};
plot.new()
polygon(0.5+0.5*sin(2*pi*0:180/180),0.5+0.5*cos(2*pi*0:1...
polygon(0.5+0.25*sin(2*pi*0:180/180),0.5+0.25*cos(2*pi*0...
-以下のようなものでも,「ごてごて」してるとは思いませんし...
circle <- function(cx, cy, f, col)
{
theta <- seq(0, 2*pi, length=400)
polygon(cx+f*sin(theta), cy+f*cos(theta), col=col, bord...
}
plot.new()
circle(0.5, 0.5, 0.5, "red")
circle(0.5, 0.5, 0.25, "white")
**ARモデルのAICについて [#g4aec0f6]
>[[おやじ]] (2006-12-12 (火) 17:39:53)~
~
AR()で予測式をつくり、そのAICを$AICで返した時に、最小値...
//
-ARという関数は私は見つけられなかったのですが,arという関...
Order selection is done by AIC if aic is true. This is p...
the methods here only ar.mle performs true maximum like...
The AIC is computed as if the variance estimate were the...
the determinant term from the likelihood. Note that this...
as the Gaussian likelihood evaluated at the estimated pa...
In ar.yw the variance matrix of the innovations is compu...
fitted coefficients and the autocovariance of x.
と書いてあるのですが,これがあなたの質問の回答なんでしょ...
-その通りです。AIC 値は差だけが意味を持ちますから、わかり...
-ありがとうございます!!やはり差をとっているんですね!す...
**閾値を設定したクラスタリング解析について [#y92197d2]
>[[学生]] (2006-12-12 (火) 11:44:01)~
~
関数hclust()を使って階層的クラスター分析をする際にcutree(...
//
-このページの下の方に(目次参照)「クラスター図を横向きで...
-なぁんだ。? cutree しなかったんですか?ちゃんと,h とい...
**repeated-measures ANCOVA [#we73da03]
>[[s.y.]] (2006-12-11 (月) 15:52:15)~
~
皆様、~
repeated-measures ANCOVAをRで行うための簡単な方法はありま...
//
-Repeated measured ANOVA については,[[Rの統計解析関数Ti...
-Repeated-measures ANOVAではなく、repeated-measures ANCOV...
-わかっています。ですから,「Repeated measured ANOVA につ...
-はい、検索はしたのですが、わかりませんでした。Rに関する...
-困った時の「R site search」( http://finzi.psych.upenn.ed...
-R site searchを使用してみましたが、やはりわかりませんで...
**loess平滑化について [#e469c502]
>[[MU]] (2006-12-09 (土) 12:38:20)~
~
皆様のお教えをいただけるようにお願い申し上げます.~
体重成長の結果を平滑化しようとしています.~
使用環境は次の通りです.~
PCはWindows XPで、R version 2.2.1. パッケージは methods, ...
エクセルから読み込んだマトリックスBWを元に、図を作成しま...
#ref(uc.png)
そして、[[RjpWiki アーカイブス]]の〔Rの基本パッケージ〕中...
具体的には次の通りです.
> BW<- read.delim("clipboard")
> x<- BW[,1]
> y<- BW[,2]
> scatter.smooth(x,y,span=2/3,degree=1,family=c ("symmet...
xlab=deparse(substitute(x)), ylab=deparse(substitu...
ylim=range(y,prediction$y), evaluation=50)
以下にエラーrange(y, prediction$y) : オブジェクト "predi...
この場合の、解決策を教えていただけないでしょうか.~
勉強が足りない状態で、お伺いすることをお許しください.よろ...
//
-2.1 の lowess 関数の戻り値を prediction に付置しているの...
-たぶんfamilyの引数でもエラーが出そうですね。 -- &new{20...
-family の指定法は,尋常ではないですが,エラーにはなりま...
-取り急ぎ、お礼を申し上げます。まだ理解が進まず、解決でき...
//
**実行ファイルが文字化け?です。 [#z8d0b8a7]
>[[-0.889]] (2006-12-03 (日) 00:13:33)~
~
実行ファイルをダウンロードし、出来たショートカットをクリ...
それから、マクネマー検定のことですが、不一致の数だけが問...
//
-変な文字と言われても確認のしようがないと思います。実例を...
-実行ファイルが文字化け,ではなくて,できたショートカット...
-この質問の下3つ目ですね。やたら,スレッドを増やさないよ...
-一度に関連の無い質問を複数するのも行儀が悪いですね。 -- ...
-ご迷惑をおかけして申し訳ありません。
フリーのソフトウエアをダウンロードして、使わせていただく...
トップページの「Rのインストール」からR-2.3.1をダウンロー...
それをお見せしようとコピーして貼り付けましたら「Rはフリー...
長くなりすみません。 -- [[マキヤン]] &new{2006-12-03 (日)...
-勝手ながら整形させていただきました.ご質問の件ですが,以...
~
[[http://cwoweb2.bai.ne.jp/~jgb11101/files/cart/cart.html...
~
この分だと,R を使い始めた後もいろいろと分からないことが...
-いろいろなご教示をありがとうございました。がんばってみま...
**Linux版Rにパッケージをなんでもかんでも追加する方法 [#nd...
>[[Fedore Core5使い]] (2006-12-02 (土) 16:44:50)~
~
Linux(Fedore Core5)に、「[[追加パッケージをなんでもかんで...
# 1. CRANから一覧を入手
packs<-CRAN.packages(contriburl=contrib.url("http://cran...
# 2. 一覧をもとにダウンロードとインストール
install.packages(packs[,1],contriburl=contrib.url("http:...
エラーが出て上手く行きません。。。~
(「contriburlは廃止予定です」というエラーは無視してよい...
対処法を教えていただければうれしいのですが。。。~
-例えば、どんなエラーになるのでしょう。一般には、一つのパ...
-御指導通り、「一つのパッケージをインストールしようとして...
> install.packages("Rcmdr")
--- Please select a CRAN mirror for use in this session ...
Loading Tcl/Tk interface ... 以下にエラーdyn.load(x, as....
as.logical(now)) :
共有ライブラリ '/usr/lib/R/library/tcltk/libs/tcl...
libtk8.4.so: 共有オブジェクトファイルを開けません: その...
エラー:.onLoad は 'tcltk' のための 'loadNamespace' に失...
ひとつずつインストールするのが良いようですね。御指導あり...
-tkのライブラリが無いといってますよ. yum install tk をす...
**RODBCとEXCELファイル・ACCESSファイルの読み込みについて ...
>[[-0.889をハンドルネームにするのは・・・]] (2006-12-02 (...
~
EXCELファイルやACCESSファイルを読み込む際の話ですが、Wind...
あと、これは興味本位の質問なのですが、Linux版RでEXCELファ...
ご指導よろしくお願い致します。~
//
-レスがついていないようなので,まず最近のMacOSXに日本語が...
-Windows版で読み込めるんですか?僕もRcmdr経由でRODBC試して...
-Mac,Linuxは実機が手元にないのでどこまで可能か不明ですが...
-R2.4.1&RODBCver1.1-7,WinXPsp2でc:?test.xls作成し、コンソ...
> library(RODBC)
> channel <- odbcConnectExcel("C:/test.xls")
> channel
RODB Connection 7
Details:
case=nochange
DBQ=C:?test.xls
DefaultDir=C:?
Driver={Microsoft Excel Driver (*.xls)}
DriverId=790
MaxBufferSize=2048
PageTimeout=5
**実行ファイルのダウンロードについて(ダウンロードファイ...
>[[-0.889]] (2006-11-30 (木) 21:57:15)~
~
Rのダウンロードを教えてください。The R projectに行っても...
//
-http://cran.md.tsukuba.ac.jp/bin/windows/base/ へ行きま...
-実行ファイルのダウンロードについて教えていただきありがと...
-真の初心者です。R-2.4.0-win32をダウンロードして、ショー...
//
-トップページの「Rのインストール」は読んだんですか? 手取...
-Macintoshだともう少し簡単で,少なくともクリックして文字...
**同じ大きさの複数のプロットを重ねて描画 [#me056f46]
>[[初心者です]] (2006-11-22 (水) 23:26:49)~
~
いつもお世話になっています.~
共通の横軸を持つプロットを複数積み重ねて描画したいのですが,
theta<-seq(-pi,pi,by=0.1)
par(mfrow=c(3,1),mar=c(0,4,0,0),oma=c(5,4,4,1))
plot(theta,sin(theta),type="l",xlab="",ylab=expression(s...
axis(1,tick=T,labels=F)
plot(theta,cos(theta),type="l",xlab="",ylab=expression(c...
axis(1,tick=T,labels=F)
plot(theta,tan(theta),type="l",xlab=expression(theta),yl...
#ref(mplot1.png)
とすると,一番下のプロットに付けたxlabが消えてしまいます...
theta<-seq(-pi,pi,by=0.1)
par(mfrow=c(3,1),mar=c(0,4,0,0),oma=c(5,4,4,1))
plot(theta,sin(theta),type="l",xlab="",ylab=expression(s...
axis(1,tick=T,labels=F)
plot(theta,cos(theta),type="l",xlab="",ylab=expression(c...
axis(1,tick=T,labels=F)
par(mar=c(5,4,0,0) plot(theta,tan(theta),type="l",xlab=e...
#ref(mplot2.png)
としてみましたが,これでは最後にプロットしたグラフの大き...
どなたかうまい方法をご存知であれば教えていただけないでし...
環境 : R version 2.5.0 Under development (unstable) (2006...
i386-pc-mingw32~
//
-最初のプログラムの方で,2行目のmarの設定を変えればいいだ...
mar=c(0,4,0,0)じゃ,xlab を描くだけの余白がないんですよ。...
par(mfrow=c(3,1),mar=c(4,4,0,0),oma=c(5,4,4,1))
-回答ありがとうございます.説明不足だったのですが,三つの...
二つ目に書いたプログラムでは三つ目のプロットのxlabの入る...
-あ,そうか。それじゃ,3つのグラフの間に隙間ができるとい...
-そうなんです.残された方法はmtextで下の余白にxlabを書き...
-でもね。縦軸の目盛りの数値が重なってみっともないとか言う...
文字の大きさのバランスも変だったので,私の環境で調整して...
theta<-seq(-pi,pi,by=0.1)
par(mfrow=c(3,1),mar=c(0,4,0,0),oma=c(4,1,1,1),xpd=NA,ce...
plot(theta,sin(theta),type="l",xlab="",ylab=expression(s...
axis(1,tick=T,labels=F)
plot(theta,cos(theta),type="l",xlab="",ylab=expression(c...
axis(1,tick=T,labels=F)
plot(theta,tan(theta),type="l",xlab="",ylab=expression(t...
text(0, -110, expression(theta))
#ref(multi.png)
-縦軸(野ラベル,目盛り)は左右交互に描くとよいかな。(上...
-ありがとうございました.参考にしてやってみました.
theta<-seq(-pi,pi,by=0.1)
par(mfrow=c(3,1),mar=c(0,4,0,0),oma=c(5,4,4,1),las=1)
plot(theta,sin(theta),ylim=c(min(sin(theta))*1.5,max(sin...
ylab=expression(sin(theta)),xaxt="n",yaxt="n")
axis(1,tick=T,labels=F)
axis(2,tick=T,labels=T,at=pretty(sin(theta)))
plot(theta,cos(theta),ylim=c(min(cos(theta))*1.5,max(cos...
ylab=expression(cos(theta)),xaxt="n",yaxt="n")
axis(1,tick=T,labels=F)
axis(2,tick=T,labels=T,at=pretty(cos(theta)))
plot(theta,tan(theta),ylim=c(min(tan(theta))*1.5,max(tan...
ylab=expression(tan(theta)),xaxt="n",yaxt="n")
axis(1,tick=T,labels=T)
axis(2,tick=T,labels=T,at=pretty(tan(theta)))
mtext(expression(theta),side=1,line=3)
#ref(mplot3.png)
あとは仰られるように文字サイズの微調整も必要そうですね. ...
-水色の背景で表示される部分は自動改行されず、ブラウザーで...
**Rmapのインストールについて [#gc844912]
>[[まめ]] (2006-11-22 (水) 14:54:07)~
~
Rmapを用い、地図を作成したいのですが、手順どおり作業を行...
ご存知の方教えてください。~
~
使用環境は以下です。~
PC:Windows XP
> sessionInfo()
Version 2.3.1 (2006-06-01)
i386-pc-mingw32
attached base packages:
[1] "methods" "stats" "graphics" "grDevices" "uti...
[7] "base"
手順は以下の通り行いました。~
1、以下のファイルを入手~
・shapefile.dill~
・proj.dill~
・Rmap_1.1.0~
2、shapefill.dillおよびproj.dillをRインストール先のbinフ...
3、RGuiを起動し、『パッケージ』から『ローカルにあるzipフ...
~
以上を行うと以下のように示されます。
> utils:::menuInstallLocal()
updating HTML package descriptions
そしてRmapパッケージをロードすると、エラーが返されます。
> library(rmap)
以下にエラーlibrary(rmap) : 'rmap' という名前のパッケー...
そこで、再び『パッケージ』に入り、『パッケージの読み込み....
> local({pkg <- select.list(sort(.packages(all.available...
+ if(nchar(pkg)) library(pkg, character.only=TRUE)})
以下にエラーlibrary(pkg, character.only = TRUE) :
'Rmap' は有効なパッケージではありません。バージョ...
以上が私の行った作業とその結果です。
初心者のため、何が問題点なのか分かりません。お手数ですが...
//
-RmapってR1.9.Xまでしか使えなかったような記憶があります。...
-ありがとうございます。試してみます。 -- [[まめ]] &new{20...
**Rの予約語 [#e4bdbef4]
>[[ちょもらんま]] (2006-11-14 (火) 13:11:51)~
~
Rで使われているRのシステム自体が用いる変数名=予約語(data...
またもし自分で作ったRスクリプト中でRの予約語と重複するよ...
//
-http://cran.r-project.org/doc/manuals/R-lang.html#Reserv...
FALSE, TRUE, break, else, for, function, if, in, next, re...
これらは,変数名などとして使うことはできません(for <- 5 ...
-これらはエラーになるから実害は無いでしょうが、たとえば ...
-それは予約語でないので仕方ない。そういうことをする人が悪...
ちなみに,本当に sin を cos にしたいなら,sin <- cos だけ...
-みなさま、ご教授ありがとうございました。疑問がすべて解決...
-おぉ、仲間を発見!私もTという名前の変数をうっかり作って...
-予約語使用即エラーにならない例も(将来は知らない)。-- ...
> ..1 <- 3
> ..1
[1] 3
**マトリクスからNAを除去する方法 [#u19ecbe3]
>[[ふみふみ]] (2006-11-14 (火) 10:53:52)~
~
数値(整数4桁、小数3桁)からなるデータフレーム、またはマト...
どうぞよろしくお願いいたします。~
//
-捜すより作る方が早い -- &new{2006-11-14 (火) 11:16:04};
> # 例を作る
> x <- matrix(1:30, 5, 6)
> x[1,2] <- x[3,4] <- x[4, 6] <- NA
> x
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 NA 11 16 21 26
[2,] 2 7 12 17 22 27
[3,] 3 8 13 NA 23 28
[4,] 4 9 14 19 24 NA
[5,] 5 10 15 20 25 30
> # 適用 わずかにこれだけ
> y <- x[!is.na(rowSums(x)), !is.na(colSums(x))]
> y
[,1] [,2] [,3]
[1,] 2 12 22
[2,] 5 15 25
-ありがとうございます。本当に迅速な回答痛み入ります。自分...
-x[complete.cases(x),complete.cases(t(x))] というのもあり...
> x[complete.cases(x),complete.cases(t(x))]
[,1] [,2] [,3]
[1,] 2 12 22
[2,] 5 15 25
それでもって,びっくりしたことは,後者の方が効率がよいと...
> x <- matrix(1:30, 5, 6)
> x[1,2] <- x[3,4] <- x[4, 6] <- NA
> system.time(for(i in 1:100000) y <- x[!is.na(rowSums(x...
user system total user.c...
24.156 0.480 27.397 ...
> system.time(for(i in 1:100000) z <- x[complete.cases(x...
user system total user.c...
4.914 0.087 5.540 ...
ていうか,行列のサイズにも依存するかもね。こういうのは,...
> x <- matrix(rnorm(1000000), 1000, 1000)
> x[sample(1000,50),sample(1000,50)] <- NA
> system.time(for(i in 1:100) y <- x[!is.na(rowSums(x)),...
user system total user.c...
27.518 2.444 32.602 ...
> system.time(for(i in 1:100) z <- x[complete.cases(x),c...
user system total user.c...
25.149 4.482 32.726 ...
**table()で集計した時にカウントがゼロの項目も0と出したい ...
>[[<ふ>]] (2006-11-09 (木) 22:24:40)~
~
みなさま、~
~
データの単純な集計にtable()をつかってますが、以下のような...
たとえば、xを、
> x <- c(1,1,1,2,2,4,4,5)
として、
> table(x)
を実行すると、
x
1 2 4 5
3 2 2 1
となりまして、データがある、1,2,4,5は、でてきますが、デー...
しかし、グラフに表示するにあたって、項目3が、ゼロであるこ...
つまり、
x
1 2 3 4 5
3 2 0 2 1
というような状態をつくりたいのですが、なにか方法はありま...
たとえば、項目の要素を、ベクトルで与えて(ここでは、c(1:5...
アドバイスよろしくお願いいたします。~
//
-table(factor(x, levels=1:5)) -- [[コラロド]] &new{2006-1...
-ありがとうございます。既出なんですね、やはり...。いろい...
- [[知っているといつか役に立つ(?)関数達]] の (74) を参照...
-「知っていると..」(74)も拝見いたしました。ありがとう...
**ファイルサーバーのファイルを取得する方法 [#c49bc82d]
>[[Akira]] (2006-11-08 (水) 17:59:29)~
~
WindowsXPからLinux(ubuntu)に乗り換えようとしています。R-2...
ファイルサーバにあるデータを読み込みたいのですが、サーバ...
WinXPではGUIでサーバにアクセスしておけば、R上でも読み込む...
Linuxではうまくできません。Linux上でsetwd("//xxx.xxx.xx.x...
WinXPでは次のようにしています。
+//xxx.xxx.xx.xxx/abcにデータがあるとします
+GUIでサーバにアクセス(UserNameとPasswordを入力)
+Rを起動
+setwd("//xxx.xxx.xx.xxx/abc")で移動可能
//
-mountしとけばよろしいのでは? -- &new{2006-11-08 (水) 18...
-解決しました。ありがとうございます。ubuntuのDesktopにmou...
>sudo smbmount //xxx.xxx.xx.xxx/abc /mnt/abc -o username...
**jpeg()、bmp()などのファイル番号の取得方法は? [#ge8b41d1]
>[[<ふ>]] (2006-11-07 (火) 17:11:15)~
~
みなさま、~
~
グラフを出力するにあたり~
jpeg()~
のように、ファイル名を指定しないでおくと、Rplot%03d.jpg ...
~
で、この%03dにわたされている数値を参照する方法はありませ...
~
現在やっているのは、~
1)xtable()である項目をHTMLの表にする。~
2)その項目のグラフを描画しファイルに書き出す。~
~
これを、一本の report.html というようなファイルで束ねるこ...
1)は、そのまま、sink(repot.html)で吐き出してくれるのです...
~
アドバイスよろしくお願いいたします。~
//
-ファイル名に含まれる連番を自分で管理すればよろしいのでは...
以下のようなプログラムの断片では,ファイル名はFig201.jpeg...
蛇足ですが,グラフに jpeg はあまりお勧めではないかも知れ...
for (i in 1:3) {
file.name <- sprintf("Fig%03i.jpeg", i+200)
jpeg(file.name, width=400, height=300)
hist(rnorm(1000))
dev.off()
}
-実は、一連のデータを集計しながらグラフを描いたり、削除し...
-あなたがその情報にアクセスするタイミングが今ひとつ明確で...
fname <- function()
{
a <- list.files()
sprintf("Rplot%03i.jpg", max(as.numeric(substr(a[grep("...
}
利用例は以下のごとし。ただ,私は,pdf 関数でやってみた。
> fname <- function()
+ {
+ a <- list.files()
+ sprintf("Rplot%03i.pdf", max(as.numeric(substr(a[grep...
+ }
> pdf(onefile=FALSE)
> hist(rnorm(1000))
> hist(runif(1000))
> fname()
[1] "Rplot002.pdf"
> plot(1:100, (1:100)^2)
> plot(1:100, (1:100)^3)
> fname()
[1] "Rplot004.pdf"
> plot(rnorm(100), rnorm(100))
> fname()
[1] "Rplot005.pdf"
-なるほど、作業ディレクトリのファイル名から引き出してくる...
-前述の方法よりかなりわかりにくいが、次の一行コマンドでも...
> row.names(a <- file.info(list.files(pattern=glob2rx("...
[1] "Rplot002.jpg"
ちなみに得られる正規表現は以下の通りですから、これを直接 ...
> glob2rx("Rplot[0-9]*.jpg")
[1] "^Rplot[0-9].*??.jpg$"
**read.fortran, read.fwf とマルチバイト [#vd78c802]
>[[青木繁伸]] (2006-11-06 (月) 18:26:00)~
~
自分ではやらないことも,他人がやってしまうとその後始末が...
~
私なら数値にコード化してデータ入力するのだが,日本語のま...
入力欄が5バイト分という半端な状態だったのであるが,これを...
read.fwfのソースをいじるのも気が進まない。~
//
-一次的にC localeで読み込んでしまえばいいかと
lc<-Sys.getlocale("LC_CTYPE")
Sys.setlocale("LC_CTYPE","C")
df<-read.fwf("hoge.dat",width=c(バイト,バイト,バイト))
Sys.setlocale("LC_CTYPE",lc)
. -- [[なかま]] &new{2006-11-06 (月) 20:23:28};
-なるほど。そんな手があるんですか。勉強になります。 -- [[...
-やってみました。残念ながら,読みこむことはできませんでし...
> lc<-Sys.getlocale("LC_CTYPE")
> Sys.setlocale("LC_CTYPE","C")
[1] "C"
> con <- file(description="ID1001-2.txt", open="r", enco...
> df <- read.fwf(con, width=c(4,rep(1,13),6,2,1,1,6,2,re...
Warning messages:
1: 入力コネクション 'ID1001-2.txt' に不正な入力がありま...
2: 'ID1001-2.txt' に関する readLines で不完全な最終行が...
> Sys.setlocale("LC_CTYPE",lc)
[1] "ja_JP.UTF-8"
-CP932環境でだけです. charwidth==byteでは無い環境ではread...
-マックな人はあきらめてと言われたのですが,必要な人もいる...
Mac OS X で,gawk (awk でもよいけど)がインストールされ...
perl を使う方がいいのだろうけど,私は perl をしゃべれない...
# fn.in 読みこみたいデータファイル名
# width 各変数に読みこむ欄の桁数(バイト数!)
# header 1行目に変数名があるかないか
get.fwf <- function(fn.in, width, header=FALSE)
{
nf <- length(width)
pos <- cumsum(width)+1
pos <- c(1, pos[-nf])
fn.out <- tempfile()
fn.awk <- tempfile()
con <- file(fn.awk, open="w", encoding="euc-jp")
cat("BEGIN {?n", file=con)
for (i in 1:nf) {
cat(sprintf("pos[%i]=%i; width[%i]=%i?n", i, pos[i], i...
}
cat("}?n", file=con)
if (header) {
cat("FNR == 1?n", file=con)
cat("FNR > 1", file=con)
}
cat(sprintf("{ for (i = 1; i < %i; i++) {?n", nf), file...
cat("str = allblank(substr($0, pos[i], width[i]))?n", f...
cat("printf ?"%s??t?", str}?n", file=con)
cat("str = allblank(substr($0, pos[i], width[i]))?n", f...
cat("print str }?n", file=con)
cat("function allblank(str) {?n", file=con)
cat("for (j=1; j <= length(str); j++)?n", file=con)
cat("if (substr(str, j, 1) != ?" ?") return str?n", fil...
cat("return ?"NA?"", file=con)
cat("}?n", file=con)
close(con)
# awk しかない人は ln -s awk gawk するか,下の gawk を ...
cmd <- paste("gawk -f", fn.awk, fn.in, ">", fn.out)
print(cmd)
system(cmd)
df <- read.table(file(fn.out, open="r", encoding="euc-j...
unlink(fn.awk)
unlink(fn.out)
return(df)
}
# 利用例
# df <- get.fwf("test.dat", width=c(4, rep(1, 13), 5, 2,...
**pieをclockwise=TRUEでつかいたい [#jb9519e6]
>[[<ふ>]] (2006-11-04 (土) 23:17:00)~
~
みなさま、~
pieを使って円グラフを書くときに、今までの習慣で、0時から...
pie2() = pie(closkwise=TRUE)~
~
というように、新しいインスタンスをつくれないだろうかと思...
ですが、上記の形ではNGでした。~
~
なにかやりようがありそうですが、どなたかご教示いただけま...
//
- 例えば次のようにすればよさそうですが、もっと簡単な方法...
> pie2 <- function(x, labels = names(x), edges = 200, ra...
init.angle = 90, density = NULL, angle ...
col = NULL, border = NULL, lty = NULL, ...
{
pie(x, labels, edges, radius, clockwise = TRUE...
density, angle, col, border, lty, main, ...)
}
-pie2 <- function(x, ...) pie(x, clockwise=TRUE, ...) だ...
-pie のソースを書き換えて,pie に定義し直すというのも。 -...
-ありがとうござます。個人的にはソース書き換えでやっていた...
-なるほど。pie2 <- function(...) pie(...,clockwise=TRUE) ...
> pie2 <- function(x, labels = names(x), edges = 200, ra...
clockwise = TRUE, init.angle = if(clo...
density = NULL, angle = 45, col = NUL...
lty = NULL, main = NULL, ...)
{ pie(x, labels, edges, radius, clockwise, ini...
density, angle, col, border, lty, main, ...
}
-ああだ,こうだあるようですが,このような応用はオブジェク...
ああだ,こうだいいたいときには
pie2 <- function(x, clockwise=TRUE, ...) pie(x, clockwis...
とすれば完璧なんじゃないでしょうか。こうしておけば,clock...
それと,pie2 の引数名にclockwiseを使いましたが,これは原...
そのようにしなかったのは,利用者の便宜のためです。~
てうか,そんなような別の関数を定義するとか,そのような使...
**PLSRについて [#xb248ae1]
>[[kazu]] (2006-11-02 (木) 15:21:46)~
~
Rを用いて、PLSRを行いたいと思っています。~
Rとpls.pcrのversionはそれぞれ、2.4.0、1.2-1です。
下記のページを参考にしています。~
http://cse.naro.affrc.go.jp/iwatah/toukei/pls/2004/pls_in...
pls.pcrパッケージに含まれたサンプルデータではpls解析を行...
wine.txtを
> wine <- read.table("wine.txt")
で読み込み
> wine
で読み込めたことを確認しました。~
次に
> Y <- scale(wine[,1:3])
> X <- scale(wine[,4:7])
でデータを切り分けました。~
plsrを行うために、~
http://cran.r-project.org/doc/packages/pls.pdf~
を参考に
> wine.pls <- plsr(Y ~ X, 6, validation="CV")
と入力しましたが
以下にエラーmvr(Y ~ X, 6, validation = "CV", method = "k...
Invalid number of components, ncomp
と表示されうまくいきません。ncompの値をいじってはみたので...
どのような原因が考えられるでしょうか?~
//
-ncomp をいくつにしましたか?wineデータがどんなのかわから...
- コメントありがとうございます。具体的にはこのようなデー...
Hedonic Goes_with_meat Goes_with_dessert Price Suger Al...
1 14 7 8 7 7 13 7
2 10 7 6 4 3 14 7
3 8 5 5 10 5 12 5
4 2 4 7 16 7 11 3
5 6 2 4 13 3 10 3
ncompの値は1〜10位の間で振ってみました。-- [[kazu]] &new{...
-元のデータが,5行のデータであるとは思いません。(示して...
-元データは下記アドレスからダウンロードしたものを用いまし...
http://cse.naro.affrc.go.jp/iwatah/toukei/pls/~
ncompを1にすると解らしきものは確かにでますね。確認できま...
validationまでの結果は上記のページのものと一致するようで...
TRAINING: % variance explained
以下にエラーdimnames(tbl) <- list(c("X", yvarnames), pas...
'dimnames' の長さ [1] が配列の大きさと違っています
また、上記のページにあるようにncompを3にすると
> wine.pls <- plsr(Y ~ X, 3, validation="CV")
以下にエラーLa.svd(XtY) : 'x' のに無限値か欠測値があります
と表示されますね。。。??初心者過ぎてお恥ずかしいです。-...
**データ読み込みをしたあとの分析ができません [#t05e348a]
>[[koike]] (2006-10-31 (火) 23:28:31)~
~
統計初心者です。因子分析を実際にやってみようと思いやって...
result <- pdf(dat)
と入力すると
Warning message:
Communality >= 1. in: pdf(dat)
とでてしまい、それ以上なにもできなくなってしまいます。~
変数が多かったからいけないのかと何度も変えてみてもできま...
どうしたら、因子分析できるようになるのでしょうか?~
~
pdf.datの中身は、適当にうちこのような数値です。
バ ス ミ マ ク チ メ コ ア ラ か き キ ウ カ プ オ
1 7 7 8 3 9 9 6 8 3 2 1 7 9 3 3 9 7
2 7 8 9 9 9 9 2 7 7 9 5 4 7 8 9 9 4
3 7 4 3 3 6 4 7 7 6 3 3 4 6 3 3 6 7
4 9 6 6 5 8 6 8 9 6 5 4 4 9 5 4 8 9
5 9 5 7 5 6 8 4 4 4 6 9 6 6 6 5 9 6
6 5 7 5 5 5 7 5 8 5 8 9 5 9 5 8 8 9
7 9 7 6 3 7 9 4 6 5 2 2 6 7 5 5 9 9
8 7 7 6 8 7 6 5 8 7 5 6 5 6 7 9 5 6
9 7 7 4 8 7 7 4 7 6 3 5 5 7 7 6 8 6
10 5 5 9 5 8 8 5 6 3 3 3 8 7 2 8 8 6
11 8 1 8 9 7 9 3 9 4 7 4 4 9 7 6 6 7
12 9 4 7 5 8 4 5 7 5 6 9 4 4 5 8 9 5
13 7 7 6 8 8 9 6 7 7 6 6 5 9 7 5 9 7
14 9 6 4 6 9 9 3 6 8 9 4 6 7 8 4 9 9
15 8 7 5 5 5 9 4 5 4 3 9 4 4 6 5 8 6
16 7 4 7 4 7 3 3 7 5 3 6 6 6 6 6 4 6
17 6 4 2 2 7 6 4 5 5 8 3 4 6 6 5 7 5
18 8 7 5 5 6 8 3 5 6 3 7 3 5 4 5 7 9
19 5 9 8 5 7 5 5 5 9 4 7 6 6 7 7 8 7
20 6 6 6 8 8 6 1 5 7 8 4 5 7 7 7 7 6
もう一つですが、因子分析はやはり変量がサンプル数より多い...
//
-コメントありがとうございます。~
やろうとしていたことは、データを読み込んでの因子分析です...
始めに読み込むデータファイル名を pdf.dataとしていました。...
dat <- read.table("pdf.data", header=TRUE)
と打ち読もうとすると、ファイルがないとエラーがでてしまい...
そして、因子分析を実行するため
result <- pdf(dat)
と入力したのです。その結果エラーが
Warning message:
Communality >= 1. in: pdf(dat)
とでてしまったのです。~
「因子数が大きすぎるが大きすぎる、デフォルトで決まる数よ...
初心者な回答ですみません。また至らぬ点があるとは思います...
-貴方のやったことを整理しましょう。データファイル名は pdf...
実際には以下のようになるでしょうね。 -- &new{2006-11-01 ...
> x <- read.table("pdf.data", header=TRUE)
> result <- pfa(x, factors=3)
> result
$rotation
[1] "Varimax"
$correlation.matrix
バ ス ミ マ ...
バ 1.00000000 -0.21985732 -0.08560197 -0.01360948 0.09...
以下略。。。。
**maptoolsで緯度経度の範囲をカッチリと指定・プロットする...
>[[浜田]] (2006-10-31 (火) 09:56:56)~
~
以下のスクリプトで、指定した範囲の地図を描画させたいので...
library(maptools)
jpn <- read.shape("japan_ver60.shp")
png(file="test.png", width=800, height=800)
plot(jpn, xlim=c(135.0,136.0), ylim=c(34.0,35.0))
dev.off()
実行結果は、
#ref(test.png)
となってしまいます。、(図が大きくて、すみません・・・・)
//
-軸目盛を計算させねばいいわけだから, par(mar=c(0,0,0,0));...
-png とplotの縦横比が異なるので、plotが地図の表示はアスペ...
-ああ, やってみるとダメですね. んじゃ
png(かっちりサイズ)
plot.new()
par(mar=c(0,0,0,0),usr=c(135.0,136.0,34.0,35.0)) # usrは...
plot(jpn, xlim=c(135.0,136.0), ylim=c(34.0,35.0),add=T,a...
# ワーニング等は気にしてはいけない.
axisが怪しい...ですが-- [[なかま]] &new{2006-10-31 (火) 1...
-おお! 出来ました! 有難うございました。 別途用意して...
**本の内容教えてください [#da736c12]
>[[g]] (2006-10-30 (月) 20:41:20)~
~
[[RでGIS]]の"関連情報"に「Springer より、R を使った本...
amazonの目次紹介では,それらしき項目はなさそうなのですが...
//
-言葉足りずで申し訳ありません。「Rの基礎とプログラミング...
-詳しい情報をありがとうございました. -- [[g]] &new{2006-...
-Springer は R を使った本のシリーズを計画中みたいですね。...
**WindowsでRを使わせる [#l3870be1]
>[[青木繁伸]] (2006-10-30 (月) 18:46:38)~
~
私はWindowsがほとんどわからないのに(Macならある程度わか...
「こんなときにWindowsではどうやるのだっけ?」例えば,ファ...
というグチはこれくらいにして,今日聞きたいのは,プロジェ...
Rを起動して,どのプロジェクトの仕事をしようかと言うとき,...
こんなとき,皆さんはどうやっているのでしょうか。~
なお,いろいろやっていて,どのディレクトリで仕事をしよう...
もっと良い方法はないんでしょうか。~
//
-ショートカットのプロパティの作業ディレクトリをそもそも変...
// hoge.js
var Shell, FS, Desktop,Desktopex, path, Link, Rpath;
Rpath = "c:??Program Files??R??R-2.4.0??bin??Rgui.exe";
Shell = WScript.CreateObject("Wscript.Shell");
FS = WScript.CreateObject("Scripting.FileSystemObject");
Desktop = FS.GetFolder(Shell.SpecialFolders("Desktop"));
Desktopex = FS.CreateFolder(Desktop + "??演習");
path = Desktopex.Path + "??R-2.4.0_ex01.lnk";
Link = Shell.CreateShortcut(path);
Link.TargetPath = Rpath ;
Link.Arguments = "LANGUAGE=en";
Link.WorkingDirectory = "C:??";
Link.Save();
ダブルクリックなり,バッチ(CMD.EXE)の中ではファイル名で実...
-ありがとうございます。検討して貰うことにします。 -- [[青...
**論理値のベクトル同士の演算 [#be58a2ab]
>[[げのまー]] (2006-10-30 (月) 11:58:10)~
~
同じ長さの論理値のベクトル同士から,各要素ごとにandをとっ...
例えば,以下の例でaとbからc(TRUE,FALSE,FALSE,FALSE)という...
ループで各要素ごとに処理する方法は知っておりますので,ベ...
以下の方法では,1個目の要素についての結果しか得られてお...
~
> a<-c(TRUE,FALSE,TRUE,FALSE)
> b<-c(TRUE,TRUE,FALSE,FALSE)
> a && b
[1] TRUE
//
-下の方(下5つめ)にも同じような質問がありましたね。& と ...
-解決しました。Tips大全の論理判断のところで&と&&の違いが...
**UTF-8 の読み込み [#ea94a232]
>[[93795号]] (2006-10-30 (月) 10:40:41)~
~
中国語を含むデータを使用する必要があるのですが,データを...
~
「ファイル Tips 大全」の「特定の文字コードのファイルを re...
石巻市
岩出山町
岩沼市
そして,ファイルを読み込もうとしたのですが,エラーが出て...
> read.table(file(description="utf8.txt",open="r", encod...
以下にエラーread.table(file(description = "utf8.txt", :
ファイルの開始部分が空です
追加情報: Warning messages:
1: 入力コネクション 'utf8.txt' に不正な入力がありました
2: 'utf8.txt' の readTableHeader で不完全な最終行が見つ...
同じ内容のファイルを Shift-JIS で作成した場合は問題なく読...
この先,何らかの対処をするにしても,どこから手をつけたら...
皆さんのお知恵を拝借できれば幸いです。~
使用環境等は下の通りです。よろしくお願いいたします。
> sessionInfo()
R version 2.4.0 (2006-10-03)
i386-pc-mingw32
locale:
LC_COLLATE=Japanese_Japan.932;LC_CTYPE=Japanese_Japan.932;
LC_MONETARY=Japanese_Japan.932;LC_NUMERIC=C;LC_TIME=J...
attached base packages:
[1] "methods" "stats" "graphics" "grDevices" "uti...
[7] "base"
> iconvlist()
....
[363] "UTF-16"
[364] "UTF-16BE"
[365] "UTF-16LE"
[366] "UTF-32"
[367] "UTF-32BE"
[368] "UTF-32LE"
[369] "UTF-7"
[370] "UTF-8"
....
//
-そのデータファイルにはヘッダーがないわけですから,~
read.table(file(description="utf8.txt",open="r", encodin...
としなければなりませんね。 -- &new{2006-10-30 (月) 11:46...
-ご回答,ありがとうございます。でも,header=F を指定して...
-実際にやってみてからのコメントだったので,私のところでは...
-そうですか... read.table は header=F がデフォルトなので...
-2: 'utf8.txt' の readTableHeader で不完全な最終行が見つ...
-ありがとうございます。最終行にも改行を入れて保存したつも...
00000000: efbb bf20 2020 e79f b3e5 b7bb e5b8 820d
00000010: 0a20 e5b2 a9e5 87ba e5b1 b1e7 94ba 0d0a
00000020: 2020 20e5 b2a9 e6b2 bce5 b882 0d0a
のようになっています。しかし,情けないことに自分ではこれ...
-efbbbf(最初の3オクテット)はFFFEのばいとおーだーまーくをu...
-”efbbbf”はそういう意味で,それがあるからダメなんですね。...
-みなさん,ありがとうございました。UTF-8のファイルは Shif...
-ご報告。~
nkf を使って文字コードの変換を行ったところ,無事に読み込...
しかし,肝心の中国語を含むデータではエラーが出てしまいま...
> read.table(file(description="test.txt",open="r", encod...
A B C
1 1 2 中国
2 2 1 日本
3 3 1 ?国
4 4 2
Warning messages:
1: 入力コネクション 'test.txt' に不正な入力がありました
2: 'test.txt' の readTableHeader で不完全な最終行が見つ...
4行目のC には「两国」と入力されているのですが,読み...
-あら〜中国語もあるんですか...nkfは日本語しか処理しません...
-R に加えて文字コードや言語環境(?)についての勉強もしなく...
**R 2-4-0 へのXMLパッケージのロード [#a135f67f]
>[[2-4-0?]] (2006-10-29 (日) 15:46:45)~
~
はじめまして。お世話になります。~
~
Windows binaryのR2-4-0をWindows XP上で使っています。XMLパ...
> library(XML)
Error in dyn.load(x, as.logical(local), as.logical(now))...
unable to load shared library 'c:/PROGRA~1/R/R-24~1.0/...
LoadLibrary failure: The specified procedure could no...
Error: .onLoad failed in 'loadNamespace' for 'XML'
Error: package/namespace load failed for 'XML'
何か解決法はありますでしょうか? 2-4-0の変更点のページか...
~
また、ヘルプを呼び出そうとしても似たような以下のエラーが...
> ?c
Error in print.help_files_with_topic("c:/PROGRA~1/R/R-2...
CHM file could not be displayed
どうぞよろしくお願いいたします。~
//
-10/26に出た最新版(1.1-1)に更新すればいいだけの話ではな...
-ありがとうございます。どこにあるのですか? -- [[2-4-0?]]...
-パッケージのアップデートとかいうメニューがあるんじゃない...
**作業スペースの表示について [#nc3dd9ed]
>[[永野]] (2006-10-24 (火) 12:06:26)~
~
作業スペースの読み込み後LOADされたコンソール画面を表示す...
//
-「LOADされたコンソール画面」というのは、コマンド履歴のよ...
-history() の事でしょうか. -- [[なかま]] &new{2006-10-24 ...
- 例えば新規コンソール画面で<3+3=6としてこの画...
-プロンプトの向きが逆で,かつ,<3+3=6はエラーになり...
-はて、見たままの画面をセーブすることは(R の機能としては...
-やっぱり、「作業スペース」というものに誤解があるんじゃな...
-いろいろとご教示ありがとうございました。 -- [[永野]] &ne...
-テキストエディタ経由なら「見たままの画面」をコマンド付き...
-そういう意味なら,コンソールは,入力・出力の両方とも,見...
**Rで扱える行列のサイズの上限 [#ne6684d3]
>[[pahud]] (2006-10-23 (月) 21:24:34)~
~
Rで扱える行列のサイズの上限は,Rがインストールされている...
//
-一種の興味からしりたいのでしょうか?それとも,他にもっと...
あなたが使っているのは,どのプラットフォームでしょうか。...
-経験的にいえば,そんなぎりぎりの制限に挑戦しなくても,問...
どのような場合であろうと,あなたが何を知りたいのか,はっ...
-32bitなら例えば2GB(ベクトルデータサイズ)までなら作成可能...
-ソースコードを見ると(array.c)、allocMatrix()で、行x列 ...
(行列が内部では配列として扱われること考えれば、あたりま...
実際には、メモリのほうが、先にたりなくなると思います。-- ...
-INT_MAXは2^31-1です(INT_MAXが16bitと言うのは...お年が......
-なかまさん、すみません。どうも、更新するまえのバージョン...
-がーん, 使った事ある...σ(T_T) -- [[なかま]] &new{2006-10...
-みなさま回答ありがとうございました.INT_MAXは知りません...
**ifelseを使った文字列の置換について [#v803face]
>[[matsu]] (2006-10-23 (月) 11:56:05)~
~
はじめまして。こんにちわ。~
オブジェクトの指定について質問させてください。~
> data8
V1 V2 V3 V4 V5 V6 V7 V8
1 A B B B B B B B
2 B B B B B B B B
3 A A A B A B A A
4 B A B A B A B B
5 B B B B B B B B
6 B B B B B A B B
7 B B B B B B B B
以上のようなデータがあって、例えば1列目と2列目の同じ行の...
ifelse(((data8[,1] == "A") && (data8[,2] == "A")),"A","B")
しかし結果は~
[1] "B"
と表示されベクトルを得ることができません。4区分にしても同...
よろしくお願いします。~
//
- & と && の違いを調べてみましょう -- &new{2006-10-23 (...
-できました。tipsをよく読めばできるような愚問でした。申し...
-例解:factor(c("A","C","B","D"))[as.integer(data8[,2])*2...
-別解:factor(diag(matrix(LETTERS[1:4],byrow=T,2)[data8[,...
-別解2:factor(paste(data8[,1],data8[,2]),labels=LETTERS[...
-別解3:factor(LETTERS[factor(paste(data8[,1],data8[,2]))...
-色々な回答ありがとうございます。こんなにブラッシュアップ...
**カテゴリごとにまとめたデータの整形(データベースとテー...
>[[take]] (2006-10-17 (火) 19:51:40)~
~
下記のように、カテゴリー値を含めてデータが一列になったも...
データのカテゴリごとにまとめた形に整形したいのですが、
このような作業をしてくれる関数はありますでしょうか。~
subsetなどを駆使すれば無理やりできますが、頻繁に使われま...
非常に初歩的な質問かと思いますが、適切なキーワードが見つ...
どなたかお助けくださると助かります。~
~
変換前(データベース形式)
>>
,year,type,value
,2001,A,5
,2002,A,10
,2003,A,15
,2001,B,1
,2002,B,3
,2003,B,5
<<
変換後(テーブル形式)
>>
, ,A,B
,2001,5,1
,2002,10,3
,2003,15,5
<<
//
-そんなにしょっちゅう使うものでもないし一般的でもないので...
> # 引数は3列からなるデータフレームとする
> convert <- function(df)
+ {
+ df[,1] <- as.factor(df[,1])
+ df[,2] <- as.factor(df[,2])
+ m <- matrix(0, length(table(df[,1])), length(table(df...
+ for (i in 1:nrow(df)) m[df[i,1], df[i,2]] <- df[i,3]
+ rownames(m) <- levels(df[,1])
+ colnames(m) <- levels(df[,2])
+ return(m)
+ }
> df <- data.frame(x = c(2001, 2002, 2003, 2001, 2002, 2...
+ y = c("A", "A", "A", "B", "B", "B"),
+ z = c(5, 10, 15, 1, 3, 5))
> convert(df)
A B
2001 5 1
2002 10 3
2003 15 5
-例えば year=2001 で type=A のものが二つ有れば例の様には...
-21:37:58 のコメントは,原質問者ではないのですね。そうな...
たぶん,データ行列への変換だと思うんですが。~
しかし,原質問者がそのあたりは一番よく分かっているので,...
-このような処理はどこかの本で見たような気がしていたので、...
-キーワードということなら、(Rと関係なく恐縮ですが)、Exc...
-各カテゴリに重複するデータがないことが確実な場合は、アド...
> # 重複したデータがないことを、lengthで確かめて、、
> tapply(df$z,list(df$x,df$y),length)
A B
2001 1 1
2002 1 1
2003 1 1
> # sum (または mean)で集計。
> tapply(df$z,list(df$x,df$y),sum)
A B
2001 5 1
2002 10 3
2003 15 5
[[mmk]] &new{2006-10-18 (水) 13:14:04};
-おみごと! -- &new{2006-10-18 (水) 14:14:28};
-すばらしい!(関数型言語の妙技)。Tips入りしてもよさそう...
-お探しの関数は、xtabs関数ではないでしょうか 。-- &new{20...
> df <- data.frame(year = c(2001, 2002, 2003, 2001, 2002...
+ type = c("A", "A", "A", "B", "B", "B"),
+ value = c(5, 10, 15, 1, 3, 5))
> xtabs(value~year+type,df)
type
year A B
2001 5 1
2002 10 3
2003 15 5
-重複値があるとどうなるか気になって調べました。加算されて...
> df <- data.frame(year=c(2001,2002,2003,2001,2002,2003,...
type=c("A","A","A","B","B","B","A"),value=c(5,10,15,1,...
> xtabs(value~year+type,df)
type
year A B
2001 105 1
2002 10 3
2003 15 5
-これもおみごと!普通,重複はないと思うので(チェックするの...
-皆様、ありがとうございます。やはりあるものなのですね。xt...
**グラフのカラー・モノクロ線種切り替え [#v61a39ab]
>[[takahashi]] (2006-10-17 (火) 16:26:21)~
~
例えばモノクロで印刷される原稿用とプレゼン用で、同じグラ...
//
-線種で区別ということは,折れ線グラフの類?~
色の変更と線種の変更はパラメータが違うのですから,そうそ...
どんな図でも,それをモノクロで印刷したときにもちゃんと読...
-どうもありがとうございます。やっぱりそんな感じですかね。...
-スマートではないですが、ImageMagickが入っているなら、 --...
> hist(sqrt(islands), br = 12, col = "lightblue", border...
> dev.copy2eps(file="color.eps", family="sans") #カラー
> dev.copy2eps(file="| convert -colorspace GRAY - bw.eps...
-convertを通すとベクトル画像ではなくなるみたいです。ベク...
> hist(sqrt(islands), br = 12, col = "lightblue", border...
> dev.copy2eps(file="color.eps", family="sans") #カラー...
> system("bw_convert color.eps bw2.eps")
-ありがとうございます。外部ツールと連動させればいけそうで...
**Rコマンダーでのエクセルファイルの読み込みについて [#d7...
>[[epep]] (2006-10-14 (土) 09:33:30)~
~
はじめまして。よろしくお願いいたします。~
~
Rコマンダーのファイルインポートについて教えていただきた...
最近エクセルファイルの読み込みに対応したということで、エ...
要求されたパッケージ RODBC をロード中です
以下にエラーsqlTables(channel) : first argument is not a...
データをいろいろ変えたり、エクセルの保存形式を古いものに...
どうすれば読み込めるようになるか、教えていただきたいと思...
よろしくお願い致します。~
//
-コメントありがとうございます。 ~
単純に"1"だけを入力したエクセルファイルを、インポートのメ...
他にも1行目に変数名を入れて、2行目に数字を入れる、更に...
-闇雲に試行錯誤するよりもエラーの意味を吟味した方が効率が...
-コメントありがとうございます。すべて英語でしたが読みまし...
-アドバイスいただいたことを考え、いろいろ試してみたところ...
・エクセルファイルを保存するフォルダ名に日本語(全角、半角...
階層の途中に日本語のフォルダがあってもいけない。~
・エクセルファイルのファイル名に日本語が使ってあるとエラ...
・エクセルファイル内のシート名に日本語が使ってあるとエラ...
です。csvやtxtだと日本語が使ってあっても問題ないのですが...
ありがとうございました。 -- [[epep]] &new{2006-10-15 (日)...
-パス名(ディレクトリ名,ファイル名)に日本語が使われている...
-教訓:ナガイモノには巻かれてしまいましょう。いくら,日本語...
-ざっと, Rcmdrのソースを斜めに読むと, substringは文字で処...
**オブジェクト名の指定について [#o28d5bee]
>[[dura]] (2006-10-12 (木) 16:03:24)~
~
はじめまして。こんにちわ。~
オブジェクトの指定について質問させてください。~
例えば
> R1
A B
A 24 5
B 5 16
> R2
A B
A 22 7
B 6 15
のようなデータがあるとき
m <- 1
n <- 2
R"m"*R"n"
のような感じで行列演算のオブジェクトを指定できるようなや...
ちなみにR"m"*R"n"では当然できません。例えばこのような感じ...
//
-FAQですね。単語検索で eval(parse( を検索すると,用例もた...
以下のようにすればいかが?~
ところで演算子は"*"でいいんですね。。 -- &new{2006-10-12...
> R1 <- matrix(c(24, 5, 5, 16), 2, 2)
> R2 <- matrix(c(22, 6, 7, 15), 2, 2)
> m <- 1
> n <- 2
> eval(parse(text=paste("R", m, "*", "R", n, sep="")))
[,1] [,2]
[1,] 528 35
[2,] 30 240
-ばっちりできました。またeval(parse( も検索してみました...
**GUIの変数ウォッチャー/データフレーム [#b9956f24]
>[[takahashi]] (2006-10-05 (木) 19:04:42)~
~
data.frameのデータをスプレッドシート形式で、目で見て確認...
~
また、Matlabをご存知の方に伺いたいのですが、Matlabには変...
Rでlistが同じように、複雑にネストした構造になりがちだと思...
~
よろしくお願いいたします。~
//
-前半については,edit() とか fix() があるようですが? -- ...
-ありがとうございます。edit.data.frameがちょうど求めてい...
**データを読み込ませた後の分析ができません [#e4f97ed1]
>[[4年生]] (2006-09-27 (水) 19:23:05)~
~
はじめましてこんにちは.~
こないだからRを使おうと頑張っているのですが、分析がうまく...
エクセルで乱数を発生させて、54行×4列のデータファイルをつ...
その後
dat <- read.csv("data.csv",header=FALSE)
dat
とすると54行×4列のデータが読み込まれます.~
次に
summary(dat)
とすると
V1 V2 V3 V4 ...
10,006.13: 1 10,038.09: 1 10,058.34: 1 10,100.57: ...
10,077.88: 1 10,070.11: 1 10,112.10: 1 10,167.06: ...
10,248.81: 1 10,077.88: 1 10,148.36: 1 10,169.66: ...
10,264.61: 1 10,173.60: 1 10,171.17: 1 10,281.17: ...
10,281.25: 1 10,293.74: 1 10,186.77: 1 10,284.54: ...
10,303.26: 1 10,378.13: 1 10,213.75: 1 10,318.44: ...
(Other) :48 (Other) :48 (Other) :48 (Other) :4...
となってしまい,うまく結果が表示されません.~
重回帰分析をしようとして~
dat <- matrix(c(read.csv("data.csv",header=FALSE)),byrow...
mreg(dat)
としても
g(dat) : (subscript) 論理値添え字が長すぎます
となってしまいます.~
googleで検索したり色々頑張りましたがうまくいきません・・・~
どこに問題があるのでしょうか?~
教えてください.よろしくお願いします.~
//
-すみません,表示したデータは乱数で発生させたものではなく...
-エクセルで表示を直して,再度挑戦したら分析できました.ご...
**リストの出力方法を教えてください [#nc9770cb]
>[[Real]] (2006-09-25 (月) 14:14:58)~
~
こんにちは。~
以下のような数値データが入ったリストを書き込もうとすると
a <- as.list(NULL)
a[[1]] <- c(2.3, 3.5, 4.4, 2.3, 3.5, 4.4, 2.3, 3.5, 4.4)
a[[2]] <- c(2.3, 3.5, 2.3, 3.5, 4.4)
write(a, "aaa.txt", append=T)
以下にエラーcat(list(...), file, sep, fill, labels, appe...
argument 1 (type 'list') cannot be handled by 'cat'
と怒られてしまいます。~
結果はこのように一番目の要素から順に横に展開したいと思っ...
2.3, 3.5, 4.4, 2.3, 3.5, 4.4, 2.3, 3.5, 4.4
2.3, 3.5, 2.3, 3.5, 4.4
リストを書き込むときはwrite()を使えばよいという情報があっ...
どなたかご指導をお願いします。~
//
-lapply(a,function(x){write(x, "aaa.txt", append=T,nc=len...
-なるほど。リストの要素数が違うときはlapply()を使えばいい...
-save(a, file="aaa.txt", ascii=TRUE) 。再度読み込むには ...
-[[R出力の記録]]を読むと他にも色々な方法が。 -- &new{200...
**axis 関数で軸の名前を付けるには? [#p07d033b]
>[[匿名希望]] (2006-09-21 (木) 13:24:21)~
~
x 軸を本来の位置ではない場所に描くとき,plot(...., xaxt="...
//
-補足:par(mgp=c(foo, bar, baz)) の foo を試行錯誤で調整...
-mtext()はどうですか? -- [[Akira]] &new{2006-09-21 (木) ...
-ありがとうございます。求めていたのは,これです。解決しま...
**MultiTiffイメージを取り込む方法 [#dead9a68]
>[[Akira]] (2006-09-19 (火) 20:02:59)~
~
rgdalパッケージのreadGDALでtifイメージを取り込むことはで...
MultiTiffイメージを同じように取り込むことはできるのでしょ...
WinXP, R-2.3.1patchです。~
//
-自己レスです。rtiffというのがありました。こちらでMultiTi...
-ご報告。rtiffは最大値が1にノーマライズされるようなので、...
よくご存知の方、コメントいただけるととてもうれしいです。 ...
**コードを用いてグラフの保存 [#xd19b2e0]
>[[初心者?]] (2006-09-19 (火) 10:44:39)~
~
関数の中にいくつかのグラフを表示させるコードが入っていま...
コードを使い~
R gurahicsに表示されるグラフに名前をつけて保存させること...
~
自動化したいと考えてるのですが ご教授ください。~
//
-どういう類の名前を付けたいのですか。「ファイル名+連番....
draw.graph <- function(file.name="")
{
if (file.name != "") pdf(paste(file.name, "%03i.pdf", s...
hist(rnorm(1000))
plot(rnorm(1000, 1000))
barplot(rbinom(10, 1000, 0.25))
if (file.name != "") dev.off()
}
draw.graph("test")
-さきほど確認しました。この用に書けばいいのですね、勉強に...
**グラフィックをアウトライン化したベクトル画像で出力した...
>[[初心者]] (2006-09-17 (日) 19:23:04)~
~
お世話になっています~
ポスター制作のため,Rで出力したグラフをdev.copy2epsで出力...
そこで,アウトライン化したベクトル画像を出力したいのです...
~
環境 : R version 2.2.1, 2005-12-20, powerpc-apple-darwin7...
//
-?embedFonts(実際にはgsでフォントを埋め込む)か, epsの中に...
-コメントありがとうございます.Illustratorはpdfを読み込め...
-Macintoshでは,いろんな場面でPDFがベストのようです。EPS...
-出来ました。ありがとうございます。 -- [[DNA]] &new{2006-...
**会社(Windows2000)で使用する際に一台で複数ユーザで利用...
>[[カータン]] (2006-09-16 (土) 12:34:25)~
~
こんにちは,現在会社(一般ユーザはuser権限のみ)でRをイン...
もし上記のことが可能ならば,パッケージの導入の際にも,adm...
//
-admin権限の場合は,他の人がインストールした場合でも使用...
-Rのパーミッションを変更する -- &new{2006-09-19 (火) 08:...
**自前で計算した距離行列をhclust()で使う方法 [#j1320907]
>[[DNA]] (2006-09-15 (金) 17:30:53)~
~
こんにちわ。現在クラスター分析に取り組んでいます。手順と...
>iris.x <- iris[,-5]
>d.euclid <- dist(iris.x, method="euclid")
>cluster <- hclust(d.euclid, method="average")
以上のように行っています。ただ、こちらの都合でd.euclidを...
どのようにすればよいのでしょうか?よろしくお願いします。~
//
-[自前で作ったもの]がどういうものか,どうやって作ったかが...
-すみません自前でつくったものは、 -- [[DNA]] &new{2006-09...
A B C
"A" 1 0.5 0.1
"B" 0.5 1 0.4
"C" 0.1 0.4 1
といった行列をつくって、read.table()で読み込んでいます。
-出来ました。ありがとうございます。 -- [[DNA]] &new{2006-...
**データフレームから要素を抽出してリストを作製する [#j1ba...
>[[tottie]] (2006-09-11 (月) 14:04:05)~
~
こんにちは。以下のようなデータフレームがあり、~
~
NAME num_1 num_2 num_3 STR NUM
data_M15 0.322 0.322 -0.040 asd 3
data_G11 0.230 0.507 -0.279 sdf 2
data_B21 0.219 0.160 -0.069 dfg 8
data_C04 0.011 0.292 -0.064 fgh 3
data_J12 0.254 0.238 -0.180 ghj 1
data_P08 0.323 0.320 -0.254 hjk 2
data_M11 0.356 0.330 0.066 jkl 1
~
一番右列の数字によってSTRを分類したリストを作りたいと思っ...
たとえばリストの一番目の要素にNUM3のSTRであるasdとfgh、~
二番目の要素にNUM2のSTRであるsdfとhjkが格納されているリス...
~
subset()を使用してNUMの値ごとに抽出すればよいとは思うので...
どうすればよいのかわかりません。~
お手数ですが、ご指導をお願いします。~
//
-lapply(unique(data$NUM),function(n)data[data$NUM==n,]$ST...
-subset()を使わなくても添え字操作とlapplyの組み合わせで可...
**グラフの目盛りを有効数字n桁の小数x10のべき乗で表示した...
>[[fjok]] (2006-09-10 (日) 13:28:59)~
~
質問させていただきます.~
グラフの軸の表示をデフォルトの1 e-01から有効数字n桁の小数...
//
-どうしてそう言うことが必要なのか理解できませんが,以下の...
set.seed(123)
x <- rnorm(1000)*100+600
hist(x, xaxt="n")
axis(1, at=3:9*100, labels=sprintf("%.0e", 3:9*100))
#ref(example1.png)
-ありがとうございました.自動的な処理まだはまだできていま...
axis関数のパラメータlabelsにどういうラベルを描くかという...
set.seed(123)
x <- rnorm(1000)*100+600
hist(x,xaxt=F)
hoge<-3:9*100
a<-sub("+","",substr(sprintf("%1.1e",hoge),nchar(sprintf...
nchar(sprintf("%1.1e",hoge))),extended=F)#指数部分の取...
b<-sub("+","",substr(sprintf("%1.1e",hoge),1,nchar(sprin...
extended=F)#小数部分の取り出し
axis(side=1,at=hoge,labels=expression(a^b))
とでもすればできるのかな,とおもったのですが,これだと最...
-ほんとはもっとちゃんとしたやり方があった気がするけど思い...
-そんなに難しく考えないでいいのですよ。pretty 関数と spri...
set.seed(123)
x <- rnorm(1000)*10+100
hist(x,xaxt="n")
at <- pretty(x)
labels <- sprintf("%.2e", at) # 有効桁数は自分で(これも...
axis(side=1,at=at,labels=labels)
#ref(example2.png)
-あとどうでもいいんですが、実数部、指数部の取り出しは、E<...
-みなさんありがとうございました.あとは目盛りをmin(), max...
-> あとは目盛りをmin(), max()等を使って作れば~
その必要がないというのが分からないですか? -- &new{2006-...
-以下のようにやってみました.10のべき乗についてはVoltage(...
t<-1:100 # ある実験デ...
signal <- 1.0e-3*(sin(t/5)+0.1*rnorm(100)) # ある実験デ...
E<-floor(logb(pretty(signal)[length(pretty(signal))],10)...
plot(signal,type="l",axes=F,xlab="Time(nsec)",
ylab=parse(text=paste("Voltage(",
parse(text=paste(10,"^",E)),")")))
box()
par(las=1)
axis(1)
axis(2,at=pretty(signal),labels=sprintf("%.1f",
pretty(signal)/10^E*10^floor(logb(pretty(signal)
[length(pretty(signal))],10))/10^E))
-画像の質にずいぶん差があるのですね。 -- &new{2006-09-12...
#ref(alt.png)
**大量の図のplot、mflowやmfcolは使えない? [#je725a92]
>[[ぼう]] (2006-09-09 (土) 11:43:42)~
~
おせわになります。~
50枚くらいの多数の図をfor文で繰り返したものを、ひとつの画...
pairs()で表示される図のように多数の図を表示するできる関数...
//
-画面に表示しているのですか?グラフィックウインドウが小さ...
> par(mfrow=c(8,8))
> for (i in 1:60) hist(rnorm(1000))
-ありがとうございます。基礎的なことだったのかも?ですが、...
**R CMD BATCHのオプションについて [#v8c11b46]
>[[山嵐]] (2006-09-08 (金) 10:23:37)~
~
Rをバッチで実行しようと思っています。~
その際、「R CMD BATCH」 + Rコマンドで実行するというのは~
理解しているのですが、~
オプションとして vanilla --no-save といったものを付けら...
聞いております。実際にそれらオプションを理解したいとおもい~
付けられるオプションの種類と意味をGoogleやR CMD BATCH -h ...
R CMD BATCHのオプションについてご存じの方いらっしゃいま...
お手数をおかけします。~
//
-サイト内検索はしましたか?[[Windows版RのFAQ]]の2.10に,...
-R CMD BATCHのオプションという解釈ではなくてR CMDのオプ...
-http://cran.md.tsukuba.ac.jp/doc/manuals/R-intro.html#In...
-みなさま、ご教授ありがとうございました。疑問がすべて解決...
**リストの逆数の和の求め方 [#d1f83915]
>[[inverse]] (2006-09-07 (木) 18:25:49)~
~
皆さんにお聞きしたいことがあります。以下のようなリストを...
a <- as.list(NULL)
a <- c(list(1:3), list(4:9))
a[[1]] と a[[2]] ごとに逆数の和を求めたいのですが、どうす...
sapplyを使えばいいとは思ったのですが、逆数和を求める関数...
自分で関数を定義するしかないんでしょうか?~
RはVersion 2.3.1、Windows XPを使用しています。~
ご回答よろしくお願いします。~
//
-以下のようにすれば良いわけですが、もしかして、実際はリス...
> c(sum(1/a[[1]]),sum(1/a[[2]]))
[1] 1.833333 0.995635
-lapply(lapply(a, function(x) 1/x),sum) -- &new{2006-09-...
-mapply(function(x) sum(1/x), a) こっちの方がいいか。。。...
-みなさんご回答ありがとうございます。実際のリスト成分は50...
**MacOS XでのRmapの使用 [#z80f24ef]
>[[haruo]] (2006-09-07 (木) 15:02:59)~
~
Mac OS X 10.4.6およびR for Mac OS X Version 2.3.1 (2006-0...
参考文献:RjpWiki内の「Rmapを使った地図表示」「なんでも掲...
> install.packages("Rmap")
download.packages(pkgs, destdir = tmpd, available = avai...
no package 'Rmap' at the repositories
> sessionInfo()
Version 2.3.1 (2006-06-01)
i386-apple-darwin8.6.1
//
-バイナリはありませんが、下の「パッケージrimageのインスト...
**異なる区切り幅のヒストグラムについて [#r59aee8a]
>[[crz1]] (2006-09-06 (水) 22:48:58)~
~
異なる区切り幅のヒストグラムを描いたところ、~
それぞれのバーの横幅が不揃い(指定した区切り間相当の幅)に...
このバーの横幅を一定にするにはどうすればいいのでしょうか?~
//
-区切り幅というのは,階級幅のことですか?区切り幅を不等間...
-分かりにくくてすみません。ご指摘の通り目盛り間隔を変えた...
-そうします。ヒストグラムに固執しすぎていました。ありがと...
**クラスター図を横向きで描画したい [#fdc8beb2]
>[[sally]] (2006-08-30 (水) 11:01:13)~
~
こんにちは。いつもWikiにお世話になっています。~
さて、今回クラスタ図を描こうとしているのですが、描画を横...
hc <- hclust(dist(USArrests)^2, "cen")
plot(hc)
これで描画される樹形図を縦ではなく、項目の名前が長いので...
ちょうど右90度回転させたような図を書くためにはどうしたら...
~
ご教授お願い致します。~
//
-ごめんなさい、今書き方を間違えたので修正しようとしたら、...
-main タイトルだけ text 関数で90度回転させて描き,後で画...
-アドバイスありがとうございます。自動で描画したものをHTML...
-少し,トリッキーですが. 例えばepsで出力したものを, TeXで...
postscript("foo.ps", width = 5, height = 4,
horizontal = FALSE, onefile = FALSE, paper = ...
plot(1:10)
dev.off()
等とすると, epsファイルができます, これを例えばスクリプト...
# 右回転90度
@@ -2,10 +2,11 @@
%%Title: R Graphics Output
%%Creator: R Software
%%Pages: (atend)
-%%BoundingBox: 0 0 360 288
+%%BoundingBox: 0 0 288 360
%%EndComments
%%BeginProlog
-/bp { gs gs } def
+%/bp { gs gs } def
+/bp { gs 0 360.0 translate -90 rotate gs } def
% begin .ps.prolog
/gs { gsave } def
/gr { grestore } def
とか
# 左回転90度
@@ -2,10 +2,11 @@
%%Title: R Graphics Output
%%Creator: R Software
%%Pages: (atend)
-%%BoundingBox: 0 0 360 288
+%%BoundingBox: 0 0 288 360
%%EndComments
%%BeginProlog
-/bp { gs gs } def
+%/bp { gs gs } def
+/bp { gs 288.00 0 translate 90 rotate gs } def
% begin .ps.prolog
/gs { gsave } def
/gr { grestore } def
以上, 「その手でやるんだ(c)沖田艦長」. でした. あとは, co...
もっとも, ImageMagicが入っていれば, convertだけでも出来ま...
-これでいかがでしょう?-- &new{2006-08-30 (水) 22:27:07};
hc <- hclust(dist(USArrests)^2, "cen")
par(mar = c(4,1,1,7))
plot(as.dendrogram(hc), horiz = T)
-↑すばらしい!と思ったら左90度回転だった… -- &new{2006-0...
-わぁ^^答えてくださった皆様、ありがとうございます!!!...
**パッケージrimageのインストール [#s54ead1b]
>[[haruo]] (2006-08-30 (水) 10:22:28)~
finkを使ってfftwとlibjpegをインストールした後、以下の3つ...
(方法1)関数 install.packages() でパッケージを指定
> install.packages("rimage")
download.packages(pkgs, destdir = tmpd, available = avai...
no package 'rimage' at the repositories
(方法2)関数 install.packages() で圧縮ファイル(rimage_...
> install.packages("/Users/haruo/Desktop/rimage_0.5-7.ta...
以下にエラーgzfile(file, "r") : コネクションを開くことが...
追加情報: Warning message:
圧縮されたファイル 'rimage_0.5-7.tar.gz/DESCRIPTION' を...
(方法3)メニューの [パッケージとデータ] から [パッケー...
(中略)
checking fftw.h usability... no
checking fftw.h presence... no
checking for fftw.h... no
** Removing '/Library/Frameworks/R.framework/Versions/2....
configure: error: Sorry, can't find fftw header
ERROR: configuration failed for package 'rimage'
<動作環境> Mac OS X 10.4.6; Darwin 8.6.1。R for Mac OS...
> sessionInfo()
Version 2.3.1 (2006-06-01)
i386-apple-darwin8.6.1
attached base packages:
[1] "methods" "stats" "graphics" "grDevices" "uti...
//
-方法1は、Mac用のバイナリがCRANにないので不可能です。方法...
-で、方法3が失敗したのはfinkを使っているためです。現在の...
-自分でインストールする方法は、慣れていれば普通にコンパイ...
-Darwin Portsも結局/swが/optになるだけなので同じですね......
-つまり、fftwとかjpeglibといった外部ライブラリは、finkやD...
-fftwを/usr/local/にインストールするには、[[FFTW Installa...
-libjpegを/usr/local/ にインストールするには、[[Independe...
-最後にR のパッケージインストーラで、「このコンピュータ上...
-ありがとうございます。正常にインストールされました。 -- ...
-もう解決して要るみたいですが、finkでもDarwinPortsでも、R...
-確かにバージョン管理が難しくなってしまうのでオススメでき...
-便乗質問ですが、finkやDarwinPortsに依存するパッケージを...
**SPSSのvariable labelsを取り出す方法 [#ha2c28b5]
>[[kam]] (2006-08-29 (火) 14:37:57)~
~
はじめまして。SPSSのデータをRで読み込んだ際のラベル...
例えば以下のようなSPSSのsavデータ「test.sav」があった...
Q1 Q2
1 2
3 3
2 2
4 1
5 2
Q1にSPSSで"国語"、Q2に"算数"とラベル付けしたとして、それ...
library(foreign)
data1 <-read.spss("test.sav",use.value.labels=F,to.data....
ここで、SPSSで使っていた変数へのラベルをRでも使いたいと思...
> attributes(data1)
$names
[1] "Q1" "Q2"
$row.names
[1] "1" "2" "3" "4" "5"
$class
[1] "data.frame"
$variable.labels
Q1 Q2
"国語" "英語"
attributes()を使うと、上のようにvariable.labelsとして読み...
大変初歩的というのは自覚しているのですが、variable.labels...
使用環境は、Win-XP,RはVersion 2.3.0 です。~
実際に扱うSPSSのsavデータは変数が170あり、できればSPSS...
質問の作法については目を通したのですが、不適切でしたらご...
//
-names(data1) <- data1$variable.labels ではいけませんか。...
-names(data1) <- attr(data1,"variable.labels") としないと...
-なるほど、回答ありがとうございます。ちょっと個人的な都合...
-names(data1) <- attr(data1,"variable.labels")で、うまく...
**日本語のナカグロ(・)の扱い [#qcb35f62]
>[[ニョロニョロ]] (2006-08-24 (木) 15:03:05)~
~
おかしなことが生じているので,問題を再現できる最小のデー...
test.dat というファイル名で,コードは UTF-8, 改行コードは...
中身は以下の通り(3行,2列)
変数・あ 変数・ん
1 2
3 6
このデータファイルを読んで,表示したところは何ともなさそ...
> x <- read.table("test.dat", header=TRUE)
> x
変数.あ 変数.ん
1 1 2
2 3 6
変数名が変なんです。どうも,ナカグロの変換にともなって,...
> colnames(x)
[1] "変数.あ?0<82>" "変数.ん?0<93>"
コードを EUC-JP にしても,同じようになっています。~
//
-src/main/character.c の do_makenames のアロケートの問題...
-ありがとうございました。何も,ナカグロを使わなくても良い...
-うーん, 我乍ら... 弩級に汚いコードに...(;_;) -- [[なかま...
-R-2.4.0には変なおまけは付かなくなります. -- [[なかま]] &...
**factor関数の使い方 [#m436b254]
>[[R初心者]] (2006-08-24 (木) 10:48:40)~
~
factor関数でいくつかのカテゴリ変数を1つに纏める方法なんて...
例えば数量化I類で分析した結果、いくつかのカテゴリ変数が有...
是非お知恵をお貸し下さい。~
//
-? factor は見てみましたか?labels 引数が答えでしょう。 -...
> x <- c(5, 1, 4, 3, 3, 2, 5, 3, 3, 4)
> factor(x, labels=c(1,1,2,3,4))
[1] 4 1 3 2 2 1 4 2 2 3
Levels: 1 1 2 3 4
> factor(x, labels=c(1,1,1,2,2))
[1] 2 1 2 1 1 1 2 1 1 2
Levels: 1 1 1 2 2
-趣旨を今一理解できていませんが、いくつかのカテゴリーを統...
> x <- c(1,2,2,3,4,5,5,5,6)
> factor(x)
[1] 1 2 2 3 4 5 5 5 6
Levels: 1 2 3 4 5 6
> x[x==6] <- 5
> factor(x)
[1] 1 2 2 3 4 5 5 5 5
Levels: 1 2 3 4 5
-上の例だと,2を1に統合して,その後を順に詰め合わすという...
-早速のレスありがとうございます。・・・後者の方ですね。な...
-ところで、有意じゃないからといってカテゴリをまとめてはい...
-その他というカテゴリーに入れるんだと思えば,有意でないカ...
-再解析と言う方針で行こうかと思っていたのですが・・・・。青木...
-いろんなまとめ方を試して、再解析、再々解析、・・・、再々...
-数量化理論(カテゴリ変数)の場合の作法はちょいと知りませ...
-数量化の場合は自動化がなかなか難しいが,ステップワイズ変...
終了行:
COLOR(green){SIZE(20){初心者のための R および RjpWiki に...
新規投稿はできません。
----
-[[初級Q&A アーカイブ(5)]] (元記事が 2005-03-13 より 2...
-[[初級Q&A アーカイブ(4)]] (元記事が 2005-11-09 より 2...
-[[初級Q&A アーカイブ(3)]] (元記事が 2005-05-02 より 2...
-[[初級Q&A アーカイブ(2)]] (元記事が 2004-12-13 より 2...
-[[初級Q&A アーカイブ(1)]] (元記事が 2004-08-03 より 2...
----
#contents
----
**半角数字データを因子型にできない [#q638f214]
>[[お恥ずかしい]] (2007-01-31 (水) 02:23:49)~
~
> 一度、自分で検証して、検索して、頭を整理して、みんなに...
ご迷惑おかけしました。~
質問を整理します。~
(1)数値型から因子型への変更は,下記のご教示の通りです...
> factor(x)としたって,それを変数に付値しないと結果は保...
> データといえど,全角数字を使うのは好ましくない。2番目...
> x <- c(1,2,3,4,5)
> y <- c("1","2","3","4","5")
> z <- data.frame(X=x,Y=y)
> summary(z)
X Y
Min. :1 1:1
1st Qu.:2 2:1
Median :3 3:1
Mean :3 4:1
3rd Qu.:4 5:1
Max. :5
> z$X <- factor(z$X)
> summary(z)
X Y
1:1 1:1
2:1 2:1
3:1 3:1
4:1 4:1
5:1 5:1
(2)
> x <- c(1,2,3,4,5)
> y <- c("1","2","3","4","5")
> z <- data.frame(X=x,Y=y)
の段階で,
edit(z)
としてデータエディタを出し,xの列の属性をnumericからchara...
(3)~
> 外部データのハンドリングが良くないということはないでし...
すみません。CSVファイルから読み込むときにたとえデータが...
//
-> edit(z)としてデータエディタを出し,xの列の属性をnumer...
z <- edit(z) のようにしましたか。単に edit(z) とやったっ...
> 「この列はカテゴリーで読む」とかの指定があったらいいの...
あってもいいけど,読みこんだ後に,「この列はfactorに変換...
投稿方法はまだまだ改善が必要(^_^;) 変に編集すると,表示の...
-help(read.csv) を良く読む、特にオプション colClasses の...
ファイルtest.table (CSV ファイルということだから)
height, weight, sex
No1, 168, 63, 1
No2, 172, 75, 1
No3, 170, 60, 2
> x <- read.csv("test.table",
colClasses=c("character","numeric","num...
> x
height weight sex
No1 168 63 1
No2 172 75 1
No3 170 60 2
> str(x)
`data.frame': 3 obs. of 3 variables:
$ height: num 168 172 170
$ weight: num 63 75 60
$ sex : Factor w/ 2 levels " 1"," 2": 1 1 2
-クラスがバラバラでなく,factor にすべきものが少数なら,...
-エクセルと違って,データが格納されているメモリー中のデー...
-ご迷惑をお掛けいたしましたこと,深くお詫び申し上げます。...
-迷惑ではないですよ。エクセルからRという世界に踏み込んだ...
**判別分析:関数qda()について [#r5a81e0e]
>[[mu]] (2007-01-26 (金) 01:44:56)~
~
はじめまして. ~
判別分析の勉強をしているものです. ~
関数lda()を用いれば線形判別係数を求められますが, 関数qda(...
//
-実際にやってみれば分かるでしょう。 -- &new{2007-01-26 (...
> library(MASS)
> ? qda
> ? predict.qda
> example(qda)
-qdaでldaの係数が求まるか,という質問でしょうか。やってみ...
-まったく同じ問題に直面しているが,答えがわかった? -- [[...
-ということは,あなたもやっては見なかったと言うこと?(プ...
**PDFファイルへの出力時に日本語の部分が文字化けする [#u30...
>[[R初心者X]] (2007-01-24 (水) 15:39:40)~
~
こんにちは.初歩的な質問で失礼致します.~
~
R2.4.1を新たにインストールして,次のデータセットを実行し...
d <- c(0:100)
v1 <- 10000 * exp(-0.05*d)
pdf(file="c:/test.pdf")
plot (d,v1,xlab="時間", ylab="価値",
main="", sub="指数関数", pch=22,
ylim=c(0, 10000), type="l", lwd=2)
dev.off()
しかし,PDFファイルに出力しようとすると,
Warning messages:
1: font width unknown for character 0x90
2: font width unknown for character 0x90
3: font width unknown for character 0x90
4: font width unknown for character 0x90
という警告が出て,日本語で表記した部分が文字化けしたもの...
~
なお,R2.4.1はこのWikiを通じてダウンロードしたものです.~
起動時の初期画面の文字化けは,Rconsole, Rdevga, Rprofile....
//
-[[日本語化掲示板]]は読んだかな? -- &new{2007-01-24 (水...
-早速のコメント有難うございます.日本語化掲示板で,図形出...
-Rconsole等を上書きしなくても、手元の環境では以下のコード...
pdf(file="c:/test.pdf",family="Japan1")
plot (d,v1,xlab="時間", ylab="価値", main="", sub="指数...
pch=22, ylim=c(0, 10000), type="l", lwd=2)
dev.off()
familyの引数については、?postscriptFontsで。
-takahashi様.ご教示,大変有難うございました.familyとい...
- pdfの日本語が文字化けするので日本語を使わないようにして...
**変数名に変数? [#e8ab4bf7]
>[[R初心者]] (2007-01-24 (水) 06:57:46)~
~
大変、初歩的な質問ですみません。~
データを別のデータに保存する際、データ名の変更を簡単にす...
イメージですが、下の例ですと、コンソール画面で"ver_2"と打...
重ね重ね、初歩的な質問ですみません。
data<-c(1,2,3,4,5)
ver_num<-2
ver_ver_num<-data
//
-こういう時のためにリストという便利なデータ型があるんです...
> ver <- list(NULL)
> ver_no <- 0
> ver[[ver_no <- ver_no + 1]] <- 1:5
> ver[[ver_no <- ver_no + 1]] <- matrix(1:4, 2,2)
> ver[[ver_no <- ver_no + 1]] <- letters[1:5]
> ver
[[1]]
[1] 1 2 3 4 5
[[2]]
[,1] [,2]
[1,] 1 3
[2,] 2 4
[[3]]
[1] "a" "b" "c" "d" "e"
> ver[[1]]
[1] 1 2 3 4 5
> ver[[2]]
[,1] [,2]
[1,] 1 3
[2,] 2 4
> ver[[3]]
[1] "a" "b" "c" "d" "e"
もしどうしても ver_2 などという命名法がお気に入りなら、次...
> foo <- function(var_name, ver_no, data) {
nam <- paste(var_name, "_", ver_no, se...
assign(nam,data,env=.GlobalEnv) }
> foo("ver", 1, 1:5); ver_1
[1] 1 2 3 4 5
> foo("ver", 2, matrix(1:4,2,2)); ver_2
[,1] [,2]
[1,] 1 3
[2,] 2 4
> foo("ver", 3, letters[1:5]); ver_3
[1] "a" "b" "c" "d" "e"
> foo("another.ver", 1, 1:5); another.ver_1
[1] 1 2 3 4 5
-お節介ですが x<-data などとせず x <- data と空白を入れ...
-脇道だが,x<-1が比較演算と解釈されるのはどんなときだろう...
> x<-9
> x
[1] 9
> if(x<-1) print("x is less than -1 ??")
[1] "x is less than -1 ??"
> x
[1] 1
-失礼、逆です.論理判断 x < -1 をしているつもりなのに、...
-分かりました!どうもありがとうございます。また、<- と <...
**binary relationから行列の作成 [#pbc62c92]
>[[学生]] (2007-01-22 (月) 14:29:30)~
~
こんちには。行列の解析をしています。外部で作成した行列フ...
これまでは、事前に行列の形にしてRに読み込ませていました。
ただ、行列情報を普段はbinary relationの形で持っているので、
Rにこのまま読ませて、R内部で行列に変換するとういうことが
したいのですが、どのようにすればよいでしょうか?
>binary relation 形式
A<tab>B<tab>0
A<tab>C<tab>1
B<tab>C<tab>2
>matrix 形式
A B C
A 1 0 1
B 0 1 2
C 1 2 1
//
-もし記号の種類と数が予めわかっていて、ファイルがタブ区切...
> x <- scan("/tmp/test.data", what=list(character(0), ch...
Read 3 records
> x
[[1]]
[1] "A" "A" "B"
[[2]]
[1] "B" "C" "C"
[[3]]
[1] 0 1 2
> mat <- matrix(1, 3,3, dimnames=list(c("A","B","C"), c(...
# 永続付値演算子 <<- の使用に注意
> lapply(1:3, function(i) mat[x[[1]][i], x[[2]][i]] <<- ...
> mat
A B C
A 1 0 1
B 0 1 2
C 1 2 1
-ひとつの方法 -- [[takahashi]] &new{2007-01-22 (月) 15:34...
> d<-read.table("filename.tsv",as.is=T)
> n<-sort(unique(c(d[,1:2],recursive=T)))
> r<-matrix(1,length(n),length(n),dim=list(n,n))
> for(i in 1:dim(d)[1])r[d[i,1],d[i,2]]<-r[d[i,2],d[i,1]...
> r
A B C
A 1 0 1
B 0 1 2
C 1 2 1
-記号がA,B,C...ということだとして,以下のように(長いけど...
> df <- read.table("test.dat", header=FALSE, as.is=TRUE)
> df
V1 V2 V3
1 A B 0
2 A C 1
3 B C 2
> # A, B, C,... を 1, 2, 3, ... に変換する関数
> sufix <- function(x) sapply(x, function(L) which(LETTE...
>
> # 行列のサイズ n を自動で計算
> n <- which(LETTERS==rev(names(table(c(df[,1], df[,2]))...
> x <-diag(n) # 対角行列を作る
> suf <- cbind(sufix(df[,1]), sufix(df[,2])) # 添え字行...
> x[suf] <- df[,3] # 該当する要素位置に数値を格納
> x <- x+t(x) # 下三角行列にコピーして
> diag(x) <- 1 # 対角成分は1にする
> colnames(x) <- rownames(x) <- LETTERS[1:n] # 名前を付...
> x
A B C
A 1 0 1
B 0 1 2
C 1 2 1
**適応度の高低を等高線図で描く方法 [#k5dbd059]
>[[moriuchi]] (2007-01-21 (日) 01:12:29)~
~
はじめまして。~
花形質が適応度に与える影響を調べています。~
各個体ごとに、花弁長(X)および、雌しべ長(Y)を計測し、~
適応度としては種子数(Z)を用います。~
図としては、X軸に花弁長、Y軸に雌しべ長をとり、~
適応度の高低を等高線図で示せないかと考えています。~
contour()関数を使用すればよいのかと思うのですが、~
どのように記述すれば、このような図を描けるのでしょうか?~
初歩的質問で申し訳ないのですが、ご教授いただけないでしょ...
//
-example(contour) -- &new{2007-01-21 (日) 10:46:38};
-? contour -- &new{2007-01-21 (日) 14:11:48};
-contour 関数は昇順の x,y に対して、各格子点 c(x[i], y[i]...
-早速ご教授いただきましてありがとうございます。回帰を実施...
-X,Y のどのような関数にあてはまるかが分かっていれば,回帰...
以下に例を挙げてみましょう。z = exp((x-a)^2+(y-b)^2) とい...
> df <- structure(list(x = c(0.3, 0.4, 0.5, 0.7, 1, 1.4,...
+ 2.1, 2.5, 2.7, 3, 3.2, 3.3), y = c(1.3, 1.4, 1.5, 1.8,...
+ 2.5, 2.7, 3, 3.1, 3.5, 3.6, 4, 4.2, 4.5), z = c(324, 1...
+ 23, 7, 2, 2, 1, 1, 1, 2, 2, 7, 18, 51)), .Names = c("x...
+ "z"), row.names = 1:15, class = "data.frame")
> ans <- nls(z~exp((x-a)^2+(y-b)^2), df, start=list(a=2,...
> a <- ans$m$getPars()[1]
> b <- ans$m$getPars()[2]
> cat("a=", a, " b=", b, "?n")
a= 1.982297 b= 3.01758
> x <- seq(0,4,length=100)
> y <- seq(1, 5, length=100)
> z <- outer(x, y, function(xi, yj) exp((xi-a)^2+(yj-b)^...
> contour(x, y, z, levels=c(1.1, 2, 5, 10, 100, 1000))
#ref(contour-example.png)
-おそらく一番手軽なのはパッケージ akima を使い、不規則空...
> library(akima)
> xdata <- runif(30); ydata <- runif(30); zdata <- rnorm...
> data <- data.frame(x=xdata, y=ydata, z=zdata)
> with(data, contour(interp(x,y,z)))
#ref(akima.interp.png)
-上にある df データフレームのデータを akima を使って等高...
data データフレームの例は,zdata <- rnorm(30)+0.2*x^2-0.5...
#ref(akima-example2.png)
-失礼。最初の例の rnorm 以降の x,y は xdata,ydata でなけ...
-皆様ありがとうございました。大変参考になりました。じっく...
**C.FORTRAN言語をR言語の変換する方法 [#k972a391]
>[[初心者]] (2007-01-20 (土) 12:38:21)~
~
FORTRAN言語をR言語に取り込む機能はあるのでしょうか。~
もしご存知の方いましたらご教授お願いしたします。~
//
-CRAN にある公式マニュアル「Writing R Extensions」を熟読...
-FORTAN で書いたプログラム(サブルーチン)を呼び出して利...
[[Rから他言語利用]]を見るべし- &new{2007-01-20 (土) 22:0...
**64ビット版R for Windows Vista [#uec03fe5]
>[[Maerklin]] (2007-01-17 (水) 01:44:31)~
~
Windows Vistaがそろそろリリースされますが、Windowsの64...
//
**線形判別分析における定数変数の扱い [#g6e9831e]
>[[matuo]] (2007-01-16 (火) 17:40:17)~
~
3次元レーザスキャナで取得した30種の物体の形状データを、線...
形状データを一定の方向からの距離画像に変換し、その画像の...
変数が1176個、データ数が1種30枚の計900あるデータフレーム...
data.lda <- lda(train.data, label) #labelはtrain.dataに...
と実行すると、
以下にエラーsprintf(ngettext(length(const), "variable %d...
文字オブジェクトには %s 書式を使ってください
とエラーが出てしまいます。~
レーザスキャナで物体データの取得がされなかった点は距離画...
画像の端にあたるデータが定数変数になっているのですが、
ldaに渡すデータに定数変数が含まれているとエラーが出力され...
手動でそういった変数を取り除くと上手く判別されるのですが、
常に画像の全く同じ場所に物体データがあるとは限らず応用性...
関数内部で定数変数の処理を行うことは出来ないのでしょうか。~
//
-ああ,エラーメッセージは,エラーメッセージを出力しようと...
それはさておき,lda の内部にはそのような処理を行う部分は...
ldaに渡す前に,前もってデータをチェックして,全て同じ値を...
しかしまあ,変数が1176で,ケースが900だと,colinear にな...
variables are collinear in: lda.default(x, grouping, ...)
実に簡単なことです。以下のようなプログラムを実行すると,...
x <- matrix(rnorm(900*1176), 900)
colnames(x) <- paste("V", 1:1176, sep="")
x[,3] <- 777
x <- x[,apply(x, 2, var) != 0] # 必要なのはこれだけ!
x[1:10, 1:5]
-エラーメッセージが気になりますが、R のバージョンは最新で...
-質問者の環境はわかりませんが,R2.4.1 でも,あの通りのよ...
-例も示していただいてわかりやすい回答をありがとうございま...
エラー文がそのような意味だったとは思いもしませんでした。~
やはり事前にデータを抜き出す必要があるのですね。そうする...
もっと分析方法を検討しようと思います。RはR-2.4.1を使って...
-気になることが。エラーメッセージの和訳は各パッケージ毎に...
-昨日報告があったそうです.次のリリースで直るとの事. -- [[...
-翻訳はパッケージ毎に必要になります. 今回のはVRの中のメッ...
**使う事の出来ない関数 [#a639b330]
>[[サンダース]] (2007-01-16 (火) 10:41:40)~
~
library(KernSmooth)の中に、bkde2Dという関数があり、その関...
print(bkde2D)で見てみました。~
すると、その関数の中でlinbin2Dという関数が使われていたの...
また、このlinbin2Dという関数を使おうとしても、関数 "linbi...
どうすればこの関数を利用できるのでしょうか?誰か分かる方...
//
-
KernSmooth:::linbin2D
-- [[takahashi]] &new{2007-01-16 (火) 10:45:51};
-すばやい回答ありがとうございます!解決しました -- [[サン...
-[[Rgonzui:http://rgonzui.nakama.ne.jp/]]も -- &new{2007...
**sample [#bb02a1a3]
>[[sarita]] (2007-01-16 (火) 07:14:20)~
~
超初心者です。sampleという関数の使い方がわかりません。sam...
//
-質問の意味はとてもわかりにくいですが、もし本当に sample(...
> sample(1:10, 5) # 1:10 から5個を非復元無作為抽出
[1] 9 10 5 8 3
> sample(1:10, 20, rep=TRUE) # 1:10 から20個を復元無作為...
[1] 1 2 6 4 3 7 2 3 7 2 10 1 10 9 10 10 10 ...
-たぶん出てきた「ランダムな75個の数値」をインデックス指...
-質問は,わかりにくいと言うより,意味不明です。質問にある...
「ランダムな75個の数値」は,-100〜0 という負の数値ですか...
タイトルの付け方も不適切だし。 -- &new{2007-01-16 (火) 0...
-ありがとうございます! -- [[sarita]] &new{2007-01-16 (火...
-意味不明の質問ですみませんでした。 -- [[sarita]] &new{20...
-で,本当は(わかりやすく書けば)何が知りたかったんですか...
**下付け文字 [#x4578955]
>[[初心者を早く卒業したい]] (2007-01-14 (日) 18:53:11)~
~
下付け文字を含むグラフのタイトルを作りたいのですが、うま...
~
環境はMac os 10.48、Rのバージョンは2.31です。~
~
標準のエディタまでは下付け文字の入力ができる(他のエディ...
~
解決法をご存じの方がいらしたらお願いします。~
//
-> 標準のエディタまでは下付け文字の入力ができる(他のエデ...
それは,エディタが下付・上付文字を表示する機能を持ってい...
#ref(supsub.png)
-たとえばplot(ほにゃほにゃ,main=expression(AA[1]))とか......
-その方法も試してみたのですが、私の環境ではAA[1]のように...
-できないわけはないと思いますけど。~
関係あるかどうかは分からないが,なぜ,R2.4.1 にしないのだ...
まずは,環境を整えるのが先決。添付は,以下の実行結果。 --...
hist(rnorm(1000),main=expression(AA[1]))
#ref(demo6.png)
-ありがとうございました。title( " " )でタイトルを書く方法...
-当然ながら,title でも描けますよ。ただ,title で描いたっ...
> hist(rnorm(1000), main="")
> title(main=expression(AA[1]))
-"The R Tips" にはこの件についての解説がありましたから、R...
-「The」のついていない方の [[R-Tips:http://cse.naro.affrc...
**ARIMAモデルの定数項 [#f5ac2269]
>[[rwiki]] (2007-01-09 (火) 18:47:05)~
~
arima で推定しようとしたら intercept が出てこなかった。...
//
**デンドログラムの線間隔および線太さ指定方法 [#pb277eb4]
>[[leau]] (2007-01-05 (金) 11:10:03)~
~
昨日はどうもありがとうございました。‘R’入門者ですのでおて...
1.デンドログラム最下段の線間隔を広げたいのですが、コマン...
2.デンドログラムの線の太さを小さくしたいのですが、コマン...
//
-1. 図に赤で示した間隔ですか?
#ref(clust.png)
そうだとすれば,昨日貰った回答を試してみましたか?~
>-ウィンドウサイズを広げてみましたか? -- &new{2007-01-...
>-(補足)単純にマウスで、たとえばWebブラウザのウィンドウ...
2. 昨日の回答の「...」を調べましたか。ヒントは par 関数の...
入門者だからって,説明はわかるようにやらないと。 -- &new...
-上図の間隔を広げたいのです。それをコマンドのスクリプトで...
-500個のデータでデンドログラムを描くことが適切かどうかも...
-図は単に画面上にウィンドウとして表示するだけではなく、PD...
-いろいろありがとうございました。参考になりました。しばら...
**クラスター分析におけるフォントサイズ変更方法について [#...
>[[leau]] (2007-01-04 (木) 10:34:38)~
~
クラスター分析で出力されるデンドログラムで、最下段にデー...
現状では、データの数が多いと、データNo.が重なり合って...
//
-ウィンドウサイズを広げてみましたか? -- &new{2007-01-04...
-(補足)単純にマウスで、たとえばWebブラウザのウィンドウの...
-本当に,文字サイズを小さくしたいのなら,以下のように,pl...
> hc <- hclust(dist(USArrests), "ave")
> plot(hc, cex=0.5, col="red")
-ありがとうございました。上記コマンドで、フォントが小さく...
-> 取り込んだデータ(Dataset)を用いて、ウォード法、ユーク...
はて?何をどうしようと希望されているのか,さっぱりわかり...
-説明不足ですみません。コマンドの例> hc <- hclust(dist(US...
-distはデフォルトでユークリッド距離行列を返すし、ウォード...
-フォントを小さくする方法を聞いているのだから,dist や hc...
上の方もおっしゃっているように,あなたがまずすべきことは...
-お陰様でうまくできました。早速オンラインヘルプを見てみま...
**独立標本データの分析 [#qc715304]
>[[yoshizaki]] (2007-01-03 (水) 20:26:11)~
~
独立標本データの分析を行いたいと思っております。~
http://aoki2.si.gunma-u.ac.jp/R/two_sample.html~
青木先生のページにあるのですが、~
~
男女 血液型 データ数 平均値 標準偏差~
男 A ~
男 B~
男 AB~
男 O~
女 A ~
女 B~
女 AB~
女 O~
全体 ~
~
ともう一歩踏み込んで出力をさせたいと思っているのですがう...
//
-複数の群変数で多元分類をして,各群ごとのデータ数と平均値...
http://aoki2.si.gunma-u.ac.jp/R/breakdown.html ~
ではいかがでしょうか。breakdown という名前は SPSS 由来な...
-有難うございます。一瞬で解決しました。まだまだ調査不足だ...
**2行2列のchisq.testの結果が? [#fb320955]
>[[リュウ]] (2007-01-01 (月) 21:18:35)~
~
>chisq.test(matrix(c(435,165,265,135),2,2,byrow=T))の結果...
Pearson's Chi-squared test with Yates' continuit...
data: matrix(c(435, 165, 265, 135), 2, 2, byrow = T)
X-squared = 4.1716, df = 1, p-value = 0.04111
手計算でするとカイ2乗は4.464となります~
2,2行列では結果が定義に基づく手計算とずれてしまいます~
何故ずれるのかご教授ください よろしくお願いします~
//
**Rでロジスティック回帰分析 [#ie2bdbef]
>[[R初心者]] (2006-12-29 (金) 06:32:09)~
~
The R Bookのp.308で解説されているCalibrationで、表13.23の...
ネットでググってみたんですが、ロジスティック回帰モデルに...
是非ともご教授お願いします。~
//
-この質問に答えようとする人は,少なくともその本を持ってい...
-他の本ならともかく、このWikiから生まれたThe R Bookの所持...
-ですよね。でもね,年末で,今,その本に,アクセスできない...
-普通に推測確率をfittedとかpredict(x,type="response")とか...
-色々なご回答ありがとうございました。当方で試してみたとこ...
-せっかくなので、出来上がった関数を掲載していただけると後...
-関数と言うほどのものではありませんが、例えばglm関数を使...
logisticmodel <- glm(y ~ x, family=binomial, data)
と計算した後、その結果(logisticmodel)を利用して、
table(cut(plogis(predict(logisticmodel)), br = c(0,.2,.4...
等と入力すると、The R Bookのp.308で解説されているCalibrat...
初心者同士で敢えて解説しますと、predict関数と言うのは、原...
predict(logisticmodel)
の計算で出力される数値はロジスティック曲線の定義域の部分...
以上より、ロジスティック累積分布の関数plogisを使って、
plogis(predict(logisticmodel))
と出力します。これで確率となるわけです。~
次にcut関数ですが、これは任意のデータをbr=で指定したとお...
cut(データ, br=c(・・・))
今回の場合は、『データ』の部分にロジスティック回帰での確...
ここで区分けがされるので、あとはtable関数を用いて、今まで...
-ありがとうございました! 参考になります. -- &new{2007-01...
**コックス回帰のパワーアナリシス [#f383123f]
>[[サンプルサイズ]] (2006-12-28 (木) 01:00:34)~
~
コックス回帰のパワーアナリシスを行ってくれる関数、パッケ...
//
-パワーアナリシスというのは,検定力についてあれこれ検討す...
-NCSS PASSなどにはCox proportional hazard model のサンプ...
**時系列処理の高速化の仕方 [#bd7267b6]
>[[銀]] (2006-12-27 (水) 15:52:43)~
~
R初心者です。~
時系列データの処理をする上で、なかなか高速化がうまく行き...
行いたい処理の簡略化したものは以下のようなものです。~
~
目的:ある指定された期間の最大値および最小値をすべての期...
~
サンプル1~
10000個のデータに対して前後15個のデータを含む31個のデータ...
#初期値
N=10000
x=diffinv(rnorm(N))
span=15
#関数定義例
test1 <- function(x,span){
n=length(x)
span_max=NULL
span_min=NULL
for(i in (span+1):(n-15)){
temp_data=x[(i-15):(i+15)]
span_max[i]=max(temp_data)
span_min[i]=min(temp_data)
}
outdata=cbind(span_max,span_min)
}
#実行速度のチェック
system.time(test1(x,span))
[1] 0.67 0.03 0.72 NA NA
といった感じです。~
行列を使って少しだけ高速化すると、~
サンプル2
test2 <- function(x,span){
n=length(x)
temp_data=matrix(NA,n,span*2+1)
for(i in (span+1):(n-span)){
temp_data[i,]=x[(i-span):(i+span)]
}
span_max=apply(temp_data,1,max)
span_min=apply(temp_data,1,min)
outdata=cbind(span_max,span_min)
}
system.time(test2(x,span))
[1] 0.53 0.03 0.58 NA NA
となります。~
しかし、より高速化する必要があり、このプログラムでforルー...
//
-行列必要なくないですか? -- [[takahashi]] &new{2006-12-2...
test3 <- function(x,span){
n=length(x)
span_max<-span_min<-NULL
sapply((span+1):(n-span),
function(i){span_max<<-max(x[(i-span):(i+span)]);span_min...
span_max<-c(rep(NA,span),span_max,rep(NA,span))
span_min<-c(rep(NA,span),span_min,rep(NA,span))
outdata=cbind(span_max,span_min)
}
test4 <- function(x,span){
n=length(x)
span_max<-c(rep(NA,span),sapply((span+1):(n-span),func...
span_min<-c(rep(NA,span),sapply((span+1):(n-span),func...
outdata=cbind(span_max,span_min)
}
test5 <- function(x,span){
n=length(x)
span_max<-span_min<-NULL
sapply((span+1):(n-span),function(i){d<-x[(i-span):(i+...
span_max<-c(rep(NA,span),span_max,rep(NA,span))
span_min<-c(rep(NA,span),span_min,rep(NA,span))
outdata=cbind(span_max,span_min)
}
t2<-system.time(test2(x,span))
t3<-system.time(test3(x,span))
t4<-system.time(test4(x,span))
t5<-system.time(test5(x,span))
print(t2)
print(t3)
print(t4)
print(t5)
手元のマシンは遅いので
[1] 2.92 0.02 2.97 NA NA
[1] 1.46 0.00 1.47 NA NA
[1] 1.45 0.00 1.45 NA NA
[1] 0.95 0.00 0.97 NA NA
という感じでした。
-少し外しているかも知れませんが、この計算速度で不満という...
N=10000
x=diffinv(rnorm(N))
span=15
n <- length(x)
nn <- (n-15)-(span+1)+1
X <- matrix(sample(1:n, (2*span+1)*nn, rep=TRUE), nn, 2*...
testA <- function(x, span){
xx <- matrix(x[X], nn, 2*span+1)
resmax <- xx[cbind(1:nn, max.col(xx))]
resmin <- xx[cbind(1:nn, max.col(-xx))]
cbind(resmax, resmin)
}
> system.time(testA(x, span))
[1] 0.074 0.014 0.089 0.000 0.000
-max.colがあったんですね. 私はmatrixのトリックを使ってみ...
testI <- function(x,span){
suppressWarnings(XX<-matrix(c(x,rep(NA,span*2+1)),nr...
ncol=span*2+1)[(span*2+1...
cbind(XX[cbind(1:dim(XX)[1],max.col(XX))],XX[cbind(1...
}
> system.time(testI(x, span))
[1] 0.052 0.008 0.063 0.000 0.000
-takahashiさんありがとうございます。 -- [[銀]] &new{2006-...
試してみたのですが、test2とtest3〜5では出力が違ってきます...
間違っていたと思われる部分を自分で修正してみました
test5の訂正
test5 <- function(x,span){
n=length(x)
span_max<-span_min<-NULL
sapply((span+1):(n-span),
function(i){d<-x[(i-span):(i+span)];span_max<<-ma...
span_max<-c(rep(NA,span),span_max,rep(NA,span))
span_min<-c(rep(NA,span),span_min,rep(NA,span))
outdata=cbind(span_max,span_min)
}
↓
test5_ver2 <- function(x,span){
n=length(x)
span_max<-span_min<-NULL
sapply((span+1):(n-span),
function(i){d<-x[(i-span):(i+span)];span_max[i]<<- ma...
span_max<-c(span_max,rep(NA,span))
span_min<-c(span_min,rep(NA,span))
outdata=cbind(span_max,span_min)
}
という感じでよいでしょうか?~
しかし、
> system.time(test5(x,span))
[1] 0.27 0.01 0.28 NA NA
> system.time(test5_ver2(x,span))
[1] 0.74 0.00 0.74 NA NA
となってしまいます。~
どのように修正すればよいでしょうか?
-申し訳ないです。間違ってました。test5_ver2のようにすると...
test6 <- function(x,span){
## 新しいコード
n=length(x)
ret<-sapply((span+1):(n-span),function(i){d<-x[(i-span...
outdata<-cbind(c(rep(NA,span),ret[1,],rep(NA,span)),c(...
}
print(system.time(test5(x,span)))
print(system.time(test5_ver2(x,span)))
print(system.time(test6(x,span)))
[1] 0.28 0.01 0.30 NA NA
[1] 1.76 0.06 1.84 NA NA
[1] 0.18 0.00 0.18 NA NA
こんな感じです。
-まとめ -- [[銀]] &new{2006-12-28 (木) 15:53:19};~
みなさんありがとうございます。~
かなり速くなりますね。~
~
とりあえずtestAの答え??~
testA_ver2 <- function(x, span){
n <- length(x)
nn <- n-2*span
X <- suppressWarnings(matrix(1:n,n+1,2*span+1)[1:n,])
xx <- matrix(x[X],n,2*span+1)
resmax <- xx[cbind(1:n, max.col(xx))][1:nn]
resmin <- xx[cbind(1:n, max.col(-xx))][1:nn]
cbind(resmax, resmin)
}
って感じですかね?~
最終的な結果は以下の通りです。(計算量を多くしました)
N=50000
x=diffinv(rnorm(N))
span=15
system.time(test1(x, span))
[1] 12.42 3.71 16.16 NA NA
system.time(test6(x,span))
[1] 1.09 0.10 1.22 NA NA
system.time(testA_ver2(x, span))
[1] 0.29 0.08 0.38 NA NA
system.time(testI(x, span))
[1] 0.24 0.03 0.26 NA NA
なかまさんのモノはシンプルで非常に早いですね。~
みなさんすばらしいですね。~
もっと勉強します。。。
-中間さんの超絶技巧に私同様ついていけない人も多い(ばかり...
n <- 10; span <- 3 とします。要点は
> XX
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 7 6 5 4 3 2 1
[2,] 8 7 6 5 4 3 2
[3,] 9 8 7 6 5 4 3
[4,] 10 9 8 7 6 5 4
という行列を作ることです。すると例えば x[XX[1,]] は最初に...
x[7:1] になります。XX を作る中間マジックは、まずベクトル
c(x,rep(NA,2*span+1) = c(1,2,3,4,5,6,7,8,9,10,NA,NA,NA,N...
を作り、R にこれを dim=c(16,7) の行列にせよ、と命令します...
> X<-matrix(c(x,rep(NA,span*2+1)),nrow=(length(x)+span*2...
Warning message:
行列のデータ長 [17] が行数 [16] を整数で割った、もしく...
> X
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 1 NA NA NA NA NA NA
[2,] 2 1 NA NA NA NA NA
[3,] 3 2 1 NA NA NA NA
[4,] 4 3 2 1 NA NA NA
[5,] 5 4 3 2 1 NA NA
[6,] 6 5 4 3 2 1 NA
[7,] 7 6 5 4 3 2 1
[8,] 8 7 6 5 4 3 2
[9,] 9 8 7 6 5 4 3
[10,] 10 9 8 7 6 5 4
[11,] NA 10 9 8 7 6 5
[12,] NA NA 10 9 8 7 6
[13,] NA NA NA 10 9 8 7
[14,] NA NA NA NA 10 9 8
[15,] NA NA NA NA NA 10 9
[16,] NA NA NA NA NA NA 10
となります。ここで不要な行 1:6, 11:16 を捨てれば目的の行...
XX <- X[complete.cases(X),]
としても良かったわけです。
**AIC以外での次数決定 [#tad19ff3]
>[[蟹玉]] (2006-12-19 (火) 14:56:13)~
~
現在、時系列モデルのひとつであるARモデルを用いて予測を行...
ヘルプ[help(ar)]にはAICを使わない方法は書いてありましたが...
//
-どこかのパッケージに用意されている可能性はありますが、基...
-AIC=ー2(モデルの最大尤度)+2k (k はモデルのパラメータ数)...
-BICを求めるならlibrary(fSeries)でもよいのでは? -- &new...
-質問者は BIC を如何にして求めるかを聞いているのではなく...
-Rのソースコードのsrc/library/stats/R/ar*.Rの中でAICを計...
-ありがとうございます。仰られる通りでして、ar関数でのBIC...
-上記のar*.RファイルはRの解凍後ディレクトリに発見しました...
-パッケージングするのが王道ですが、書き換えた関数群のRソ...
-要するに、以下のコードを走らせればよいです。BICの計算は...
BICでモデル選択してることがわかるかと思います -- [[takaha...
ar.yw.default <-
function (x, aic = TRUE, order.max = NULL, na.action...
demean = TRUE, series = NULL, ...)
{
if(is.null(series)) series <- deparse(substitute(x))
ists <- is.ts(x)
x <- na.action(as.ts(x))
if(ists) xtsp <- tsp(x)
xfreq <- frequency(x)
x <- as.matrix(x)
if(!is.numeric(x))
stop("'x' must be numeric")
if(any(is.na(x))) stop("NAs in 'x'")
nser <- ncol(x)
if (demean) {
xm <- colMeans(x)
x <- sweep(x, 2, xm)
} else xm <- rep(0, nser)
n.used <- nrow(x)
order.max <- if (is.null(order.max)) floor(10 * log1...
else round(order.max)
if (order.max < 1) stop("'order.max' must be >= 1")
xacf <- acf(x, type = "covariance", lag.max = order....
demean = demean)$acf
if(nser > 1) {
## multivariate case
snames <- colnames(x)
A <- B <- array(0, dim = c(order.max + 1, nser, ...
A[1, , ] <- B[1, , ] <- diag(nser)
EA <- EB <- xacf[1, , , drop = TRUE]
partialacf <- array(dim = c(order.max, nser, nse...
xaic <- numeric(order.max + 1)
solve.yw <- function(m) {
# Solve Yule-Walker equations with Whittle's
# generalization of the Levinson(-Durbin) al...
betaA <- betaB <- 0
for (i in 0:m) {
betaA <- betaA + A[i + 1, , ] %*% xacf[m...
betaB <- betaB + B[i + 1, , ] %*% t(xacf...
}
KA <- -t(qr.solve(t(EB), t(betaA)))
KB <- -t(qr.solve(t(EA), t(betaB)))
EB <<- (diag(nser) - KB %*% KA) %*% EB
EA <<- (diag(nser) - KA %*% KB) %*% EA
Aold <- A
Bold <- B
for (i in 1:(m + 1)) {
A[i + 1, , ] <<- Aold[i + 1, , ] + KA %*...
B[i + 1, , ] <<- Bold[i + 1, , ] + KB %*...
}
}
cal.aic <- function() { # omits mean params, tha...
det <- abs(prod(diag(qr(EA)$qr)))
return(n.used * log(det) + 2 * m * nser * ns...
}
cal.resid <- function() {
resid <- array(0, dim = c(n.used - order, ns...
for (i in 0:order) {
resid <- resid + x[(order - i + 1):(n.us...
, drop = FALSE] %*% t...
}
return(rbind(matrix(NA, order, nser), resid))
}
order <- 0
for (m in 0:order.max) {
xaic[m + 1] <- cal.aic()
if (!aic || xaic[m + 1] == min(xaic[1:(m + 1...
ar <- A
order <- m
var.pred <- EA * n.used/(n.used - nser *...
}
if (m < order.max) {
solve.yw(m)
partialacf[m + 1, , ] <- -A[m + 2, , ]
}
}
xaic <- xaic - min(xaic)
names(xaic) <- 0:order.max
resid <- cal.resid()
if(order > 0 ) {
ar <- -ar[2:(order + 1), , , drop = FALSE]
dimnames(ar) <- list(1:order, snames, snames)
} else ar <- array(0, dim=c(0, nser, nser),
dimnames=list(NULL, snames, s...
dimnames(var.pred) <- list(snames, snames)
dimnames(partialacf) <- list(1:order.max, snames...
colnames(resid) <- colnames(x)
} else {
## univariate case
r <- as.double(drop(xacf))
z <- .Fortran(stats:::R_eureka, ## ここも変更
as.integer(order.max),
r, r,
coefs=double(order.max^2),
vars=double(order.max),
double(order.max))
coefs <- matrix(z$coefs, order.max, order.max)
partialacf <- array(diag(coefs), dim=c(order.max...
var.pred <- c(r[1], z$vars)
xaic <- n.used * log(var.pred) + 2 * (0:order.ma...
## ここから
tmp<-data.frame(order=0:order.max,AIC=xaic)
xaic <- n.used * log(var.pred) + log(n.used) * (...
tmp$BIC<-xaic
print(tmp)
## ここまで
xaic <- xaic - min(xaic)
names(xaic) <- 0:order.max
order <- if (aic) (0:order.max)[xaic == 0] else ...
ar <- if (order > 0) coefs[order, 1:order] else ...
var.pred <- var.pred[order+1]
## Splus compatibility fix
var.pred <- var.pred * n.used/(n.used - (order +...
if(order > 0)
resid <- c(rep(NA, order), embed(x, order+1)...
else resid <- as.vector(x)
if(ists) {
attr(resid, "tsp") <- xtsp
attr(resid, "class") <- "ts"
}
}
res <- list(order=order, ar=ar, var.pred=var.pred, x...
aic = xaic, n.used=n.used, order.max=ord...
partialacf=partialacf, resid=resid, meth...
series=series, frequency=xfreq, call=mat...
if(nser == 1 && order > 0)
res$asy.var.coef <-
solve(toeplitz(drop(xacf)[seq_len(order)]))*...
class(res) <- "ar"
res
}
print(ar(lh))
実行結果
> source('tmp.r')
order AIC BIC
1 0 -56.12519 -56.12519
2 1 -73.43620 -71.56500
3 2 -73.89383 -70.15143
4 3 -74.43186 -68.81825
5 4 -72.94150 -65.45669
6 5 -71.21907 -61.86306
7 6 -69.43864 -58.21144
8 7 -67.96236 -54.86395
9 8 -65.96929 -50.99968
10 9 -65.69066 -48.84985
11 10 -63.69097 -44.97896
12 11 -61.89799 -41.31478
13 12 -59.94707 -37.49266
14 13 -57.97006 -33.64445
15 14 -56.38814 -30.19133
16 15 -56.99202 -28.92400
17 16 -55.08691 -25.14769
Call:
ar(x = lh)
Coefficients:
1
0.5755
Order selected 1 sigma^2 estimated as 0.2079
**rep.aovは何処にある? [#lddf79f2]
>[[高井]] (2006-12-16 (土) 09:55:35)~
~
反復測定データの分散分析を考えており,ここを検索したら「...
//
-「[[Rの統計解析関数Tips]]」にあります。 -- &new{2006-12...
-rep.aov で,ググったら,一発目に出てきます。そのあと,ペ...
-ああ〜。あのコードが関数なんですね。どなたかの自作関数と...
**yatex-modeとnoweb-minor-modeの両立 [#i9fde60a]
>[[S]] (2006-12-13 (水) 17:42:12)~
~
emacs上でRnwファイルを編集しているのですが、noweb-minor-m...
よろしくお願いします。このWikiのSweave関連ページには目を...
//
-わたしのは, 5.3.0ですが,
(defun Rnw-mode ()
"Major mode for editing Sweave(R) source.
See `noweb-mode' and `R-mode' for more help."
(interactive)
(require 'ess-noweb)
(noweb-mode 1)
(noweb-set-doc-mode 'yatex-mode)
(noweb-set-code-mode 'R-mode))
とか書いてあります.-- [[なかま]] &new{2006-12-13 (水) 19:...
-なかまさま、お陰様で私の環境でもうまくいきました。感謝申...
**制約条件つき関数の描画または同時描画 [#xc0bb3ca]
>[[figure]] (2006-12-13 (水) 15:10:10)~
~
はじめまして。関数の描画についての質問です~
(1)H(x) >0で1 x<=0で0の描き方。(line文以外)~
(2)円をその半径を超えた領域内に描くとき、consoleにNAN...
(3)大きさの違う二つ円を円のなかに円が含まれる場合にmat...
大変初歩的な質問ですみませんが、よろしくお願いします.~
xの条件付きで関数定義をしても、plot()させることができませ...
~
//
-(1)curve(ifelse(x>0,1,ifelse(x<=0,0,NA)),-1,2) -- [[taka...
-(3)matplot(data.frame(sin(2*pi*0:180/180),0.5*sin(2*pi*0...
-(2)plot(sin(2*pi*0:180/180),cos(2*pi*0:180/180),xlim=c(-...
-(1)は,plot.stepfun(0, 0:1) あと,好きなだけお化粧を。(...
-どうも有難うございます。うっかりしていたのは y=sqrt(r^2...
- -- [[takahashi]] &new{2006-12-14 (木) 23:23:37};
plot.new()
polygon(0.5+0.5*sin(2*pi*0:180/180),0.5+0.5*cos(2*pi*0:1...
polygon(0.5+0.25*sin(2*pi*0:180/180),0.5+0.25*cos(2*pi*0...
-以下のようなものでも,「ごてごて」してるとは思いませんし...
circle <- function(cx, cy, f, col)
{
theta <- seq(0, 2*pi, length=400)
polygon(cx+f*sin(theta), cy+f*cos(theta), col=col, bord...
}
plot.new()
circle(0.5, 0.5, 0.5, "red")
circle(0.5, 0.5, 0.25, "white")
**ARモデルのAICについて [#g4aec0f6]
>[[おやじ]] (2006-12-12 (火) 17:39:53)~
~
AR()で予測式をつくり、そのAICを$AICで返した時に、最小値...
//
-ARという関数は私は見つけられなかったのですが,arという関...
Order selection is done by AIC if aic is true. This is p...
the methods here only ar.mle performs true maximum like...
The AIC is computed as if the variance estimate were the...
the determinant term from the likelihood. Note that this...
as the Gaussian likelihood evaluated at the estimated pa...
In ar.yw the variance matrix of the innovations is compu...
fitted coefficients and the autocovariance of x.
と書いてあるのですが,これがあなたの質問の回答なんでしょ...
-その通りです。AIC 値は差だけが意味を持ちますから、わかり...
-ありがとうございます!!やはり差をとっているんですね!す...
**閾値を設定したクラスタリング解析について [#y92197d2]
>[[学生]] (2006-12-12 (火) 11:44:01)~
~
関数hclust()を使って階層的クラスター分析をする際にcutree(...
//
-このページの下の方に(目次参照)「クラスター図を横向きで...
-なぁんだ。? cutree しなかったんですか?ちゃんと,h とい...
**repeated-measures ANCOVA [#we73da03]
>[[s.y.]] (2006-12-11 (月) 15:52:15)~
~
皆様、~
repeated-measures ANCOVAをRで行うための簡単な方法はありま...
//
-Repeated measured ANOVA については,[[Rの統計解析関数Ti...
-Repeated-measures ANOVAではなく、repeated-measures ANCOV...
-わかっています。ですから,「Repeated measured ANOVA につ...
-はい、検索はしたのですが、わかりませんでした。Rに関する...
-困った時の「R site search」( http://finzi.psych.upenn.ed...
-R site searchを使用してみましたが、やはりわかりませんで...
**loess平滑化について [#e469c502]
>[[MU]] (2006-12-09 (土) 12:38:20)~
~
皆様のお教えをいただけるようにお願い申し上げます.~
体重成長の結果を平滑化しようとしています.~
使用環境は次の通りです.~
PCはWindows XPで、R version 2.2.1. パッケージは methods, ...
エクセルから読み込んだマトリックスBWを元に、図を作成しま...
#ref(uc.png)
そして、[[RjpWiki アーカイブス]]の〔Rの基本パッケージ〕中...
具体的には次の通りです.
> BW<- read.delim("clipboard")
> x<- BW[,1]
> y<- BW[,2]
> scatter.smooth(x,y,span=2/3,degree=1,family=c ("symmet...
xlab=deparse(substitute(x)), ylab=deparse(substitu...
ylim=range(y,prediction$y), evaluation=50)
以下にエラーrange(y, prediction$y) : オブジェクト "predi...
この場合の、解決策を教えていただけないでしょうか.~
勉強が足りない状態で、お伺いすることをお許しください.よろ...
//
-2.1 の lowess 関数の戻り値を prediction に付置しているの...
-たぶんfamilyの引数でもエラーが出そうですね。 -- &new{20...
-family の指定法は,尋常ではないですが,エラーにはなりま...
-取り急ぎ、お礼を申し上げます。まだ理解が進まず、解決でき...
//
**実行ファイルが文字化け?です。 [#z8d0b8a7]
>[[-0.889]] (2006-12-03 (日) 00:13:33)~
~
実行ファイルをダウンロードし、出来たショートカットをクリ...
それから、マクネマー検定のことですが、不一致の数だけが問...
//
-変な文字と言われても確認のしようがないと思います。実例を...
-実行ファイルが文字化け,ではなくて,できたショートカット...
-この質問の下3つ目ですね。やたら,スレッドを増やさないよ...
-一度に関連の無い質問を複数するのも行儀が悪いですね。 -- ...
-ご迷惑をおかけして申し訳ありません。
フリーのソフトウエアをダウンロードして、使わせていただく...
トップページの「Rのインストール」からR-2.3.1をダウンロー...
それをお見せしようとコピーして貼り付けましたら「Rはフリー...
長くなりすみません。 -- [[マキヤン]] &new{2006-12-03 (日)...
-勝手ながら整形させていただきました.ご質問の件ですが,以...
~
[[http://cwoweb2.bai.ne.jp/~jgb11101/files/cart/cart.html...
~
この分だと,R を使い始めた後もいろいろと分からないことが...
-いろいろなご教示をありがとうございました。がんばってみま...
**Linux版Rにパッケージをなんでもかんでも追加する方法 [#nd...
>[[Fedore Core5使い]] (2006-12-02 (土) 16:44:50)~
~
Linux(Fedore Core5)に、「[[追加パッケージをなんでもかんで...
# 1. CRANから一覧を入手
packs<-CRAN.packages(contriburl=contrib.url("http://cran...
# 2. 一覧をもとにダウンロードとインストール
install.packages(packs[,1],contriburl=contrib.url("http:...
エラーが出て上手く行きません。。。~
(「contriburlは廃止予定です」というエラーは無視してよい...
対処法を教えていただければうれしいのですが。。。~
-例えば、どんなエラーになるのでしょう。一般には、一つのパ...
-御指導通り、「一つのパッケージをインストールしようとして...
> install.packages("Rcmdr")
--- Please select a CRAN mirror for use in this session ...
Loading Tcl/Tk interface ... 以下にエラーdyn.load(x, as....
as.logical(now)) :
共有ライブラリ '/usr/lib/R/library/tcltk/libs/tcl...
libtk8.4.so: 共有オブジェクトファイルを開けません: その...
エラー:.onLoad は 'tcltk' のための 'loadNamespace' に失...
ひとつずつインストールするのが良いようですね。御指導あり...
-tkのライブラリが無いといってますよ. yum install tk をす...
**RODBCとEXCELファイル・ACCESSファイルの読み込みについて ...
>[[-0.889をハンドルネームにするのは・・・]] (2006-12-02 (...
~
EXCELファイルやACCESSファイルを読み込む際の話ですが、Wind...
あと、これは興味本位の質問なのですが、Linux版RでEXCELファ...
ご指導よろしくお願い致します。~
//
-レスがついていないようなので,まず最近のMacOSXに日本語が...
-Windows版で読み込めるんですか?僕もRcmdr経由でRODBC試して...
-Mac,Linuxは実機が手元にないのでどこまで可能か不明ですが...
-R2.4.1&RODBCver1.1-7,WinXPsp2でc:?test.xls作成し、コンソ...
> library(RODBC)
> channel <- odbcConnectExcel("C:/test.xls")
> channel
RODB Connection 7
Details:
case=nochange
DBQ=C:?test.xls
DefaultDir=C:?
Driver={Microsoft Excel Driver (*.xls)}
DriverId=790
MaxBufferSize=2048
PageTimeout=5
**実行ファイルのダウンロードについて(ダウンロードファイ...
>[[-0.889]] (2006-11-30 (木) 21:57:15)~
~
Rのダウンロードを教えてください。The R projectに行っても...
//
-http://cran.md.tsukuba.ac.jp/bin/windows/base/ へ行きま...
-実行ファイルのダウンロードについて教えていただきありがと...
-真の初心者です。R-2.4.0-win32をダウンロードして、ショー...
//
-トップページの「Rのインストール」は読んだんですか? 手取...
-Macintoshだともう少し簡単で,少なくともクリックして文字...
**同じ大きさの複数のプロットを重ねて描画 [#me056f46]
>[[初心者です]] (2006-11-22 (水) 23:26:49)~
~
いつもお世話になっています.~
共通の横軸を持つプロットを複数積み重ねて描画したいのですが,
theta<-seq(-pi,pi,by=0.1)
par(mfrow=c(3,1),mar=c(0,4,0,0),oma=c(5,4,4,1))
plot(theta,sin(theta),type="l",xlab="",ylab=expression(s...
axis(1,tick=T,labels=F)
plot(theta,cos(theta),type="l",xlab="",ylab=expression(c...
axis(1,tick=T,labels=F)
plot(theta,tan(theta),type="l",xlab=expression(theta),yl...
#ref(mplot1.png)
とすると,一番下のプロットに付けたxlabが消えてしまいます...
theta<-seq(-pi,pi,by=0.1)
par(mfrow=c(3,1),mar=c(0,4,0,0),oma=c(5,4,4,1))
plot(theta,sin(theta),type="l",xlab="",ylab=expression(s...
axis(1,tick=T,labels=F)
plot(theta,cos(theta),type="l",xlab="",ylab=expression(c...
axis(1,tick=T,labels=F)
par(mar=c(5,4,0,0) plot(theta,tan(theta),type="l",xlab=e...
#ref(mplot2.png)
としてみましたが,これでは最後にプロットしたグラフの大き...
どなたかうまい方法をご存知であれば教えていただけないでし...
環境 : R version 2.5.0 Under development (unstable) (2006...
i386-pc-mingw32~
//
-最初のプログラムの方で,2行目のmarの設定を変えればいいだ...
mar=c(0,4,0,0)じゃ,xlab を描くだけの余白がないんですよ。...
par(mfrow=c(3,1),mar=c(4,4,0,0),oma=c(5,4,4,1))
-回答ありがとうございます.説明不足だったのですが,三つの...
二つ目に書いたプログラムでは三つ目のプロットのxlabの入る...
-あ,そうか。それじゃ,3つのグラフの間に隙間ができるとい...
-そうなんです.残された方法はmtextで下の余白にxlabを書き...
-でもね。縦軸の目盛りの数値が重なってみっともないとか言う...
文字の大きさのバランスも変だったので,私の環境で調整して...
theta<-seq(-pi,pi,by=0.1)
par(mfrow=c(3,1),mar=c(0,4,0,0),oma=c(4,1,1,1),xpd=NA,ce...
plot(theta,sin(theta),type="l",xlab="",ylab=expression(s...
axis(1,tick=T,labels=F)
plot(theta,cos(theta),type="l",xlab="",ylab=expression(c...
axis(1,tick=T,labels=F)
plot(theta,tan(theta),type="l",xlab="",ylab=expression(t...
text(0, -110, expression(theta))
#ref(multi.png)
-縦軸(野ラベル,目盛り)は左右交互に描くとよいかな。(上...
-ありがとうございました.参考にしてやってみました.
theta<-seq(-pi,pi,by=0.1)
par(mfrow=c(3,1),mar=c(0,4,0,0),oma=c(5,4,4,1),las=1)
plot(theta,sin(theta),ylim=c(min(sin(theta))*1.5,max(sin...
ylab=expression(sin(theta)),xaxt="n",yaxt="n")
axis(1,tick=T,labels=F)
axis(2,tick=T,labels=T,at=pretty(sin(theta)))
plot(theta,cos(theta),ylim=c(min(cos(theta))*1.5,max(cos...
ylab=expression(cos(theta)),xaxt="n",yaxt="n")
axis(1,tick=T,labels=F)
axis(2,tick=T,labels=T,at=pretty(cos(theta)))
plot(theta,tan(theta),ylim=c(min(tan(theta))*1.5,max(tan...
ylab=expression(tan(theta)),xaxt="n",yaxt="n")
axis(1,tick=T,labels=T)
axis(2,tick=T,labels=T,at=pretty(tan(theta)))
mtext(expression(theta),side=1,line=3)
#ref(mplot3.png)
あとは仰られるように文字サイズの微調整も必要そうですね. ...
-水色の背景で表示される部分は自動改行されず、ブラウザーで...
**Rmapのインストールについて [#gc844912]
>[[まめ]] (2006-11-22 (水) 14:54:07)~
~
Rmapを用い、地図を作成したいのですが、手順どおり作業を行...
ご存知の方教えてください。~
~
使用環境は以下です。~
PC:Windows XP
> sessionInfo()
Version 2.3.1 (2006-06-01)
i386-pc-mingw32
attached base packages:
[1] "methods" "stats" "graphics" "grDevices" "uti...
[7] "base"
手順は以下の通り行いました。~
1、以下のファイルを入手~
・shapefile.dill~
・proj.dill~
・Rmap_1.1.0~
2、shapefill.dillおよびproj.dillをRインストール先のbinフ...
3、RGuiを起動し、『パッケージ』から『ローカルにあるzipフ...
~
以上を行うと以下のように示されます。
> utils:::menuInstallLocal()
updating HTML package descriptions
そしてRmapパッケージをロードすると、エラーが返されます。
> library(rmap)
以下にエラーlibrary(rmap) : 'rmap' という名前のパッケー...
そこで、再び『パッケージ』に入り、『パッケージの読み込み....
> local({pkg <- select.list(sort(.packages(all.available...
+ if(nchar(pkg)) library(pkg, character.only=TRUE)})
以下にエラーlibrary(pkg, character.only = TRUE) :
'Rmap' は有効なパッケージではありません。バージョ...
以上が私の行った作業とその結果です。
初心者のため、何が問題点なのか分かりません。お手数ですが...
//
-RmapってR1.9.Xまでしか使えなかったような記憶があります。...
-ありがとうございます。試してみます。 -- [[まめ]] &new{20...
**Rの予約語 [#e4bdbef4]
>[[ちょもらんま]] (2006-11-14 (火) 13:11:51)~
~
Rで使われているRのシステム自体が用いる変数名=予約語(data...
またもし自分で作ったRスクリプト中でRの予約語と重複するよ...
//
-http://cran.r-project.org/doc/manuals/R-lang.html#Reserv...
FALSE, TRUE, break, else, for, function, if, in, next, re...
これらは,変数名などとして使うことはできません(for <- 5 ...
-これらはエラーになるから実害は無いでしょうが、たとえば ...
-それは予約語でないので仕方ない。そういうことをする人が悪...
ちなみに,本当に sin を cos にしたいなら,sin <- cos だけ...
-みなさま、ご教授ありがとうございました。疑問がすべて解決...
-おぉ、仲間を発見!私もTという名前の変数をうっかり作って...
-予約語使用即エラーにならない例も(将来は知らない)。-- ...
> ..1 <- 3
> ..1
[1] 3
**マトリクスからNAを除去する方法 [#u19ecbe3]
>[[ふみふみ]] (2006-11-14 (火) 10:53:52)~
~
数値(整数4桁、小数3桁)からなるデータフレーム、またはマト...
どうぞよろしくお願いいたします。~
//
-捜すより作る方が早い -- &new{2006-11-14 (火) 11:16:04};
> # 例を作る
> x <- matrix(1:30, 5, 6)
> x[1,2] <- x[3,4] <- x[4, 6] <- NA
> x
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 NA 11 16 21 26
[2,] 2 7 12 17 22 27
[3,] 3 8 13 NA 23 28
[4,] 4 9 14 19 24 NA
[5,] 5 10 15 20 25 30
> # 適用 わずかにこれだけ
> y <- x[!is.na(rowSums(x)), !is.na(colSums(x))]
> y
[,1] [,2] [,3]
[1,] 2 12 22
[2,] 5 15 25
-ありがとうございます。本当に迅速な回答痛み入ります。自分...
-x[complete.cases(x),complete.cases(t(x))] というのもあり...
> x[complete.cases(x),complete.cases(t(x))]
[,1] [,2] [,3]
[1,] 2 12 22
[2,] 5 15 25
それでもって,びっくりしたことは,後者の方が効率がよいと...
> x <- matrix(1:30, 5, 6)
> x[1,2] <- x[3,4] <- x[4, 6] <- NA
> system.time(for(i in 1:100000) y <- x[!is.na(rowSums(x...
user system total user.c...
24.156 0.480 27.397 ...
> system.time(for(i in 1:100000) z <- x[complete.cases(x...
user system total user.c...
4.914 0.087 5.540 ...
ていうか,行列のサイズにも依存するかもね。こういうのは,...
> x <- matrix(rnorm(1000000), 1000, 1000)
> x[sample(1000,50),sample(1000,50)] <- NA
> system.time(for(i in 1:100) y <- x[!is.na(rowSums(x)),...
user system total user.c...
27.518 2.444 32.602 ...
> system.time(for(i in 1:100) z <- x[complete.cases(x),c...
user system total user.c...
25.149 4.482 32.726 ...
**table()で集計した時にカウントがゼロの項目も0と出したい ...
>[[<ふ>]] (2006-11-09 (木) 22:24:40)~
~
みなさま、~
~
データの単純な集計にtable()をつかってますが、以下のような...
たとえば、xを、
> x <- c(1,1,1,2,2,4,4,5)
として、
> table(x)
を実行すると、
x
1 2 4 5
3 2 2 1
となりまして、データがある、1,2,4,5は、でてきますが、デー...
しかし、グラフに表示するにあたって、項目3が、ゼロであるこ...
つまり、
x
1 2 3 4 5
3 2 0 2 1
というような状態をつくりたいのですが、なにか方法はありま...
たとえば、項目の要素を、ベクトルで与えて(ここでは、c(1:5...
アドバイスよろしくお願いいたします。~
//
-table(factor(x, levels=1:5)) -- [[コラロド]] &new{2006-1...
-ありがとうございます。既出なんですね、やはり...。いろい...
- [[知っているといつか役に立つ(?)関数達]] の (74) を参照...
-「知っていると..」(74)も拝見いたしました。ありがとう...
**ファイルサーバーのファイルを取得する方法 [#c49bc82d]
>[[Akira]] (2006-11-08 (水) 17:59:29)~
~
WindowsXPからLinux(ubuntu)に乗り換えようとしています。R-2...
ファイルサーバにあるデータを読み込みたいのですが、サーバ...
WinXPではGUIでサーバにアクセスしておけば、R上でも読み込む...
Linuxではうまくできません。Linux上でsetwd("//xxx.xxx.xx.x...
WinXPでは次のようにしています。
+//xxx.xxx.xx.xxx/abcにデータがあるとします
+GUIでサーバにアクセス(UserNameとPasswordを入力)
+Rを起動
+setwd("//xxx.xxx.xx.xxx/abc")で移動可能
//
-mountしとけばよろしいのでは? -- &new{2006-11-08 (水) 18...
-解決しました。ありがとうございます。ubuntuのDesktopにmou...
>sudo smbmount //xxx.xxx.xx.xxx/abc /mnt/abc -o username...
**jpeg()、bmp()などのファイル番号の取得方法は? [#ge8b41d1]
>[[<ふ>]] (2006-11-07 (火) 17:11:15)~
~
みなさま、~
~
グラフを出力するにあたり~
jpeg()~
のように、ファイル名を指定しないでおくと、Rplot%03d.jpg ...
~
で、この%03dにわたされている数値を参照する方法はありませ...
~
現在やっているのは、~
1)xtable()である項目をHTMLの表にする。~
2)その項目のグラフを描画しファイルに書き出す。~
~
これを、一本の report.html というようなファイルで束ねるこ...
1)は、そのまま、sink(repot.html)で吐き出してくれるのです...
~
アドバイスよろしくお願いいたします。~
//
-ファイル名に含まれる連番を自分で管理すればよろしいのでは...
以下のようなプログラムの断片では,ファイル名はFig201.jpeg...
蛇足ですが,グラフに jpeg はあまりお勧めではないかも知れ...
for (i in 1:3) {
file.name <- sprintf("Fig%03i.jpeg", i+200)
jpeg(file.name, width=400, height=300)
hist(rnorm(1000))
dev.off()
}
-実は、一連のデータを集計しながらグラフを描いたり、削除し...
-あなたがその情報にアクセスするタイミングが今ひとつ明確で...
fname <- function()
{
a <- list.files()
sprintf("Rplot%03i.jpg", max(as.numeric(substr(a[grep("...
}
利用例は以下のごとし。ただ,私は,pdf 関数でやってみた。
> fname <- function()
+ {
+ a <- list.files()
+ sprintf("Rplot%03i.pdf", max(as.numeric(substr(a[grep...
+ }
> pdf(onefile=FALSE)
> hist(rnorm(1000))
> hist(runif(1000))
> fname()
[1] "Rplot002.pdf"
> plot(1:100, (1:100)^2)
> plot(1:100, (1:100)^3)
> fname()
[1] "Rplot004.pdf"
> plot(rnorm(100), rnorm(100))
> fname()
[1] "Rplot005.pdf"
-なるほど、作業ディレクトリのファイル名から引き出してくる...
-前述の方法よりかなりわかりにくいが、次の一行コマンドでも...
> row.names(a <- file.info(list.files(pattern=glob2rx("...
[1] "Rplot002.jpg"
ちなみに得られる正規表現は以下の通りですから、これを直接 ...
> glob2rx("Rplot[0-9]*.jpg")
[1] "^Rplot[0-9].*??.jpg$"
**read.fortran, read.fwf とマルチバイト [#vd78c802]
>[[青木繁伸]] (2006-11-06 (月) 18:26:00)~
~
自分ではやらないことも,他人がやってしまうとその後始末が...
~
私なら数値にコード化してデータ入力するのだが,日本語のま...
入力欄が5バイト分という半端な状態だったのであるが,これを...
read.fwfのソースをいじるのも気が進まない。~
//
-一次的にC localeで読み込んでしまえばいいかと
lc<-Sys.getlocale("LC_CTYPE")
Sys.setlocale("LC_CTYPE","C")
df<-read.fwf("hoge.dat",width=c(バイト,バイト,バイト))
Sys.setlocale("LC_CTYPE",lc)
. -- [[なかま]] &new{2006-11-06 (月) 20:23:28};
-なるほど。そんな手があるんですか。勉強になります。 -- [[...
-やってみました。残念ながら,読みこむことはできませんでし...
> lc<-Sys.getlocale("LC_CTYPE")
> Sys.setlocale("LC_CTYPE","C")
[1] "C"
> con <- file(description="ID1001-2.txt", open="r", enco...
> df <- read.fwf(con, width=c(4,rep(1,13),6,2,1,1,6,2,re...
Warning messages:
1: 入力コネクション 'ID1001-2.txt' に不正な入力がありま...
2: 'ID1001-2.txt' に関する readLines で不完全な最終行が...
> Sys.setlocale("LC_CTYPE",lc)
[1] "ja_JP.UTF-8"
-CP932環境でだけです. charwidth==byteでは無い環境ではread...
-マックな人はあきらめてと言われたのですが,必要な人もいる...
Mac OS X で,gawk (awk でもよいけど)がインストールされ...
perl を使う方がいいのだろうけど,私は perl をしゃべれない...
# fn.in 読みこみたいデータファイル名
# width 各変数に読みこむ欄の桁数(バイト数!)
# header 1行目に変数名があるかないか
get.fwf <- function(fn.in, width, header=FALSE)
{
nf <- length(width)
pos <- cumsum(width)+1
pos <- c(1, pos[-nf])
fn.out <- tempfile()
fn.awk <- tempfile()
con <- file(fn.awk, open="w", encoding="euc-jp")
cat("BEGIN {?n", file=con)
for (i in 1:nf) {
cat(sprintf("pos[%i]=%i; width[%i]=%i?n", i, pos[i], i...
}
cat("}?n", file=con)
if (header) {
cat("FNR == 1?n", file=con)
cat("FNR > 1", file=con)
}
cat(sprintf("{ for (i = 1; i < %i; i++) {?n", nf), file...
cat("str = allblank(substr($0, pos[i], width[i]))?n", f...
cat("printf ?"%s??t?", str}?n", file=con)
cat("str = allblank(substr($0, pos[i], width[i]))?n", f...
cat("print str }?n", file=con)
cat("function allblank(str) {?n", file=con)
cat("for (j=1; j <= length(str); j++)?n", file=con)
cat("if (substr(str, j, 1) != ?" ?") return str?n", fil...
cat("return ?"NA?"", file=con)
cat("}?n", file=con)
close(con)
# awk しかない人は ln -s awk gawk するか,下の gawk を ...
cmd <- paste("gawk -f", fn.awk, fn.in, ">", fn.out)
print(cmd)
system(cmd)
df <- read.table(file(fn.out, open="r", encoding="euc-j...
unlink(fn.awk)
unlink(fn.out)
return(df)
}
# 利用例
# df <- get.fwf("test.dat", width=c(4, rep(1, 13), 5, 2,...
**pieをclockwise=TRUEでつかいたい [#jb9519e6]
>[[<ふ>]] (2006-11-04 (土) 23:17:00)~
~
みなさま、~
pieを使って円グラフを書くときに、今までの習慣で、0時から...
pie2() = pie(closkwise=TRUE)~
~
というように、新しいインスタンスをつくれないだろうかと思...
ですが、上記の形ではNGでした。~
~
なにかやりようがありそうですが、どなたかご教示いただけま...
//
- 例えば次のようにすればよさそうですが、もっと簡単な方法...
> pie2 <- function(x, labels = names(x), edges = 200, ra...
init.angle = 90, density = NULL, angle ...
col = NULL, border = NULL, lty = NULL, ...
{
pie(x, labels, edges, radius, clockwise = TRUE...
density, angle, col, border, lty, main, ...)
}
-pie2 <- function(x, ...) pie(x, clockwise=TRUE, ...) だ...
-pie のソースを書き換えて,pie に定義し直すというのも。 -...
-ありがとうござます。個人的にはソース書き換えでやっていた...
-なるほど。pie2 <- function(...) pie(...,clockwise=TRUE) ...
> pie2 <- function(x, labels = names(x), edges = 200, ra...
clockwise = TRUE, init.angle = if(clo...
density = NULL, angle = 45, col = NUL...
lty = NULL, main = NULL, ...)
{ pie(x, labels, edges, radius, clockwise, ini...
density, angle, col, border, lty, main, ...
}
-ああだ,こうだあるようですが,このような応用はオブジェク...
ああだ,こうだいいたいときには
pie2 <- function(x, clockwise=TRUE, ...) pie(x, clockwis...
とすれば完璧なんじゃないでしょうか。こうしておけば,clock...
それと,pie2 の引数名にclockwiseを使いましたが,これは原...
そのようにしなかったのは,利用者の便宜のためです。~
てうか,そんなような別の関数を定義するとか,そのような使...
**PLSRについて [#xb248ae1]
>[[kazu]] (2006-11-02 (木) 15:21:46)~
~
Rを用いて、PLSRを行いたいと思っています。~
Rとpls.pcrのversionはそれぞれ、2.4.0、1.2-1です。
下記のページを参考にしています。~
http://cse.naro.affrc.go.jp/iwatah/toukei/pls/2004/pls_in...
pls.pcrパッケージに含まれたサンプルデータではpls解析を行...
wine.txtを
> wine <- read.table("wine.txt")
で読み込み
> wine
で読み込めたことを確認しました。~
次に
> Y <- scale(wine[,1:3])
> X <- scale(wine[,4:7])
でデータを切り分けました。~
plsrを行うために、~
http://cran.r-project.org/doc/packages/pls.pdf~
を参考に
> wine.pls <- plsr(Y ~ X, 6, validation="CV")
と入力しましたが
以下にエラーmvr(Y ~ X, 6, validation = "CV", method = "k...
Invalid number of components, ncomp
と表示されうまくいきません。ncompの値をいじってはみたので...
どのような原因が考えられるでしょうか?~
//
-ncomp をいくつにしましたか?wineデータがどんなのかわから...
- コメントありがとうございます。具体的にはこのようなデー...
Hedonic Goes_with_meat Goes_with_dessert Price Suger Al...
1 14 7 8 7 7 13 7
2 10 7 6 4 3 14 7
3 8 5 5 10 5 12 5
4 2 4 7 16 7 11 3
5 6 2 4 13 3 10 3
ncompの値は1〜10位の間で振ってみました。-- [[kazu]] &new{...
-元のデータが,5行のデータであるとは思いません。(示して...
-元データは下記アドレスからダウンロードしたものを用いまし...
http://cse.naro.affrc.go.jp/iwatah/toukei/pls/~
ncompを1にすると解らしきものは確かにでますね。確認できま...
validationまでの結果は上記のページのものと一致するようで...
TRAINING: % variance explained
以下にエラーdimnames(tbl) <- list(c("X", yvarnames), pas...
'dimnames' の長さ [1] が配列の大きさと違っています
また、上記のページにあるようにncompを3にすると
> wine.pls <- plsr(Y ~ X, 3, validation="CV")
以下にエラーLa.svd(XtY) : 'x' のに無限値か欠測値があります
と表示されますね。。。??初心者過ぎてお恥ずかしいです。-...
**データ読み込みをしたあとの分析ができません [#t05e348a]
>[[koike]] (2006-10-31 (火) 23:28:31)~
~
統計初心者です。因子分析を実際にやってみようと思いやって...
result <- pdf(dat)
と入力すると
Warning message:
Communality >= 1. in: pdf(dat)
とでてしまい、それ以上なにもできなくなってしまいます。~
変数が多かったからいけないのかと何度も変えてみてもできま...
どうしたら、因子分析できるようになるのでしょうか?~
~
pdf.datの中身は、適当にうちこのような数値です。
バ ス ミ マ ク チ メ コ ア ラ か き キ ウ カ プ オ
1 7 7 8 3 9 9 6 8 3 2 1 7 9 3 3 9 7
2 7 8 9 9 9 9 2 7 7 9 5 4 7 8 9 9 4
3 7 4 3 3 6 4 7 7 6 3 3 4 6 3 3 6 7
4 9 6 6 5 8 6 8 9 6 5 4 4 9 5 4 8 9
5 9 5 7 5 6 8 4 4 4 6 9 6 6 6 5 9 6
6 5 7 5 5 5 7 5 8 5 8 9 5 9 5 8 8 9
7 9 7 6 3 7 9 4 6 5 2 2 6 7 5 5 9 9
8 7 7 6 8 7 6 5 8 7 5 6 5 6 7 9 5 6
9 7 7 4 8 7 7 4 7 6 3 5 5 7 7 6 8 6
10 5 5 9 5 8 8 5 6 3 3 3 8 7 2 8 8 6
11 8 1 8 9 7 9 3 9 4 7 4 4 9 7 6 6 7
12 9 4 7 5 8 4 5 7 5 6 9 4 4 5 8 9 5
13 7 7 6 8 8 9 6 7 7 6 6 5 9 7 5 9 7
14 9 6 4 6 9 9 3 6 8 9 4 6 7 8 4 9 9
15 8 7 5 5 5 9 4 5 4 3 9 4 4 6 5 8 6
16 7 4 7 4 7 3 3 7 5 3 6 6 6 6 6 4 6
17 6 4 2 2 7 6 4 5 5 8 3 4 6 6 5 7 5
18 8 7 5 5 6 8 3 5 6 3 7 3 5 4 5 7 9
19 5 9 8 5 7 5 5 5 9 4 7 6 6 7 7 8 7
20 6 6 6 8 8 6 1 5 7 8 4 5 7 7 7 7 6
もう一つですが、因子分析はやはり変量がサンプル数より多い...
//
-コメントありがとうございます。~
やろうとしていたことは、データを読み込んでの因子分析です...
始めに読み込むデータファイル名を pdf.dataとしていました。...
dat <- read.table("pdf.data", header=TRUE)
と打ち読もうとすると、ファイルがないとエラーがでてしまい...
そして、因子分析を実行するため
result <- pdf(dat)
と入力したのです。その結果エラーが
Warning message:
Communality >= 1. in: pdf(dat)
とでてしまったのです。~
「因子数が大きすぎるが大きすぎる、デフォルトで決まる数よ...
初心者な回答ですみません。また至らぬ点があるとは思います...
-貴方のやったことを整理しましょう。データファイル名は pdf...
実際には以下のようになるでしょうね。 -- &new{2006-11-01 ...
> x <- read.table("pdf.data", header=TRUE)
> result <- pfa(x, factors=3)
> result
$rotation
[1] "Varimax"
$correlation.matrix
バ ス ミ マ ...
バ 1.00000000 -0.21985732 -0.08560197 -0.01360948 0.09...
以下略。。。。
**maptoolsで緯度経度の範囲をカッチリと指定・プロットする...
>[[浜田]] (2006-10-31 (火) 09:56:56)~
~
以下のスクリプトで、指定した範囲の地図を描画させたいので...
library(maptools)
jpn <- read.shape("japan_ver60.shp")
png(file="test.png", width=800, height=800)
plot(jpn, xlim=c(135.0,136.0), ylim=c(34.0,35.0))
dev.off()
実行結果は、
#ref(test.png)
となってしまいます。、(図が大きくて、すみません・・・・)
//
-軸目盛を計算させねばいいわけだから, par(mar=c(0,0,0,0));...
-png とplotの縦横比が異なるので、plotが地図の表示はアスペ...
-ああ, やってみるとダメですね. んじゃ
png(かっちりサイズ)
plot.new()
par(mar=c(0,0,0,0),usr=c(135.0,136.0,34.0,35.0)) # usrは...
plot(jpn, xlim=c(135.0,136.0), ylim=c(34.0,35.0),add=T,a...
# ワーニング等は気にしてはいけない.
axisが怪しい...ですが-- [[なかま]] &new{2006-10-31 (火) 1...
-おお! 出来ました! 有難うございました。 別途用意して...
**本の内容教えてください [#da736c12]
>[[g]] (2006-10-30 (月) 20:41:20)~
~
[[RでGIS]]の"関連情報"に「Springer より、R を使った本...
amazonの目次紹介では,それらしき項目はなさそうなのですが...
//
-言葉足りずで申し訳ありません。「Rの基礎とプログラミング...
-詳しい情報をありがとうございました. -- [[g]] &new{2006-...
-Springer は R を使った本のシリーズを計画中みたいですね。...
**WindowsでRを使わせる [#l3870be1]
>[[青木繁伸]] (2006-10-30 (月) 18:46:38)~
~
私はWindowsがほとんどわからないのに(Macならある程度わか...
「こんなときにWindowsではどうやるのだっけ?」例えば,ファ...
というグチはこれくらいにして,今日聞きたいのは,プロジェ...
Rを起動して,どのプロジェクトの仕事をしようかと言うとき,...
こんなとき,皆さんはどうやっているのでしょうか。~
なお,いろいろやっていて,どのディレクトリで仕事をしよう...
もっと良い方法はないんでしょうか。~
//
-ショートカットのプロパティの作業ディレクトリをそもそも変...
// hoge.js
var Shell, FS, Desktop,Desktopex, path, Link, Rpath;
Rpath = "c:??Program Files??R??R-2.4.0??bin??Rgui.exe";
Shell = WScript.CreateObject("Wscript.Shell");
FS = WScript.CreateObject("Scripting.FileSystemObject");
Desktop = FS.GetFolder(Shell.SpecialFolders("Desktop"));
Desktopex = FS.CreateFolder(Desktop + "??演習");
path = Desktopex.Path + "??R-2.4.0_ex01.lnk";
Link = Shell.CreateShortcut(path);
Link.TargetPath = Rpath ;
Link.Arguments = "LANGUAGE=en";
Link.WorkingDirectory = "C:??";
Link.Save();
ダブルクリックなり,バッチ(CMD.EXE)の中ではファイル名で実...
-ありがとうございます。検討して貰うことにします。 -- [[青...
**論理値のベクトル同士の演算 [#be58a2ab]
>[[げのまー]] (2006-10-30 (月) 11:58:10)~
~
同じ長さの論理値のベクトル同士から,各要素ごとにandをとっ...
例えば,以下の例でaとbからc(TRUE,FALSE,FALSE,FALSE)という...
ループで各要素ごとに処理する方法は知っておりますので,ベ...
以下の方法では,1個目の要素についての結果しか得られてお...
~
> a<-c(TRUE,FALSE,TRUE,FALSE)
> b<-c(TRUE,TRUE,FALSE,FALSE)
> a && b
[1] TRUE
//
-下の方(下5つめ)にも同じような質問がありましたね。& と ...
-解決しました。Tips大全の論理判断のところで&と&&の違いが...
**UTF-8 の読み込み [#ea94a232]
>[[93795号]] (2006-10-30 (月) 10:40:41)~
~
中国語を含むデータを使用する必要があるのですが,データを...
~
「ファイル Tips 大全」の「特定の文字コードのファイルを re...
石巻市
岩出山町
岩沼市
そして,ファイルを読み込もうとしたのですが,エラーが出て...
> read.table(file(description="utf8.txt",open="r", encod...
以下にエラーread.table(file(description = "utf8.txt", :
ファイルの開始部分が空です
追加情報: Warning messages:
1: 入力コネクション 'utf8.txt' に不正な入力がありました
2: 'utf8.txt' の readTableHeader で不完全な最終行が見つ...
同じ内容のファイルを Shift-JIS で作成した場合は問題なく読...
この先,何らかの対処をするにしても,どこから手をつけたら...
皆さんのお知恵を拝借できれば幸いです。~
使用環境等は下の通りです。よろしくお願いいたします。
> sessionInfo()
R version 2.4.0 (2006-10-03)
i386-pc-mingw32
locale:
LC_COLLATE=Japanese_Japan.932;LC_CTYPE=Japanese_Japan.932;
LC_MONETARY=Japanese_Japan.932;LC_NUMERIC=C;LC_TIME=J...
attached base packages:
[1] "methods" "stats" "graphics" "grDevices" "uti...
[7] "base"
> iconvlist()
....
[363] "UTF-16"
[364] "UTF-16BE"
[365] "UTF-16LE"
[366] "UTF-32"
[367] "UTF-32BE"
[368] "UTF-32LE"
[369] "UTF-7"
[370] "UTF-8"
....
//
-そのデータファイルにはヘッダーがないわけですから,~
read.table(file(description="utf8.txt",open="r", encodin...
としなければなりませんね。 -- &new{2006-10-30 (月) 11:46...
-ご回答,ありがとうございます。でも,header=F を指定して...
-実際にやってみてからのコメントだったので,私のところでは...
-そうですか... read.table は header=F がデフォルトなので...
-2: 'utf8.txt' の readTableHeader で不完全な最終行が見つ...
-ありがとうございます。最終行にも改行を入れて保存したつも...
00000000: efbb bf20 2020 e79f b3e5 b7bb e5b8 820d
00000010: 0a20 e5b2 a9e5 87ba e5b1 b1e7 94ba 0d0a
00000020: 2020 20e5 b2a9 e6b2 bce5 b882 0d0a
のようになっています。しかし,情けないことに自分ではこれ...
-efbbbf(最初の3オクテット)はFFFEのばいとおーだーまーくをu...
-”efbbbf”はそういう意味で,それがあるからダメなんですね。...
-みなさん,ありがとうございました。UTF-8のファイルは Shif...
-ご報告。~
nkf を使って文字コードの変換を行ったところ,無事に読み込...
しかし,肝心の中国語を含むデータではエラーが出てしまいま...
> read.table(file(description="test.txt",open="r", encod...
A B C
1 1 2 中国
2 2 1 日本
3 3 1 ?国
4 4 2
Warning messages:
1: 入力コネクション 'test.txt' に不正な入力がありました
2: 'test.txt' の readTableHeader で不完全な最終行が見つ...
4行目のC には「两国」と入力されているのですが,読み...
-あら〜中国語もあるんですか...nkfは日本語しか処理しません...
-R に加えて文字コードや言語環境(?)についての勉強もしなく...
**R 2-4-0 へのXMLパッケージのロード [#a135f67f]
>[[2-4-0?]] (2006-10-29 (日) 15:46:45)~
~
はじめまして。お世話になります。~
~
Windows binaryのR2-4-0をWindows XP上で使っています。XMLパ...
> library(XML)
Error in dyn.load(x, as.logical(local), as.logical(now))...
unable to load shared library 'c:/PROGRA~1/R/R-24~1.0/...
LoadLibrary failure: The specified procedure could no...
Error: .onLoad failed in 'loadNamespace' for 'XML'
Error: package/namespace load failed for 'XML'
何か解決法はありますでしょうか? 2-4-0の変更点のページか...
~
また、ヘルプを呼び出そうとしても似たような以下のエラーが...
> ?c
Error in print.help_files_with_topic("c:/PROGRA~1/R/R-2...
CHM file could not be displayed
どうぞよろしくお願いいたします。~
//
-10/26に出た最新版(1.1-1)に更新すればいいだけの話ではな...
-ありがとうございます。どこにあるのですか? -- [[2-4-0?]]...
-パッケージのアップデートとかいうメニューがあるんじゃない...
**作業スペースの表示について [#nc3dd9ed]
>[[永野]] (2006-10-24 (火) 12:06:26)~
~
作業スペースの読み込み後LOADされたコンソール画面を表示す...
//
-「LOADされたコンソール画面」というのは、コマンド履歴のよ...
-history() の事でしょうか. -- [[なかま]] &new{2006-10-24 ...
- 例えば新規コンソール画面で<3+3=6としてこの画...
-プロンプトの向きが逆で,かつ,<3+3=6はエラーになり...
-はて、見たままの画面をセーブすることは(R の機能としては...
-やっぱり、「作業スペース」というものに誤解があるんじゃな...
-いろいろとご教示ありがとうございました。 -- [[永野]] &ne...
-テキストエディタ経由なら「見たままの画面」をコマンド付き...
-そういう意味なら,コンソールは,入力・出力の両方とも,見...
**Rで扱える行列のサイズの上限 [#ne6684d3]
>[[pahud]] (2006-10-23 (月) 21:24:34)~
~
Rで扱える行列のサイズの上限は,Rがインストールされている...
//
-一種の興味からしりたいのでしょうか?それとも,他にもっと...
あなたが使っているのは,どのプラットフォームでしょうか。...
-経験的にいえば,そんなぎりぎりの制限に挑戦しなくても,問...
どのような場合であろうと,あなたが何を知りたいのか,はっ...
-32bitなら例えば2GB(ベクトルデータサイズ)までなら作成可能...
-ソースコードを見ると(array.c)、allocMatrix()で、行x列 ...
(行列が内部では配列として扱われること考えれば、あたりま...
実際には、メモリのほうが、先にたりなくなると思います。-- ...
-INT_MAXは2^31-1です(INT_MAXが16bitと言うのは...お年が......
-なかまさん、すみません。どうも、更新するまえのバージョン...
-がーん, 使った事ある...σ(T_T) -- [[なかま]] &new{2006-10...
-みなさま回答ありがとうございました.INT_MAXは知りません...
**ifelseを使った文字列の置換について [#v803face]
>[[matsu]] (2006-10-23 (月) 11:56:05)~
~
はじめまして。こんにちわ。~
オブジェクトの指定について質問させてください。~
> data8
V1 V2 V3 V4 V5 V6 V7 V8
1 A B B B B B B B
2 B B B B B B B B
3 A A A B A B A A
4 B A B A B A B B
5 B B B B B B B B
6 B B B B B A B B
7 B B B B B B B B
以上のようなデータがあって、例えば1列目と2列目の同じ行の...
ifelse(((data8[,1] == "A") && (data8[,2] == "A")),"A","B")
しかし結果は~
[1] "B"
と表示されベクトルを得ることができません。4区分にしても同...
よろしくお願いします。~
//
- & と && の違いを調べてみましょう -- &new{2006-10-23 (...
-できました。tipsをよく読めばできるような愚問でした。申し...
-例解:factor(c("A","C","B","D"))[as.integer(data8[,2])*2...
-別解:factor(diag(matrix(LETTERS[1:4],byrow=T,2)[data8[,...
-別解2:factor(paste(data8[,1],data8[,2]),labels=LETTERS[...
-別解3:factor(LETTERS[factor(paste(data8[,1],data8[,2]))...
-色々な回答ありがとうございます。こんなにブラッシュアップ...
**カテゴリごとにまとめたデータの整形(データベースとテー...
>[[take]] (2006-10-17 (火) 19:51:40)~
~
下記のように、カテゴリー値を含めてデータが一列になったも...
データのカテゴリごとにまとめた形に整形したいのですが、
このような作業をしてくれる関数はありますでしょうか。~
subsetなどを駆使すれば無理やりできますが、頻繁に使われま...
非常に初歩的な質問かと思いますが、適切なキーワードが見つ...
どなたかお助けくださると助かります。~
~
変換前(データベース形式)
>>
,year,type,value
,2001,A,5
,2002,A,10
,2003,A,15
,2001,B,1
,2002,B,3
,2003,B,5
<<
変換後(テーブル形式)
>>
, ,A,B
,2001,5,1
,2002,10,3
,2003,15,5
<<
//
-そんなにしょっちゅう使うものでもないし一般的でもないので...
> # 引数は3列からなるデータフレームとする
> convert <- function(df)
+ {
+ df[,1] <- as.factor(df[,1])
+ df[,2] <- as.factor(df[,2])
+ m <- matrix(0, length(table(df[,1])), length(table(df...
+ for (i in 1:nrow(df)) m[df[i,1], df[i,2]] <- df[i,3]
+ rownames(m) <- levels(df[,1])
+ colnames(m) <- levels(df[,2])
+ return(m)
+ }
> df <- data.frame(x = c(2001, 2002, 2003, 2001, 2002, 2...
+ y = c("A", "A", "A", "B", "B", "B"),
+ z = c(5, 10, 15, 1, 3, 5))
> convert(df)
A B
2001 5 1
2002 10 3
2003 15 5
-例えば year=2001 で type=A のものが二つ有れば例の様には...
-21:37:58 のコメントは,原質問者ではないのですね。そうな...
たぶん,データ行列への変換だと思うんですが。~
しかし,原質問者がそのあたりは一番よく分かっているので,...
-このような処理はどこかの本で見たような気がしていたので、...
-キーワードということなら、(Rと関係なく恐縮ですが)、Exc...
-各カテゴリに重複するデータがないことが確実な場合は、アド...
> # 重複したデータがないことを、lengthで確かめて、、
> tapply(df$z,list(df$x,df$y),length)
A B
2001 1 1
2002 1 1
2003 1 1
> # sum (または mean)で集計。
> tapply(df$z,list(df$x,df$y),sum)
A B
2001 5 1
2002 10 3
2003 15 5
[[mmk]] &new{2006-10-18 (水) 13:14:04};
-おみごと! -- &new{2006-10-18 (水) 14:14:28};
-すばらしい!(関数型言語の妙技)。Tips入りしてもよさそう...
-お探しの関数は、xtabs関数ではないでしょうか 。-- &new{20...
> df <- data.frame(year = c(2001, 2002, 2003, 2001, 2002...
+ type = c("A", "A", "A", "B", "B", "B"),
+ value = c(5, 10, 15, 1, 3, 5))
> xtabs(value~year+type,df)
type
year A B
2001 5 1
2002 10 3
2003 15 5
-重複値があるとどうなるか気になって調べました。加算されて...
> df <- data.frame(year=c(2001,2002,2003,2001,2002,2003,...
type=c("A","A","A","B","B","B","A"),value=c(5,10,15,1,...
> xtabs(value~year+type,df)
type
year A B
2001 105 1
2002 10 3
2003 15 5
-これもおみごと!普通,重複はないと思うので(チェックするの...
-皆様、ありがとうございます。やはりあるものなのですね。xt...
**グラフのカラー・モノクロ線種切り替え [#v61a39ab]
>[[takahashi]] (2006-10-17 (火) 16:26:21)~
~
例えばモノクロで印刷される原稿用とプレゼン用で、同じグラ...
//
-線種で区別ということは,折れ線グラフの類?~
色の変更と線種の変更はパラメータが違うのですから,そうそ...
どんな図でも,それをモノクロで印刷したときにもちゃんと読...
-どうもありがとうございます。やっぱりそんな感じですかね。...
-スマートではないですが、ImageMagickが入っているなら、 --...
> hist(sqrt(islands), br = 12, col = "lightblue", border...
> dev.copy2eps(file="color.eps", family="sans") #カラー
> dev.copy2eps(file="| convert -colorspace GRAY - bw.eps...
-convertを通すとベクトル画像ではなくなるみたいです。ベク...
> hist(sqrt(islands), br = 12, col = "lightblue", border...
> dev.copy2eps(file="color.eps", family="sans") #カラー...
> system("bw_convert color.eps bw2.eps")
-ありがとうございます。外部ツールと連動させればいけそうで...
**Rコマンダーでのエクセルファイルの読み込みについて [#d7...
>[[epep]] (2006-10-14 (土) 09:33:30)~
~
はじめまして。よろしくお願いいたします。~
~
Rコマンダーのファイルインポートについて教えていただきた...
最近エクセルファイルの読み込みに対応したということで、エ...
要求されたパッケージ RODBC をロード中です
以下にエラーsqlTables(channel) : first argument is not a...
データをいろいろ変えたり、エクセルの保存形式を古いものに...
どうすれば読み込めるようになるか、教えていただきたいと思...
よろしくお願い致します。~
//
-コメントありがとうございます。 ~
単純に"1"だけを入力したエクセルファイルを、インポートのメ...
他にも1行目に変数名を入れて、2行目に数字を入れる、更に...
-闇雲に試行錯誤するよりもエラーの意味を吟味した方が効率が...
-コメントありがとうございます。すべて英語でしたが読みまし...
-アドバイスいただいたことを考え、いろいろ試してみたところ...
・エクセルファイルを保存するフォルダ名に日本語(全角、半角...
階層の途中に日本語のフォルダがあってもいけない。~
・エクセルファイルのファイル名に日本語が使ってあるとエラ...
・エクセルファイル内のシート名に日本語が使ってあるとエラ...
です。csvやtxtだと日本語が使ってあっても問題ないのですが...
ありがとうございました。 -- [[epep]] &new{2006-10-15 (日)...
-パス名(ディレクトリ名,ファイル名)に日本語が使われている...
-教訓:ナガイモノには巻かれてしまいましょう。いくら,日本語...
-ざっと, Rcmdrのソースを斜めに読むと, substringは文字で処...
**オブジェクト名の指定について [#o28d5bee]
>[[dura]] (2006-10-12 (木) 16:03:24)~
~
はじめまして。こんにちわ。~
オブジェクトの指定について質問させてください。~
例えば
> R1
A B
A 24 5
B 5 16
> R2
A B
A 22 7
B 6 15
のようなデータがあるとき
m <- 1
n <- 2
R"m"*R"n"
のような感じで行列演算のオブジェクトを指定できるようなや...
ちなみにR"m"*R"n"では当然できません。例えばこのような感じ...
//
-FAQですね。単語検索で eval(parse( を検索すると,用例もた...
以下のようにすればいかが?~
ところで演算子は"*"でいいんですね。。 -- &new{2006-10-12...
> R1 <- matrix(c(24, 5, 5, 16), 2, 2)
> R2 <- matrix(c(22, 6, 7, 15), 2, 2)
> m <- 1
> n <- 2
> eval(parse(text=paste("R", m, "*", "R", n, sep="")))
[,1] [,2]
[1,] 528 35
[2,] 30 240
-ばっちりできました。またeval(parse( も検索してみました...
**GUIの変数ウォッチャー/データフレーム [#b9956f24]
>[[takahashi]] (2006-10-05 (木) 19:04:42)~
~
data.frameのデータをスプレッドシート形式で、目で見て確認...
~
また、Matlabをご存知の方に伺いたいのですが、Matlabには変...
Rでlistが同じように、複雑にネストした構造になりがちだと思...
~
よろしくお願いいたします。~
//
-前半については,edit() とか fix() があるようですが? -- ...
-ありがとうございます。edit.data.frameがちょうど求めてい...
**データを読み込ませた後の分析ができません [#e4f97ed1]
>[[4年生]] (2006-09-27 (水) 19:23:05)~
~
はじめましてこんにちは.~
こないだからRを使おうと頑張っているのですが、分析がうまく...
エクセルで乱数を発生させて、54行×4列のデータファイルをつ...
その後
dat <- read.csv("data.csv",header=FALSE)
dat
とすると54行×4列のデータが読み込まれます.~
次に
summary(dat)
とすると
V1 V2 V3 V4 ...
10,006.13: 1 10,038.09: 1 10,058.34: 1 10,100.57: ...
10,077.88: 1 10,070.11: 1 10,112.10: 1 10,167.06: ...
10,248.81: 1 10,077.88: 1 10,148.36: 1 10,169.66: ...
10,264.61: 1 10,173.60: 1 10,171.17: 1 10,281.17: ...
10,281.25: 1 10,293.74: 1 10,186.77: 1 10,284.54: ...
10,303.26: 1 10,378.13: 1 10,213.75: 1 10,318.44: ...
(Other) :48 (Other) :48 (Other) :48 (Other) :4...
となってしまい,うまく結果が表示されません.~
重回帰分析をしようとして~
dat <- matrix(c(read.csv("data.csv",header=FALSE)),byrow...
mreg(dat)
としても
g(dat) : (subscript) 論理値添え字が長すぎます
となってしまいます.~
googleで検索したり色々頑張りましたがうまくいきません・・・~
どこに問題があるのでしょうか?~
教えてください.よろしくお願いします.~
//
-すみません,表示したデータは乱数で発生させたものではなく...
-エクセルで表示を直して,再度挑戦したら分析できました.ご...
**リストの出力方法を教えてください [#nc9770cb]
>[[Real]] (2006-09-25 (月) 14:14:58)~
~
こんにちは。~
以下のような数値データが入ったリストを書き込もうとすると
a <- as.list(NULL)
a[[1]] <- c(2.3, 3.5, 4.4, 2.3, 3.5, 4.4, 2.3, 3.5, 4.4)
a[[2]] <- c(2.3, 3.5, 2.3, 3.5, 4.4)
write(a, "aaa.txt", append=T)
以下にエラーcat(list(...), file, sep, fill, labels, appe...
argument 1 (type 'list') cannot be handled by 'cat'
と怒られてしまいます。~
結果はこのように一番目の要素から順に横に展開したいと思っ...
2.3, 3.5, 4.4, 2.3, 3.5, 4.4, 2.3, 3.5, 4.4
2.3, 3.5, 2.3, 3.5, 4.4
リストを書き込むときはwrite()を使えばよいという情報があっ...
どなたかご指導をお願いします。~
//
-lapply(a,function(x){write(x, "aaa.txt", append=T,nc=len...
-なるほど。リストの要素数が違うときはlapply()を使えばいい...
-save(a, file="aaa.txt", ascii=TRUE) 。再度読み込むには ...
-[[R出力の記録]]を読むと他にも色々な方法が。 -- &new{200...
**axis 関数で軸の名前を付けるには? [#p07d033b]
>[[匿名希望]] (2006-09-21 (木) 13:24:21)~
~
x 軸を本来の位置ではない場所に描くとき,plot(...., xaxt="...
//
-補足:par(mgp=c(foo, bar, baz)) の foo を試行錯誤で調整...
-mtext()はどうですか? -- [[Akira]] &new{2006-09-21 (木) ...
-ありがとうございます。求めていたのは,これです。解決しま...
**MultiTiffイメージを取り込む方法 [#dead9a68]
>[[Akira]] (2006-09-19 (火) 20:02:59)~
~
rgdalパッケージのreadGDALでtifイメージを取り込むことはで...
MultiTiffイメージを同じように取り込むことはできるのでしょ...
WinXP, R-2.3.1patchです。~
//
-自己レスです。rtiffというのがありました。こちらでMultiTi...
-ご報告。rtiffは最大値が1にノーマライズされるようなので、...
よくご存知の方、コメントいただけるととてもうれしいです。 ...
**コードを用いてグラフの保存 [#xd19b2e0]
>[[初心者?]] (2006-09-19 (火) 10:44:39)~
~
関数の中にいくつかのグラフを表示させるコードが入っていま...
コードを使い~
R gurahicsに表示されるグラフに名前をつけて保存させること...
~
自動化したいと考えてるのですが ご教授ください。~
//
-どういう類の名前を付けたいのですか。「ファイル名+連番....
draw.graph <- function(file.name="")
{
if (file.name != "") pdf(paste(file.name, "%03i.pdf", s...
hist(rnorm(1000))
plot(rnorm(1000, 1000))
barplot(rbinom(10, 1000, 0.25))
if (file.name != "") dev.off()
}
draw.graph("test")
-さきほど確認しました。この用に書けばいいのですね、勉強に...
**グラフィックをアウトライン化したベクトル画像で出力した...
>[[初心者]] (2006-09-17 (日) 19:23:04)~
~
お世話になっています~
ポスター制作のため,Rで出力したグラフをdev.copy2epsで出力...
そこで,アウトライン化したベクトル画像を出力したいのです...
~
環境 : R version 2.2.1, 2005-12-20, powerpc-apple-darwin7...
//
-?embedFonts(実際にはgsでフォントを埋め込む)か, epsの中に...
-コメントありがとうございます.Illustratorはpdfを読み込め...
-Macintoshでは,いろんな場面でPDFがベストのようです。EPS...
-出来ました。ありがとうございます。 -- [[DNA]] &new{2006-...
**会社(Windows2000)で使用する際に一台で複数ユーザで利用...
>[[カータン]] (2006-09-16 (土) 12:34:25)~
~
こんにちは,現在会社(一般ユーザはuser権限のみ)でRをイン...
もし上記のことが可能ならば,パッケージの導入の際にも,adm...
//
-admin権限の場合は,他の人がインストールした場合でも使用...
-Rのパーミッションを変更する -- &new{2006-09-19 (火) 08:...
**自前で計算した距離行列をhclust()で使う方法 [#j1320907]
>[[DNA]] (2006-09-15 (金) 17:30:53)~
~
こんにちわ。現在クラスター分析に取り組んでいます。手順と...
>iris.x <- iris[,-5]
>d.euclid <- dist(iris.x, method="euclid")
>cluster <- hclust(d.euclid, method="average")
以上のように行っています。ただ、こちらの都合でd.euclidを...
どのようにすればよいのでしょうか?よろしくお願いします。~
//
-[自前で作ったもの]がどういうものか,どうやって作ったかが...
-すみません自前でつくったものは、 -- [[DNA]] &new{2006-09...
A B C
"A" 1 0.5 0.1
"B" 0.5 1 0.4
"C" 0.1 0.4 1
といった行列をつくって、read.table()で読み込んでいます。
-出来ました。ありがとうございます。 -- [[DNA]] &new{2006-...
**データフレームから要素を抽出してリストを作製する [#j1ba...
>[[tottie]] (2006-09-11 (月) 14:04:05)~
~
こんにちは。以下のようなデータフレームがあり、~
~
NAME num_1 num_2 num_3 STR NUM
data_M15 0.322 0.322 -0.040 asd 3
data_G11 0.230 0.507 -0.279 sdf 2
data_B21 0.219 0.160 -0.069 dfg 8
data_C04 0.011 0.292 -0.064 fgh 3
data_J12 0.254 0.238 -0.180 ghj 1
data_P08 0.323 0.320 -0.254 hjk 2
data_M11 0.356 0.330 0.066 jkl 1
~
一番右列の数字によってSTRを分類したリストを作りたいと思っ...
たとえばリストの一番目の要素にNUM3のSTRであるasdとfgh、~
二番目の要素にNUM2のSTRであるsdfとhjkが格納されているリス...
~
subset()を使用してNUMの値ごとに抽出すればよいとは思うので...
どうすればよいのかわかりません。~
お手数ですが、ご指導をお願いします。~
//
-lapply(unique(data$NUM),function(n)data[data$NUM==n,]$ST...
-subset()を使わなくても添え字操作とlapplyの組み合わせで可...
**グラフの目盛りを有効数字n桁の小数x10のべき乗で表示した...
>[[fjok]] (2006-09-10 (日) 13:28:59)~
~
質問させていただきます.~
グラフの軸の表示をデフォルトの1 e-01から有効数字n桁の小数...
//
-どうしてそう言うことが必要なのか理解できませんが,以下の...
set.seed(123)
x <- rnorm(1000)*100+600
hist(x, xaxt="n")
axis(1, at=3:9*100, labels=sprintf("%.0e", 3:9*100))
#ref(example1.png)
-ありがとうございました.自動的な処理まだはまだできていま...
axis関数のパラメータlabelsにどういうラベルを描くかという...
set.seed(123)
x <- rnorm(1000)*100+600
hist(x,xaxt=F)
hoge<-3:9*100
a<-sub("+","",substr(sprintf("%1.1e",hoge),nchar(sprintf...
nchar(sprintf("%1.1e",hoge))),extended=F)#指数部分の取...
b<-sub("+","",substr(sprintf("%1.1e",hoge),1,nchar(sprin...
extended=F)#小数部分の取り出し
axis(side=1,at=hoge,labels=expression(a^b))
とでもすればできるのかな,とおもったのですが,これだと最...
-ほんとはもっとちゃんとしたやり方があった気がするけど思い...
-そんなに難しく考えないでいいのですよ。pretty 関数と spri...
set.seed(123)
x <- rnorm(1000)*10+100
hist(x,xaxt="n")
at <- pretty(x)
labels <- sprintf("%.2e", at) # 有効桁数は自分で(これも...
axis(side=1,at=at,labels=labels)
#ref(example2.png)
-あとどうでもいいんですが、実数部、指数部の取り出しは、E<...
-みなさんありがとうございました.あとは目盛りをmin(), max...
-> あとは目盛りをmin(), max()等を使って作れば~
その必要がないというのが分からないですか? -- &new{2006-...
-以下のようにやってみました.10のべき乗についてはVoltage(...
t<-1:100 # ある実験デ...
signal <- 1.0e-3*(sin(t/5)+0.1*rnorm(100)) # ある実験デ...
E<-floor(logb(pretty(signal)[length(pretty(signal))],10)...
plot(signal,type="l",axes=F,xlab="Time(nsec)",
ylab=parse(text=paste("Voltage(",
parse(text=paste(10,"^",E)),")")))
box()
par(las=1)
axis(1)
axis(2,at=pretty(signal),labels=sprintf("%.1f",
pretty(signal)/10^E*10^floor(logb(pretty(signal)
[length(pretty(signal))],10))/10^E))
-画像の質にずいぶん差があるのですね。 -- &new{2006-09-12...
#ref(alt.png)
**大量の図のplot、mflowやmfcolは使えない? [#je725a92]
>[[ぼう]] (2006-09-09 (土) 11:43:42)~
~
おせわになります。~
50枚くらいの多数の図をfor文で繰り返したものを、ひとつの画...
pairs()で表示される図のように多数の図を表示するできる関数...
//
-画面に表示しているのですか?グラフィックウインドウが小さ...
> par(mfrow=c(8,8))
> for (i in 1:60) hist(rnorm(1000))
-ありがとうございます。基礎的なことだったのかも?ですが、...
**R CMD BATCHのオプションについて [#v8c11b46]
>[[山嵐]] (2006-09-08 (金) 10:23:37)~
~
Rをバッチで実行しようと思っています。~
その際、「R CMD BATCH」 + Rコマンドで実行するというのは~
理解しているのですが、~
オプションとして vanilla --no-save といったものを付けら...
聞いております。実際にそれらオプションを理解したいとおもい~
付けられるオプションの種類と意味をGoogleやR CMD BATCH -h ...
R CMD BATCHのオプションについてご存じの方いらっしゃいま...
お手数をおかけします。~
//
-サイト内検索はしましたか?[[Windows版RのFAQ]]の2.10に,...
-R CMD BATCHのオプションという解釈ではなくてR CMDのオプ...
-http://cran.md.tsukuba.ac.jp/doc/manuals/R-intro.html#In...
-みなさま、ご教授ありがとうございました。疑問がすべて解決...
**リストの逆数の和の求め方 [#d1f83915]
>[[inverse]] (2006-09-07 (木) 18:25:49)~
~
皆さんにお聞きしたいことがあります。以下のようなリストを...
a <- as.list(NULL)
a <- c(list(1:3), list(4:9))
a[[1]] と a[[2]] ごとに逆数の和を求めたいのですが、どうす...
sapplyを使えばいいとは思ったのですが、逆数和を求める関数...
自分で関数を定義するしかないんでしょうか?~
RはVersion 2.3.1、Windows XPを使用しています。~
ご回答よろしくお願いします。~
//
-以下のようにすれば良いわけですが、もしかして、実際はリス...
> c(sum(1/a[[1]]),sum(1/a[[2]]))
[1] 1.833333 0.995635
-lapply(lapply(a, function(x) 1/x),sum) -- &new{2006-09-...
-mapply(function(x) sum(1/x), a) こっちの方がいいか。。。...
-みなさんご回答ありがとうございます。実際のリスト成分は50...
**MacOS XでのRmapの使用 [#z80f24ef]
>[[haruo]] (2006-09-07 (木) 15:02:59)~
~
Mac OS X 10.4.6およびR for Mac OS X Version 2.3.1 (2006-0...
参考文献:RjpWiki内の「Rmapを使った地図表示」「なんでも掲...
> install.packages("Rmap")
download.packages(pkgs, destdir = tmpd, available = avai...
no package 'Rmap' at the repositories
> sessionInfo()
Version 2.3.1 (2006-06-01)
i386-apple-darwin8.6.1
//
-バイナリはありませんが、下の「パッケージrimageのインスト...
**異なる区切り幅のヒストグラムについて [#r59aee8a]
>[[crz1]] (2006-09-06 (水) 22:48:58)~
~
異なる区切り幅のヒストグラムを描いたところ、~
それぞれのバーの横幅が不揃い(指定した区切り間相当の幅)に...
このバーの横幅を一定にするにはどうすればいいのでしょうか?~
//
-区切り幅というのは,階級幅のことですか?区切り幅を不等間...
-分かりにくくてすみません。ご指摘の通り目盛り間隔を変えた...
-そうします。ヒストグラムに固執しすぎていました。ありがと...
**クラスター図を横向きで描画したい [#fdc8beb2]
>[[sally]] (2006-08-30 (水) 11:01:13)~
~
こんにちは。いつもWikiにお世話になっています。~
さて、今回クラスタ図を描こうとしているのですが、描画を横...
hc <- hclust(dist(USArrests)^2, "cen")
plot(hc)
これで描画される樹形図を縦ではなく、項目の名前が長いので...
ちょうど右90度回転させたような図を書くためにはどうしたら...
~
ご教授お願い致します。~
//
-ごめんなさい、今書き方を間違えたので修正しようとしたら、...
-main タイトルだけ text 関数で90度回転させて描き,後で画...
-アドバイスありがとうございます。自動で描画したものをHTML...
-少し,トリッキーですが. 例えばepsで出力したものを, TeXで...
postscript("foo.ps", width = 5, height = 4,
horizontal = FALSE, onefile = FALSE, paper = ...
plot(1:10)
dev.off()
等とすると, epsファイルができます, これを例えばスクリプト...
# 右回転90度
@@ -2,10 +2,11 @@
%%Title: R Graphics Output
%%Creator: R Software
%%Pages: (atend)
-%%BoundingBox: 0 0 360 288
+%%BoundingBox: 0 0 288 360
%%EndComments
%%BeginProlog
-/bp { gs gs } def
+%/bp { gs gs } def
+/bp { gs 0 360.0 translate -90 rotate gs } def
% begin .ps.prolog
/gs { gsave } def
/gr { grestore } def
とか
# 左回転90度
@@ -2,10 +2,11 @@
%%Title: R Graphics Output
%%Creator: R Software
%%Pages: (atend)
-%%BoundingBox: 0 0 360 288
+%%BoundingBox: 0 0 288 360
%%EndComments
%%BeginProlog
-/bp { gs gs } def
+%/bp { gs gs } def
+/bp { gs 288.00 0 translate 90 rotate gs } def
% begin .ps.prolog
/gs { gsave } def
/gr { grestore } def
以上, 「その手でやるんだ(c)沖田艦長」. でした. あとは, co...
もっとも, ImageMagicが入っていれば, convertだけでも出来ま...
-これでいかがでしょう?-- &new{2006-08-30 (水) 22:27:07};
hc <- hclust(dist(USArrests)^2, "cen")
par(mar = c(4,1,1,7))
plot(as.dendrogram(hc), horiz = T)
-↑すばらしい!と思ったら左90度回転だった… -- &new{2006-0...
-わぁ^^答えてくださった皆様、ありがとうございます!!!...
**パッケージrimageのインストール [#s54ead1b]
>[[haruo]] (2006-08-30 (水) 10:22:28)~
finkを使ってfftwとlibjpegをインストールした後、以下の3つ...
(方法1)関数 install.packages() でパッケージを指定
> install.packages("rimage")
download.packages(pkgs, destdir = tmpd, available = avai...
no package 'rimage' at the repositories
(方法2)関数 install.packages() で圧縮ファイル(rimage_...
> install.packages("/Users/haruo/Desktop/rimage_0.5-7.ta...
以下にエラーgzfile(file, "r") : コネクションを開くことが...
追加情報: Warning message:
圧縮されたファイル 'rimage_0.5-7.tar.gz/DESCRIPTION' を...
(方法3)メニューの [パッケージとデータ] から [パッケー...
(中略)
checking fftw.h usability... no
checking fftw.h presence... no
checking for fftw.h... no
** Removing '/Library/Frameworks/R.framework/Versions/2....
configure: error: Sorry, can't find fftw header
ERROR: configuration failed for package 'rimage'
<動作環境> Mac OS X 10.4.6; Darwin 8.6.1。R for Mac OS...
> sessionInfo()
Version 2.3.1 (2006-06-01)
i386-apple-darwin8.6.1
attached base packages:
[1] "methods" "stats" "graphics" "grDevices" "uti...
//
-方法1は、Mac用のバイナリがCRANにないので不可能です。方法...
-で、方法3が失敗したのはfinkを使っているためです。現在の...
-自分でインストールする方法は、慣れていれば普通にコンパイ...
-Darwin Portsも結局/swが/optになるだけなので同じですね......
-つまり、fftwとかjpeglibといった外部ライブラリは、finkやD...
-fftwを/usr/local/にインストールするには、[[FFTW Installa...
-libjpegを/usr/local/ にインストールするには、[[Independe...
-最後にR のパッケージインストーラで、「このコンピュータ上...
-ありがとうございます。正常にインストールされました。 -- ...
-もう解決して要るみたいですが、finkでもDarwinPortsでも、R...
-確かにバージョン管理が難しくなってしまうのでオススメでき...
-便乗質問ですが、finkやDarwinPortsに依存するパッケージを...
**SPSSのvariable labelsを取り出す方法 [#ha2c28b5]
>[[kam]] (2006-08-29 (火) 14:37:57)~
~
はじめまして。SPSSのデータをRで読み込んだ際のラベル...
例えば以下のようなSPSSのsavデータ「test.sav」があった...
Q1 Q2
1 2
3 3
2 2
4 1
5 2
Q1にSPSSで"国語"、Q2に"算数"とラベル付けしたとして、それ...
library(foreign)
data1 <-read.spss("test.sav",use.value.labels=F,to.data....
ここで、SPSSで使っていた変数へのラベルをRでも使いたいと思...
> attributes(data1)
$names
[1] "Q1" "Q2"
$row.names
[1] "1" "2" "3" "4" "5"
$class
[1] "data.frame"
$variable.labels
Q1 Q2
"国語" "英語"
attributes()を使うと、上のようにvariable.labelsとして読み...
大変初歩的というのは自覚しているのですが、variable.labels...
使用環境は、Win-XP,RはVersion 2.3.0 です。~
実際に扱うSPSSのsavデータは変数が170あり、できればSPSS...
質問の作法については目を通したのですが、不適切でしたらご...
//
-names(data1) <- data1$variable.labels ではいけませんか。...
-names(data1) <- attr(data1,"variable.labels") としないと...
-なるほど、回答ありがとうございます。ちょっと個人的な都合...
-names(data1) <- attr(data1,"variable.labels")で、うまく...
**日本語のナカグロ(・)の扱い [#qcb35f62]
>[[ニョロニョロ]] (2006-08-24 (木) 15:03:05)~
~
おかしなことが生じているので,問題を再現できる最小のデー...
test.dat というファイル名で,コードは UTF-8, 改行コードは...
中身は以下の通り(3行,2列)
変数・あ 変数・ん
1 2
3 6
このデータファイルを読んで,表示したところは何ともなさそ...
> x <- read.table("test.dat", header=TRUE)
> x
変数.あ 変数.ん
1 1 2
2 3 6
変数名が変なんです。どうも,ナカグロの変換にともなって,...
> colnames(x)
[1] "変数.あ?0<82>" "変数.ん?0<93>"
コードを EUC-JP にしても,同じようになっています。~
//
-src/main/character.c の do_makenames のアロケートの問題...
-ありがとうございました。何も,ナカグロを使わなくても良い...
-うーん, 我乍ら... 弩級に汚いコードに...(;_;) -- [[なかま...
-R-2.4.0には変なおまけは付かなくなります. -- [[なかま]] &...
**factor関数の使い方 [#m436b254]
>[[R初心者]] (2006-08-24 (木) 10:48:40)~
~
factor関数でいくつかのカテゴリ変数を1つに纏める方法なんて...
例えば数量化I類で分析した結果、いくつかのカテゴリ変数が有...
是非お知恵をお貸し下さい。~
//
-? factor は見てみましたか?labels 引数が答えでしょう。 -...
> x <- c(5, 1, 4, 3, 3, 2, 5, 3, 3, 4)
> factor(x, labels=c(1,1,2,3,4))
[1] 4 1 3 2 2 1 4 2 2 3
Levels: 1 1 2 3 4
> factor(x, labels=c(1,1,1,2,2))
[1] 2 1 2 1 1 1 2 1 1 2
Levels: 1 1 1 2 2
-趣旨を今一理解できていませんが、いくつかのカテゴリーを統...
> x <- c(1,2,2,3,4,5,5,5,6)
> factor(x)
[1] 1 2 2 3 4 5 5 5 6
Levels: 1 2 3 4 5 6
> x[x==6] <- 5
> factor(x)
[1] 1 2 2 3 4 5 5 5 5
Levels: 1 2 3 4 5
-上の例だと,2を1に統合して,その後を順に詰め合わすという...
-早速のレスありがとうございます。・・・後者の方ですね。な...
-ところで、有意じゃないからといってカテゴリをまとめてはい...
-その他というカテゴリーに入れるんだと思えば,有意でないカ...
-再解析と言う方針で行こうかと思っていたのですが・・・・。青木...
-いろんなまとめ方を試して、再解析、再々解析、・・・、再々...
-数量化理論(カテゴリ変数)の場合の作法はちょいと知りませ...
-数量化の場合は自動化がなかなか難しいが,ステップワイズ変...
ページ名: