Q&A (初級者コース)/11
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
COLOR(green){SIZE(20){初心者のための R および RjpWiki に...
COLOR(red){過去の記事のアーカイブ}。
-[[Q&A (初級者コース)/10]] (元記事が 2008-11-17 より 2...
-[[初級Q&A アーカイブ(9)]] (元記事が 2008-01-06 より 2...
-[[初級Q&A アーカイブ(8)]] (元記事が 2007-07-02 より 2...
-[[初級Q&A アーカイブ(7)]] (元記事が 2007-02-01 より 2...
-[[初級Q&A アーカイブ(6)]] (元記事が 2006-08-24 より 2...
-[[初級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
----
**forループを回避する方法について [#k52b483f]
>[[きむ]] (2010-03-08 (月) 00:50:28)~
~
いつも勉強させていただいてます。~
毎度、基本的なことですみませんが、質問させてください。~
~
現在、以下のような処理をしようとしています。~
具体的には、dataA(45万個のデータ)のxとdataB(2000個程度...
(「if(length(y)==0) y <- 0」は該当しないidがほとんどであ...
~
ii <- 450000
z <- numeric(ii)
for(i in 1:ii){
y <- dataB[dataB$id == dataA$id[i],"y"]
if(length(y)==0) y <- 0
ifelse(y < dataA$x[i], z[i] <- 0, z[i] <- y-dataA$x[i])
}
~
ただ、45万回のforループを処理するため、かなり時間がかかり...
dataAをdataBの共通分(5万個程度)のみ抽出し、処理してから...
applyファミリー等を使えば、forを内部化し、処理を高速化す...
プログラミングのテクニックについて、アドバイスいただけれ...
基本的な質問で申し訳けありませんが、よろしくお願いいたし...
//
- 「メモリ不足でmergeできませんでした」ということですが,...
- アドバイスありがとうございます。ご指摘のとおり、2時間程...
- 当方でテストデータ(45万と2000)を作ってやってみても,...
- z <- sapply(1:nrow(dataA), function(i) max(dataB$y[whic...
- 河童様、コメントありがとうございます。データは以下のと...
dataAの内容(データ数450000):GLが先ほどの例のxです~
mesh.id m5 GL
1 S035E005-21-3-3 21 100
2 S035E005-21-3-3 22 100
3 S035E005-21-3-3 23 100
dataBの内容(データ数2063):FL2が先ほどの例のyです
mesh.id FL2
1 S035E010-14-1-2 21.36078
2 S035E010-14-1-4 20.57547
3 S035E010-14-2-1 20.80305
ちなみに、実際のプログラムです:dataAがm5GL,dataBがm25Vs...
kk <- length(m5GL$mesh.id)
FL <- numeric(kk)
for(i in 1:kk){ #5mメッシュGLと比較してメッシュ別FLを算定
FL2 <- m25Vsh[m25Vsh$mesh.id == m5GL$mesh.id[i],"FL2"]
if(length(FL2)==0) FL2 <- 0
ifelse(FL2 < m5GL$GL[i], FL[i] <- 0, FL[i] <- FL2-m5GL$G...
}
- surg様、コメントありがとうございます。今、再度同じプロ...
- 河童様、やはり会社のパソコン(windowsXP cor2duo 3GHz)...
ユーザ システム 経過
8379.59 15.28 8453.30
- 時間の見積もりは,最初にあなたがデータフレームの構造を...
それと,for ループの中でやることと,外でやることの区別を...
> test <- function()
+ {
+ z <- numeric(ii)
+ for(i in 1:ii){
+ y <- dataB[dataB$id == dataA$id[i],"y"]
+ if(length(y)==0) y <- 0
+ ifelse(y < dataA$x[i], z[i] <- 0, z[i] <- y-dataA$x[...
+ }
+ return(z)
+ }
> set.seed(666)
> ii <- 450000
> dataA <- data.frame(id=sample(ii), x=rnorm(ii))
> num <- 2000
> dataB <- data.frame(id=sample(ii, num), y=rnorm(num))
> system.time(z <- test())
ユーザ システム 経過
80.553 0.488 80.596
> test2 <- function()
+ {
+ z <- numeric(ii)
+ for(i in 1:ii){
+ y <- dataB[dataB$id == dataA$id[i],"y"]
+ if(length(y)==0) y <- 0
+ z[i] <- y
+ }
+ z <- ifelse(z < dataA$x, 0, z-dataA$x) # これはループ...
+ return(z)
+ }
> system.time(z2 <- test2())
ユーザ システム 経過
62.656 0.984 63.291
> all.equal(z, z2) # 答えが同じになるこ...
[1] TRUE
- 河童様、ご指摘のとおりidがfactorになっていました。これ...
- surg様、教えていただいたコードを試したところ、きちんと...
**ESSモード時に自動でauto-completeモードなる方法 [#yc005d...
>[[Emacs超初心者]] (2010-03-07 (日) 04:44:03)~
~
Emacs 23 on Windowsを先日から使い始めました。~
若干、ここで質問するべき事項かどうか微妙なところではござ...
~
ESSとauto-completeを使用しているのですが、ESSモード時にい...
(global-auto-complete-mode t)
や
(add-hook 'ess-mode-hook
'(lambda ()
(auto-complete-mode)))
をしてみましたが、自動でオンになりませんでした。~
ESSモード時もしくは.Rファイルを開いたら、自動でオンにする...
//
- 上記のような設定は必須です。その上で、auto-complete.el...
(setq ess-mode-load-hook
'((lambda ()
(require 'auto-complete)
(when (boundp 'ac-modes)
(setq ac-modes
(append ac-modes
(list 'ess-mode ))))
(global-auto-complete-mode t)
)))
などと書けば、auto-complete.el自体を編集しないでもOKです...
- ありがとうございます! 上記ではうまくいきませんでした...
(when (boundp 'ac-modes)
(setq ac-modes
(append ac-modes
(list 'ess-mode))))
でうまくいきました。ac-modesがキーワードなんですね。あり...
**PLS回帰用のNIRデータの構造 [#s57e3b89]
>[[にわか]] (2010-03-04 (木) 00:18:15)~
~
winXPで2.10.1を使っています~
NIRのデータでPLS回帰をしようと思っていろいろ調べていると...
NIRのデータが波長ごとに列変数になっているように見え、表示...
ところがnames(yarn)をしますと、~
[1] "NIR" "density" "train"~
で、列変数が3つしかなく、NIR.1〜NIR.268が全てNIRに代表さ...
これはどういう構造のデータフレームなのでしょうか。また、...
よろしくご教示のほどお願いします。~
//
- 僕自身もplsを昔使ったことがあるので。データはリストの形...
- 早速のコメント有り難うございます。 -- [[にわか]] &new{2...
-str(yarn)やってみました。 -- [[にわか]] &new{2010-03-04 ...
-同様の構造のデータを作るために、たとえば以下のようにして...
y <- c(1, 2, 3)
x <- matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), nr...
attr(x, "dimnames") <- list(NULL, NULL)
ZZZ <- list(NIR=x, a=y)
これで一応、plsr(a ~ NIR, 2, data=ZZZ・・・・) のように、...
- yarn と同じ構造にしたいなら,structure(list(NIR=x, a=y)...
- 河童の屁さん、有り難うございます。=で思っていたものがで...
- row.names==seq_len(nrow(x)) になってましたね。== を = ...
**多数の分割に耐えうるカラーパレットを追加するパッケージ ...
>[[cex]] (2010-03-03 (水) 18:54:40)~
~
CRANからRColorBrewerをインストールしたのですが,色の分割...
~
そこで,多数(100程度)の分割に耐えうるカラーパレットを追...
もしご存じの方がいらっしゃれば,ご教示お願いします.~
//
- そもそも,100色も識別できるとは思えませんが,標準である...
- ありがとうございます.やはり,自分で作るしかないのでし...
- 一応、gplotsと言うパッケージの中の関数にあるrich.colors...
**CSVデータの読み込み [#a1ffda13]
>[[まるこ]] (2010-03-02 (火) 20:14:55)~
~
R初心者です。~
~
Rのバージョンは2.10.1、OSはVISTAです。~
~
クラスター分析がしたくて、
data <- read.table("xxx.csv", header=TRUE, sep=",")
d <- as.dist(data)
ans <- hclust(d, method="ward")
plot(ans, hang=-1)
というスクリプトを教えていただきました。~
データはあらかじめ作り、「カレントディレクトリ」に入れる...
「カレントディレクトリ」というのは、Rが入っているフォルダ...
D\Program Files\R-2.10.1 や、その中の「bin」や「doc」に...
エラーメッセージは、
In file(file, "rt") :
ファイル 'rensyuu.csv' を開くことができません: No suc...
> d <- as.dist(data)
以下にエラー as.vector(x, mode) :
cannot coerce type 'closure' to vector of type 'any'
> ans <- hclust(d,method="ward")
以下にエラー hclust(d, method = "ward") : オブジェクト...
> plot(ans,hang=-1)
以下にエラー plot(ans, hang = -1) : オブジェクト 'ans'...
となります。~
~
それで、CSVファイルの保存場所が間違っているのだと思い、1...
data <-read.table(file.choose(), header=TRUE, sep=",")
として、ファイルを選び、実行しました。~
すると、またエラーメッセージが出ました。
警告メッセージ:
1: In storage.mode(m) <- "numeric" : 強制変換により NA ...
2: In as.dist.default(data) : 正方行列ではありません ~
> ans <- hclust(d,method="ward")
以下にエラー hclust(d, method = "ward") :
外部関数の呼び出し(引数 11) 中に NA/NaN/Inf があります
> plot(ans,hang=-1)
以下にエラー plot(ans, hang = -1) : オブジェクト 'ans'...
過去ログで、データを新しいブックに貼り付けたらNAが消えた...
それもやってみましたが、解決しません。~
CSVファイルの保存場所の件と、2番目の方法でエラーにならな...
よろしくお願いいたします。~
//
- 1番目の回答。?Rのアイコンのプロパティの作業フォルダを...
- ありがとうございます!?でやってみましたが、結局「開くこ...
- わー!できました!行の名前(A列)に文字列があるのがいけ...
- ここで話してる内容って見てると不安になるんだけど、でき...
**タイムラグ処理をしたデータを時間がズレたままCSVファイル...
>[[森の熊五郎]] (2010-03-01 (月) 23:54:09)~
~
下記のプログラムを使って、修理の件数予測をしようと思って...
手法は簡単で、過去の製品の前年度比実績推移をもとに直近の...
過去と同じ推移になると想定して予測をします。~
2002年に出したAモデルから2007年に出したFモデルを...
Aモデルに比べFモデルは60ヶ月遅れて出しました。2002年のモ...
修理データは出荷後3年のデータですので、2007年モデルにとっ...
せっかくの計算結果をcsvに落とし、みんなに見せようと思って...
CSVに書き込む方法はありますか?ご教示ください。
repair <- read.csv("Repair2005_10.csv", header=TRUE)
N2002A <- ts(repair$X2002A, start=c(2005, 4), frequency=...
N2003B <- ts(repair$X2003B, start=c(2005, 4), frequency=...
N2004C <- ts(repair$X2004C, start=c(2005, 4), frequency=...
N2005D <- ts(repair$X2005D, start=c(2005, 4), frequency=...
N2006E <- ts(repair$X2006E, start=c(2005, 4), frequency=...
N2007F <- ts(repair$X2007F, start=c(2005, 4), frequency=...
R2002A <- lag(N2002A/lag(N2002A, k=-12), k=-64)
R2003B <- lag(N2003B/lag(N2003B, k=-12), k=-52)
R2004C <- lag(N2004C/lag(N2004C, k=-12), k=-40)
R2005D <- lag(N2005D/lag(N2005D, k=-12), k=-28)
R2006E <- lag(N2006E/lag(N2006E, k=-12), k=-16)
R2007F <- lag(N2007F/lag(N2007F, k=-12), k=- 4)
w7 <- rep(1, 7)/7
MDA <- filter(R2002A, filter=w7, sides=2)
MDB <- filter(R2003B, filter=w7, sides=2)
MDC <- filter(R2004C, filter=w7, sides=2)
MDD <- filter(R2005D, filter=w7, sides=2)
MDE <- filter(R2006E, filter=w7, sides=2)
MDF <- filter(R2007F, filter=w7, sides=2)
MRESULT <- data.frame(MDA, MDB, MDC, MDD, MDE, MDF)
write.csv(RESULT, "RESULT200510.csv", row.names=TRUE)
//
- 余計な情報にまぎれて,あなたが何を質問したいかがよくわ...
上のプログラムは,= を <- にしたり,"," の後にスペースを...
> MRESULT=data.frame(MDA,MDB)
> write.csv(RESULT,"RESULT200510.csv",row.names=TRUE)
以下にエラー inherits(x, "data.frame") : オブジェクト ...
となります。つまり,期待する結果が得られないといっている...
質問するには,状況を再現できる,読みやすいプログラム,な...
「そんな単純な事ことじゃない」ということでしたら,以下の...
> set.seed(666)
> repair <- data.frame(X2002A=1:120, X2003B=1001:1120)
> head(repair)
X2002A X2003B
1 1 1001
2 2 1002
3 3 1003
4 4 1004
5 5 1005
6 6 1006
> N2002A <- ts(repair$X2002A, start=c(2005, 4), frequenc...
> N2003B <- ts(repair$X2003B, start=c(2005, 4), frequenc...
> R2002A <- lag(N2002A/lag(N2002A, k=-12), k=-64)
> R2003B <- lag(N2003B/lag(N2003B, k=-12), k=-52)
>
> w7 <- rep(1, 7)/7
> MDA <- filter(R2002A, filter=w7, sides=2)
> MDB <- filter(R2003B, filter=w7, sides=2)
> MRESULT <- data.frame(MDA, MDB)
> head(MRESULT)
MDA MDB
1 NA NA
2 NA NA
3 NA NA
4 5.444898 1.011952
5 3.944898 1.011940
6 3.278231 1.011928
- 追記します。複数の時系列データを時間軸をあわせて統合す...
- 河童の屁さま、おはようございます。貴殿の例ではMDAがMDB...
- MRESULT <- rbind(MRESULT[rep(1, 12),], MRESULT) とすれ...
- 河童の屁さま、ありがとうございます。ただ、data.frame文...
**ライセンスが「ファイル」形式のパッケージのインストール ...
>[[きむ]] (2010-02-18 (木) 19:05:21)~
~
いつも勉強させていただいております。~
~
モデルを用いたクラスター分析をしようとパッケージ「mclust...
by using mclust, or by using any other package that invo...
you accept the license agreement in the mclust LICENSE f...
and at http://www.stat.washington.edu/mclust/license.txt
そこで、上記サイトに行って「license.txt」ファイルをダウン...
(とりあえず上記ライセンスでテストし、使えそうであれば正...
~
これまで、パッケージのライセンスがファイル形式のものを使...
~
設定方法をご存知の方がおられましたら、教えてください。~
よろしくお願いします。~
//
- ライセンスファイルをちゃんと読みましょう。 -- &new{201...
- 私もやってみましたけど、2.10.1版 windows XPで同じ現象...
- コメントありがとうございます。ただ、今回の質問は、ライ...
とりあえずAcademic Licensingで試用したいと思いましたが、 ...
- というか、上記メッセージがでていた時点で、ライセンス設...
**cannot shut down device 1 [#a2f4ca4d]
>[[くま]] (2010-02-18 (木) 10:17:57)~
~
これまで正常に起動していたRcmdr上で、dev.off()を実行する...
エラー:cannot shut down device 1 (the null device)
が出るようになってしまいました。インストールしているRcmdr...
//
- それはデバイスが開いている状態でシャットダウンできない...
- おっしゃるとおりです。plot.new()をしてから、やれば大丈...
**hclustの要素プロット順の変更方法 [#xf6a2b40]
>[[ken]] (2010-02-16 (火) 22:07:15)~
~
クラスタ解析をRで実施するにはいくつかの関数があるようです...
hclustでデンドログラムをプロットする際に要素を列の平均の...
~
私が行っている操作は以下の通りです。
set.seed(567)
x <- round(matrix(rnorm(50),ncol=5),3)
d <- dist(x)
cl <- hclust(d,method="complete")
plot(cl, sub="none", main="hclust Dendrogram", hang=-1)
目的としているプロットは次の操作で得られています。~
しかし、rect.hclustで加工ができないので悩んでいます。
dc <- as.dendrogram(cl)
Colv <- colMeans(x)
ddc <- reorder(dc, Colv)
plot(ddc, main="as.dendrogram Dendrogram")
何卒、アドバイスをいただけますようお願いいたします。 ~
//
**一致するIDに1を入れる [#t6d85cb7]
>[[ざーさい]] (2010-02-15 (月) 08:43:19)~
~
ある疾患に罹患した人のID8桁のリストがあり、罹患した人そう...
//
- match -- &new{2010-02-15 (月) 09:05:34};
- とりあえず思いつくのはこんなところ
> data <- data.frame(id = as.character(10000001:10000010))
> id.list <- c("10000002", "10000005", "10000007")
> data$dis <- 0
> data$dis[data$id %in% id.list] <- 1
> data
id dis
1 10000001 0
2 10000002 1
3 10000003 0
4 10000004 0
5 10000005 1
6 10000006 0
7 10000007 1
8 10000008 0
9 10000009 0
10 10000010 0
もっと簡単な方法もあるかも -- [[surg]] &new{2010-02-15 (...
- matchでうまくできなかったのですが、どうもありがとうござ...
- 自己レスですが、IDのリストをpasteで整数から文字に変換し...
- match を使うなら,surg さんの提示した例の,4行目を data...
また,3,4 行目を data$dis <- 1-is.na(match(data$id, id.li...
**関数"is"を見つけることができませんでした [#m874c884]
>[[くま]] (2010-02-12 (金) 06:41:57)~
~
RはXPで使っていましたのである程度は分かっているつもりでし...
関数"is"を見つけることができませんでした~
というエラーメッセージが出て計算できなくなってしまいまし...
なお、操作はRcmdr上から行っており、その他の計算は支障なく...
//
- 下の方に同じような現象についてのスレッドがあります。目...
- 難しそうなので、これまで使っていたパソコンからR-2.8.1の...
- windows7だったからじゃないの? -- &new{2010-02-12 (金)...
- 当方,Windows7 Ultimate, R-2.10.1,Rcdmr1.5-4で, An...
**季節変動&週次変動の時系列データの日次分析方法について ...
>[[Rは初心者]] (2010-02-11 (木) 00:04:12)~
~
修理受付の予測をするために、Rを勉強を始めました。~
「Rによる時系列分析入門」を片手に悪戦苦闘の毎日です。~
修理の件数は、季節変動があり、週変動もあります。~
すなわち、~
�修理は冬より夏に多く、~
�火曜日にピークがきて週末にかけて台数が落ち込む~
という傾向があります。~
これは~
�夏場の温度によって部品が壊れやすくなる~
�お店に修理に出すのが週末で物流TATを考えると、...
ということが原因です。~
~
日毎の修理受付件数データを蓄積し、Rを使って予測までをし...
月次のデータをもとに季節変動を抽出する方法、例えば、月次...
REP = read.csv("TESTDATA.csv", header=TRUE)
RNUM = ts(REP$num, start=c(2008, 4), frequency=12)
bunkai = decompose(RNUM, type="multiplicative")
plot(bunkai)
として季節変動を分解する方法までは勉強しました。~
~
これを日次データをもとに、週変動と季節変動を求める方法を...
RNUM = ts(REP$num, start=c(2008, 4), frequency=12)
のように、年・月しか入れることができず、
Start=c(2008, 1, 4)
のように年月日をいれることができない。~
また日次でやると、祝日(修理職場も休みなので入荷がゼロ)...
~
予測まではまだまだですが、このような場合、どのように分析...
//
- 予測をしたいのですか?でしたら,重回帰分析をすればよい...
- http://sun.econ.seikei.ac.jp/~kawaji/classroom-02/dat3/...
- 早速のアドバイスありがとうございます。参考サイトを確認...
- 何も,曜日,祝日と季節のデータだけから予測するなんて言...
- ものすごく重たそうな課題ですね。いくつかの課題がごっち...
- 色々アドバイスを頂きましてありがとうございます。修理と...
- 「frequency」に1年の平均データ数(営業日数)を入れる方...
- まあ,かなり難しい問題なんでしょうね。ある理論関数で片...
- 色々アドバイスを頂きましてありがとうございます。経験と...
**一方のパラメータによって制限される最適解の求め方につい...
>[[nat]] (2010-02-07 (日) 02:37:21)~
~
こんにちは。R初心者です。いつも拝見させていただいていま...
~
ある式を最小化する2つのパラメータをoptimを使って求めよう...
2つのパラメータx1, x2のうち、x2はx1によって最適解の範囲が...
f <- function(par, B, u) {
x1 <- par[1]
x2 <- par[2]
(x1 / B + x1 / (B - x1) ) - (x1^u + x2^u)
}
おおよそ以下のような値を代入します。
B <- 10e+5
u <- -0.7
Q <- B / 10
f を最小化し、かつx1 + x2 <= Qとなるようなx1, x2を出して...
constrOptimなども試しましたが、よくわかりませんでした。
optim(fn=f, par=c(0, 1), B1=B1, u=u, lower=c(0, 0),
upper=c(Q, Q), method="L-BFGS-B")
このやり方だと、「かつx1 + x2 <= Q」の部分が満たされない...
~
ご教授よろしくお願いします。~
//
- 上のを,そのまま入力しても,動きもしないのですけど(も...
- よくわからないが,こんなことがしたい?
> f <- function(par, B, u) {
+ Q <- B / 10
+ x1 <- par[1]
+ x2 <- par[2]
+ if((x1 + x2) > Q) 1e+10
+ else (x1 / B + x1 / (B - x1)) - (x1 ^ u + x2 ^ u)
+ }
>
> optim(c(1, 1), f, B = 10e+5, u = -0.7)
$par
[1] 1.542165e-37 1.258702e+00
$value
[1] -5.865545e+25
$counts
function gradient
501 NA
$convergence
[1] 1
$message
NULL
-- [[surg]] &new{2010-02-07 (日) 08:22:17};
- 例えばこんな風にしてみると,一応収束はするみたいだけど...
> f <- function(par) {
+ x1 <- par[1]
+ x2 <- par[2]
+ if (x1+x2 > Q) x2 <- (Q-x1)*0.9 # 例えばこんな...
+ (x1 / B + x1 / (B - x1) ) - (x1^u + x2^u)
+ }
> B <- 10
> u <- 0.7
> Q <- B / 10
> optim(c(0,1), f)
$par
[1] 0.3143118 0.6856882
$value
[1] -1.148777
$counts
function gradient
113 NA
$convergence
[1] 0
$message
NULL
- 失礼ながら surg さんの実行例は収束していない -- [[河童...
- 「こんなことがしたい?」にその意味を込めたつもりでした...
- 「質問通りの u <- -0.7 では収束しませんよね」~
そうなんですよ。元のままだと par の初期値 c(0,1) で f の...
- 迅速な返答ありがとうございます。 ~
自分なりに簡略化して最初に投稿したのですが、収束するかを...
~
河童の屁さん、surgさんの最適解の求め方だと、x1+ x2 >Qとな...
~
私が求めたいのは、x1 + x2 > Q となることが無いことを前提...
- > 私が求めたいのは、x1 + x2 > Q となることが無いことを...
だから,x1 + x2 <= Q になるように,制約条件を付けたんです...
> 自分なりに簡略化して最初に投稿したのですが~
簡略化したんですか?簡略化したつもりで,問題が変わってし...
- > 河童の屁さん、surgさんの最適解の求め方だと、x1+ x2 >Q...
私のは違いますよ.x1 + x2 > Q の場合は最適解に決してなら...
- 河童の屁さんのようにifで条件をつけてやってみました。 ~
ifで条件をつけなかった場合と比べると、x1+x2 > Qとならない...
その解も検証してみたら尤もらしいので、この方法でやってみ...
今後例を出す時は計算できるかをきちんと確認した上で投稿す...
大変助かりました。河童の屁さん、surgさん、ありがとうござ...
**Rでの重要度判定について [#d9f58be6]
>[[syo]] (2010-02-06 (土) 17:11:34)~
~
Rにてテキストマイニングの勉強をしている初心者なのですが、...
//
- > Rで語に対するTF-IDF判定や重要度判定を行いたい~
なぜ,コメントが付かないのでしょうかねえ。質問が曖昧だか...
- RMeCabとかKH Coderなんかはいかがでしょう。 -- &new{201...
**install.packageができません [#eea72038]
>[[yoou]] (2010-02-05 (金) 01:15:42)~
~
Rで学ぶデータマイニングで、自宅のvistaを使い勉強してるの...
install.packages("relimp")でJapan(Tokyo)を選ぶと以下のエ...
--- Please select a CRAN mirror for use in this session ...
警告:unable to access index for repository ftp://ftp.ec...
download.packages(pkgs, destdir = tmpd, available = avai...
no package 'relimp' at the repositories
どうしたら解決できるでしょうか。
//
-なぜにして contrib/2.4 なんでしょう?インストールしてい...
- Rは2.4.1です。aizuでもエラーがでたので、hyogoにしたら無...
**rgdal.soエラー Error in dyn.load [#x6664ce8]
>[[mittyo]] (2010-02-03 (水) 09:48:44)~
~
はじめて投稿します。~
RでGRASSのデータを使いたくて、spgrass6をインストールしよ...
~
エラーは以下の通りです。
Error in dyn.load(file, DLLpath = DLLpath, ...) :
共有ライブラリ '/root/R/i686-pc-linux-gnu-library/2.10/r...
/root/R/i686-pc-linux-gnu-library/2.10/rgdal/libs/rgdal....
Error : package 'rgdal' could not be loaded
ERROR: lazy loading failed for package ‘spgrass6’
rgdal.soに問題がありそうなので、Rでlibrary("rgdal")を実行...
> library("rgdal")
要求されたパッケージ sp をロード中です
Error in dyn.load(file, DLLpath = DLLpath, ...) :
共有ライブラリ '/root/R/i686-pc-linux-gnu-library/2.10...
/root/R/i686-pc-linux-gnu-library/2.10/rgdal/libs/rgdal....
エラー: 'rgdal' に対するパッケージもしくは名前空間のロ...
> Error in dyn.loadError in dyn.load
と同様のエラーが出ました。~
~
rgdalを入れなおそうと思い、
install.packages("rgdal", dependencies=TRUE)
を実行し、再度
library(rgdal)、install.packages("spgrass6", dependencie...
を実行しましたが、同様の結果でした。~
~
環境ですが、
OS:Vine Linux 5.0
R:version 2.10.0 (2009-10-26)
です。~
~
ご教示のほどよろしくお願い致します。~
//
- 追記です。最新のR-devel_2010-02-01.tar.gzを再度インスト...
- おぉVineな人。rgdalのインストールは本当に成功しています...
- gdalのバージョンは1.6.2 です。 -- [[mittyo]] &new{2010-...
- gdalを1.6.3に変更しなおして、もう一度Rをインストールし...
- すみません、ご指摘の通りrgdalのインストールがうまくいっ...
* Installing *source* package ‘rgdal’ ...
gdal-config: gdal-config
checking for gcc... gcc -std=gnu99
checking for C compiler default output file name... a.out
:
SNIP
:
** building package indices ...
* DONE (rgdal)
ダウンロードされたパッケージは、以下にあります
‘/tmp/RtmpvHL96d/downloaded_packages’
'.Library' 中のパッケージの HTML 索引を更新します
> library("rgdal")
要求されたパッケージ sp をロード中です
Error in dyn.load(file, DLLpath = DLLpath, ...) :
共有ライブラリ '/usr/local/lib/R/library/rgdal/libs/r...
/usr/local/lib/R/library/rgdal/libs/rgdal.so: undefine...
エラー: 'rgdal' に対するパッケージもしくは名前空間の...
Note: proj/conus not foundの部分が気になるのですが… -- [[...
- proj.4が入っていないとか。とりあえずRから離れて、gdalと...
- そもそも /usr/local/lib/R/library/rgdal/libs/rgdal.so ...
- すみません、rgdal.soはあったのですが、gdalとproj.4のイ...
**指定した要素の度数を表示する [#oe42dd32]
>[[sui]] (2010-01-30 (土) 10:00:23)~
~
いつもお世話になり、ありがとうございます。~
下記につきまして長くなりますが、ご教示の程、よろしくお願...
HT <- rep(0:1, c(10, 20))
cHT <- factor(HT, levels=0:1)
group <- c("A","B","A","B","A","B","A","B","A","B","A",
"B","A","B","A","B","A","B","A","B","A","B",
"A","B","A","B","A","B","A","B")
df <- data.frame(HT, cHT, group)
上記のようなデータフレームを仮定します。(HT=1は高血圧あり...
列の要素が整数の場合(列:HT)は目的とするgroup毎の高血圧あ...
> for(i in 1) { # 解析する列の入力
df <- df # データフレーム名の入力
g<-group # group の所にグループ変数の列名
cat(names(df)[i],
by(df[, i], g, sum),
(chisq.test(table(factor(df[, i], levels=0:1), df$g)...
}
HT 10 10 0.6985354 # group 毎の高血圧ありの度数とカイ2乗...
最終の目標は class() 関数で列の要素を判別して if を用い、...
カテゴリカルデータを用いて上記のように group 毎の高血圧あ...
//
- 既存の function を使うのも手でしょう.
require(Hmisc)
summary( group ~ HT + cHT, data=df, method='reverse', te...
デフォルトで continuity correction 無しの カイ2乗検定を...
フィッシャーにも変えられますが,ややめんどくさかった記憶...
~
- 御曹司さん、ありがとうございます。これも確かに便利な関...
- for ループの中で妙なことをやっていたりして,やりたいこ...
まず,0/1 データが integer でも factor でも,group 別に 1...
table 関数を使って,2行目を取り出すというのが簡単でよいと...
> table(HT, group)[2,]
A B
10 10
> table(cHT, group)[2,]
A B
10 10
次は,データによって検定法を選択して実行することですね。...
> df$x <- rnorm(30)
> head(df)
HT cHT group x
1 0 0 A -0.64007308
2 0 0 B 0.34494342
3 0 0 A -0.59577331
4 0 0 B 0.05745206
5 0 0 A -1.02755942
6 0 0 B 0.41386607
> for (i in c(2, 4)) {
+ x <- df[, i]
+ if (class(x) == "factor") {
+ tbl <- table(x, group)
+ cat(colnames(df)[i], tbl[2,], chisq.test(tbl)$p.valu...
+ } else if (class(x) == "numeric") {
+ cat(t.test(x ~ group)$p.value, "\n")
+ } else {
+ stop("error")
+ }
+ }
cHT 10 10 0.6985354
0.3210783
こんなもんでしょうかね。 -- [[河童の屁]] &new{2010-01-30 ...
- 上の御曹司さんの解は,あなたの求めているものと違うと思...
- tableの2行目を取り出すと言うのが、最も知りたかった所で...
**リピータ状況把握の方法 [#rcaf75c7]
>[[森の熊太郎]] (2010-01-28 (木) 15:22:19)~
~
現在、コールセンタの利用者のリピータ状況を調べたいと思っ...
一人ひとりにユニークな番号(会員番号:重複なし)をつけてい...
月に何万件と問い合わせがきます。問い合わせのたびにログを1...
それらのファイルをもとに、例えば
1月 2月 3月 4月
X0011 X23243 X3454 X46738
X0023 X43534 X3456 X78987
のように横に月、たてにログ毎の会員番号を記載した表を作り...
コール数 ユーザ数 累計コール数 累計ユー...
1月 23456 19876 23456 19876
2月 25677 20343 49133 34020
のように累計ユーザ数を調べたい。~
つまり、ユーザは同月内でも複数回コールをし、また翌月もコ...
Excel2007があれば、ピボットテーブルで簡単に出来るかと思い...
//
- おおもとのデータのファイル構造はどうなってるんでしょう...
**2群の比較を繰り返し行う [#f4d698d2]
>[[sui]] (2010-01-22 (金) 20:37:37)~
~
初めて投稿いたします。Rは始めたばかりで初歩的な質問かもし...
a <- c(1:10)
b <- c(11:20)
c <- c(21:30)
d <- c(31:40)
group <- c("X", "X", "X", "X", "X", "Y", "Y", "Y", "Y", ...
df <- data.frame(a, b, c, d, group)
以上のようなデータフレームを仮定します。
グループXとY間でパラメータ a, b, c, d の平均値に差がある...
//
- sapply(df[,1:4], function(z) t.test(z~df$group)) という...
for 文を使うのは R らしくないとか,その他なんとかかんとか...
推奨されるようやらなかったからといって,実行時間が何年も...
以下のようにやるとできますが,どの変数に対する解かを表示...
> for (i in 1:4) print(t.test(df[,i]~df$group))
Welch Two Sample t-test
data: df[, i] by df$group
t = -5, df = 8, p-value = 0.001053
alternative hypothesis: true difference in means is not ...
95 percent confidence interval:
-7.306004 -2.693996
sample estimates:
mean in group X mean in group Y
3 8
以下略
- 早速の回答ありがとうございました。for文を用いた例の方が...
- for文を使った結果に「必要に応じて変数名を表示する」とあ...
- 以下のように for (...) { } の { } の中には,何でも書...
for (i in 1:4) {
cat("=================\n")
cat("variable:", names(df)[i], "\n")
print(t.test(df[,i]~df$group))
}
- 河童の屁さん、本当にありがとうございました。 -- [[sui]]...
**分散を指定して標本を抽出する。 [#sacf0646]
>[[T-A]] (2010-01-22 (金) 00:29:41)~
~
何度もすみません。~
先ほど正規乱数を母集団として標本を抽出してその平均値を出...
母集団とその標本平均の集団の分散が等しいものがほしいので...
x <- rnorm(100)~
y <- (x-mean(x))/sd(x)~
w <- 5*y+50~
のようにして分散が25、平均50のデータを作って~
そこから標本平均の集団も分散が25に近似するように抽出する...
replicate(200, mean(sample(w, 10)))~
のようにして母集団から標本を抽出して平均値を求めることを2...
よろしければご教授ください。~
//
- 無理やり分散を25にしちゃいけませんか? -- [[王監督]] ...
w <- rnorm(200, 50,sd=5)
h <- replicate( 5, sample(w,10, replace=F) )
hh <- t(t(h)/apply(h,2,sd)*sd(w))
- 25近似よりも25の方がいいです。言葉足らずですみません・...
- 途中でコメント入れてしまいました。王監督さんありがとう...
- そのようなエラーは出ませんが...「その標本平均値の集...
- やりたいことがはっきりわからないですね。~
> 分散が25、平均50のデータを作ってそこから標本平均の集団...
「標本平均の集団の分散」というのは「標本平均の標準誤差の...
N(50, 5^2) から n 個の標本を抽出する場合,標本誤差は 5/sq...
あなたがどういうことをやりたいのか,ちゃんと記述できてい...
- 言われて気づきました・・・。そうでした。統計学の未熟者...
**Rserveのアソシエーション分析でエラー [#me06d6b9]
>[[Mame]] (2010-01-21 (木) 16:57:38)~
~
たびたびすみません。~
下でRserveについて質問したものです。~
(まだ解決に至っておりませんが、できましたら報告します)~
~
パッケージのarulesを利用して、アソシエーション分析をした...
~
参考にしているのは、金明哲先生の~
http://www1.doshisha.ac.jp/~mjin/R/200611_40.pdf~
です。~
~
書いたコードは、
Rconnection c=new Rconnection((args.length>0)?args[0]:"1...
c.voidEval( "library(arules)" );
//データを作ります
RList l = new RList();
l.add( new REXP( new String[] {"パン","牛乳","ハム","果...
l.add( new REXP( new String[] {"ソーセージ","ビール","...
l.add( new REXP( new String[] { "弁当","ビール","オムツ...
l.add( new REXP( new String[] {"弁当","ビール","オレン...
//リストの作り方がよくわからなかったので
//データフレームにしてらかリストに変換しました
//下記ではエラーが出ました。
//String m = "data1 <-list(c(\"パン\",\"牛乳\",\"ハム\"...
"c(\"パン\",\"オムツ\",\"ビール\",\"ハム\"),"+
"c(\"ソーセージ\",\"ビール\",\"オムツ\"),"+
"c(\"弁当\",\"ビール\",\"オムツ\",\"タバコ\"),"+
"c(\"弁当\",\"ビール\",\"オレンジジュース\",\"果物\")...
//c.voidEval( m );
c.assign( "data1", REXP.createDataFrame(l));
c.voidEval( "data1 <- list(data1)");
//REXP x = c.eval( "class(data1)" );
//System.out.println( x ); <= listとでます。
//この下でエラー(voidEval failed)になります。
c.voidEval( "data.tran <- as(data1,\"transactions\")");
以上です。~
~
よろしければご教授のほどよろしくお願いいたします。~
//
**RでPrefixSpan [#zb07ae8f]
>[[松田紀之]] (2010-01-21 (木) 14:59:28)~
~
PrefixSpanをRで組み始めたのですが,うまく再帰的に書けずに...
//
**スペースの数による文字列の取り出しについて [#fa60e7c0]
>[[aoi]] (2010-01-21 (木) 11:47:48)~
~
たびたびすみません。よろしくお願いします。~
条件に一致する文字列を取り出したいと思っています。~
~
例えば
> exex_2
[,1] ...
[1,] "a b dxe" ...
[2,] "abcde" ...
[3,] "a1v2 c4" ...
[4,] "a1 b2 c3" ...
[5,] "banana ringo kiwi orange kodama"
のような文字列の行列があったときに、スペース区切りで一番...
一番はじめの要素を取り出すのは
> sub(" .*","",exex_2)
[,1]
[1,] "a"
[2,] "abcde"
[3,] "a1v2"
[4,] "a1"
[5,] "banana"
で出来たのですが、2番目、3番目の要素を取り出すことが出...
目標としては2番目の要素でしたら
[,1]
[1,] "b"
[2,]
[3,] "c4"
[4,] "b2"
[5,] "ringo"
3番目の要素でしたら
[,1]
[1,] "dxe"
[2,]
[3,]
[4,] "c3"
[5,] "kiwi"
のように取り出せたら、と考えています。 ~
Rの正規表現やHelpを読ませていただいたりしてしばらく考えた...
~
また ~
sessionInfo()~
R version 2.8.1 (2008-12-22)
i386-apple-darwin8.11.1
~
です。よろしくおねがいします。~
//
- strsplit() -- &new{2010-01-21 (木) 11:55:36};
- 該当要素がないときに NA となるけど,以下のようなもので...
> sapply(strsplit(exex_2, " "), "[", 1)
[1] "a" "abcde" "a1v2" "a1" "banana" "5"
> sapply(strsplit(exex_2, " "), "[", 2)
[1] "b" NA "c4" "b2" "ringo" NA
> sapply(strsplit(exex_2, " "), "[", 3)
[1] "dxe" NA NA "c3" "kiwi" NA
> sapply(strsplit(exex_2, " "), "[", 4)
[1] NA NA NA NA "orange" NA
> sapply(strsplit(exex_2, " "), "[", 5)
[1] NA NA NA NA "kodama" NA
> sapply(strsplit(exex_2, " "), "[", 6)
[1] NA NA NA NA NA NA
- NAで大丈夫です。ありがとうございます! -- [[aoi]] &new{...
**RServeを使ったグラフの生成 [#v3c35146]
>[[Mame]] (2010-01-21 (木) 10:09:14)~
~
はじめて投稿させていただきます。~
R、RServeともに初心者ですがよろしくお願いします。~
~
現在、RServeをつかってグラフの画像を生成したいのですが、...
・RServeのjava-oldの中のexsample を参考にしています。~
・plot は、画像が生成され中にプロットがされていました。~
・histogram は、画像そのものは生成されるのですが、白の背...
・Rのコマンドラインからは、histogramで画像を生成すること...
~
■環境~
R version 2.10.1~
Rserve version 0.6.1~
Eclipse version 3.5.1~
OS:Windows7(windows2000でも同じ結果でした)~
~
ご教授のほど、よろしくお願いいたします。~
~
■以下ソースコード
import org.rosuda.JRclient.*;
public class HelloWorld {
public static void main(String args[]) {
try {
Rconnection c=new Rconnection((args.length>0...
//histogramを使うために読み込みます
c.voidEval( "library(lattice)" );
c.voidEval("x <- iris");
REXP xp=c.eval("try(jpeg(\"test.jpg\"))");
if (xp.asString()!=null) {
System.out.println("Can't open jpeg grap...
REXP w=c.eval("if (exists(\"last.warning...
if (w.asString()!=null) System.out.print...
return;
}
//下のplot は描画できます。
//c.voidEval("plot(Sepal.Length, Petal.Lengt...
//背景が白い画像だけが出来上がります。
c.voidEval( "histogram(~ Sepal.Length, data=...
c.voidEval("dev.off()");
c.close();
} catch(RSrvException rse) {
System.out.println("Rserve exception: "+rse....
} catch(Exception e) {
System.out.println("Something went wrong, bu...
e.getMessage());
e.printStackTrace();
}
}
}
//
**正規乱数の母集団から標本を取り出し標本平均を求めること...
>[[T-A]] (2010-01-21 (木) 01:49:07)~
~
R初心者の者です。~
あまりの初心者でコマンドのし方がわからないのでよろしけれ...
~
正規乱数100個を母集団として作り、大きさ10の標本を非復元抽...
~
x <- rnorm(100)~
y <- sample(x,10)~
mean(y)~
ここまではたどり着けたんですが、次に進めず困っています。~
こんな感じでmean(y)を100個ほしいんですが・・・~
//
- sapply(1:100, function(t) mean(sample(x, 10))) -- [[sur...
- replicate(100, mean(sample(x, 10))) -- [[河童の屁]] &ne...
- surgさん、河童の屁さん本当にありがとうございます。 -- [...
**主成分分析の散布図の成分を変えたい [#iad8220a]
>[[kum]] (2010-01-16 (土) 19:57:41)~
~
主成分分析の結果をbiplot(PC)で表すと第1主成分が横軸、第...
editでbiplotの中身をそれらしく変更したりしましたができま...
どなたかご教授ください。~
//
- 毎度のことですが,? biplot.princomp または ? biplot.prc...
> editでbiplotの中身をそれらしく変更したりしましたが~
biplot.default じゃないし,わけもわからずそれらしく変更し...
biplot.default ではなく biplot.princomp が使われるという...
以前の質問で,biplot.default の方を直すように解答したのは...
- お答えくださってありがとうございます。
> biplot3 <- stats:::biplot.princomp
> biplot3 <- edit(biplot3)
として
> function (x, choices = 1L:3L,scale = 1, pc.biplot = FA...
> biplot.default(t(t(scores[, choices])/lam), t(t(x$load...
とbiplot.princompを変更後
> suffix <- 1:100
> biplot3(PC,suffix=suffix)
としましたが [以下にエラー t(x$loadings[, suffix]) : 選...
- 困りますね。choices は "length 2 vector specifying the ...
scores と loadings から 必要な行と列を choices と suffix ...
biplot.princomp だけを直すのでは,全体の配置の中で選択し...
スケールの決め方が違うけど,先に修正した biplot2 を使うの...
例えば,第1,第3主成分をプロットしたいなら,
choices <- c(1, 3)
biplot2(PC$scores[,choices], PC$loadings[,choices], suff...
のようにすればよいのですから。biplot3 に choices 引数を追...
- biplot.princomp と biplot.default をまとめて,新しい引...
a <- princomp(iris[ ,1:4]) # 動作確認用 princomp オブジ...
以下の2図を比較してちゃんと動くことを確認
biplot(a, choices=c(1,3)) # 本来の biplot.princomp で全...
biplot3(a, choices=c(1,3), suffix=c(23, 101, 123)) # 3 ...
ちょっと長くなるけど -- [[河童の屁]] &new{2010-01-16 (土)...
biplot3 <- function (x, choices = 1L:2L, scale = 1, pc.b...
var.axes = TRUE, col, cex = rep(par("cex"), 2),
xlabs = NULL, ylabs = NULL, expand = 1, xlim = NULL,...
arrow.len = 0.1, main = NULL, sub = NULL, xlab = NUL...
suffix = NULL, # add 前の定義はちょっとまずかったの...
...)
{
# add start # biplot.princomp の部分,一部変更
if (length(choices) != 2)
stop("length of choices must be 2")
if (!length(scores <- x$scores))
stop(gettextf("object '%s' has no scores", depar...
domain = NA)
if (is.null(suffix)) # biplot.princomp に追加
suffix <- 1:nrow(scores)
loadings <- x$loadings # 変更
lam <- x$sdev[choices]
if (is.null(n <- x$n.obs))
n <- 1
lam <- lam * sqrt(n)
if (scale < 0 || scale > 1)
warning("'scale' is outside [0, 1]")
if (scale != 0)
lam <- lam^scale
else lam <- 1
if (pc.biplot)
lam <- lam/sqrt(n)
x <- t(t(scores[, choices])/lam) # biplot.defau...
y <- t(t(loadings[, choices]) * lam) # biplot.defau...
# add end
# これ以降は biplot.default
n <- nrow(x)
p <- nrow(y)
:
# text(x, xlabs, cex = cex[1L], col = col[1L], ...) # ...
text(x[suffix,], xlabs[suffix], cex = cex[1L], col = ...
:
**関数read.shapeが使えません [#uf302073]
>[[G-T]] (2010-01-15 (金) 11:58:25)~
~
プログラム言語をRで初めて学んでいます。~
かなりの初心者なので、質問内容に至らない点があるかと思い...
~
今回牧山先生の解説(http://www1.doshisha.ac.jp/~mjin/R/20...
その際に使われるmaptoolsパッケージの"read.shape"という関...
「エラー: 関数 "read.shape" を見つけることができません...
きちんとmaptoolsパッケージを呼び出してから実行しています...
~
これはmaptoolsパッケージが中途半端にしかインストールでき...
それを確認・修正する方法をご教授いただければ幸いです。~
~
※アプリケーションが古いのかと思い、再度Rをversion 2.10.1...
※念のため使用環境を掲載いたします。~
> sessionInfo()~
R version 2.10.1 (2009-12-14) ~
i386-pc-mingw32 ~
~
locale:~
[1] LC_COLLATE=Japanese_Japan.932 LC_CTYPE=Japanese_Japa...
[3] LC_MONETARY=Japanese_Japan.932 LC_NUMERIC=C ...
[5] LC_TIME=Japanese_Japan.932 ~
~
attached base packages:~
[1] stats graphics grDevices utils datasets met...
~
other attached packages:~
[1] maptools_0.7-29 lattice_0.17-26 sp_0.9-47 forei...
~
loaded via a namespace (and not attached):~
[1] grid_2.10.1 tools_2.10.1~
//
- 補足です。関数"Map2poly"も同様に使うことができませんで...
- 「これはmaptoolsパッケージが中途半端にしかインストール...
- library(help=maptools) とやってご覧なさい。read.shape ...
- 仰る通りでした。いくつかの関数がなくなっているようです...
- 金先生の「maptoolsのクラス・オブジェクト」の稿を見てい...
library(maptools)
Map<-readShapePoly("C:/GISdata/gunma.shp")
plot(Map)
- もし、わからないことがあれば名指ししていただければ、お...
- >Okinawa様 丁寧な解説ありがとうございます。教えていた...
- maptoolsdemo.txtをS4クラス用に作り直してみますので、少...
- ちなみに、readShapePolyで作成されたクラスは、Map2polyで...
- >Okinawa様 お返事が遅くなりました、ご回答ありがとうご...
- [[空間的なデータの分析]]の地図作成練習用データ(Windows...
- >Okinawa様 ありがとうございました、参考にさせていただ...
**文字列の検索について [#n936a39b]
>[[aoi]] (2010-01-14 (木) 12:38:13)~
~
いつも丁寧に答えてくださり本当にありがとうございます。~
拙い質問で申し訳ないのですが、よろしくお願いします。~
grep関数で文字列の検索を行っています。~
~
糖鎖の構造についての文字列の検索を行っているのですが、~
例えば以下のような構造だったら~
Fuca1-2Galb1-4GlcNAcb1-2Mana1-3(Fuca1-2Galb1-4GlcNAcb1-2M...
~
末端の構造、つまり最初のFucだけ取り出したいと思っています...
上記のような構造でしたら~
grep("^Fuc",mixmix_rownames)
のように出すことが出来るのですが~
ただ、grepの正規表現にひっかかってしまって~
例えば~
a-D-Gal-Sp8~
だと~
Galを出したいのですが~
grep("^Gal",mixmix_rownames)
で出すことが出来ません。~
また、~
[3OSO3][6OSO3]Galb1-4[6OSO3]GlcNAcb-Sp0~
のような構造でもGalを出したいのですが、出すことが出来ませ...
~
grep("[3OSO3]",mixmix_rownames,fixed=TRUE)
にすると正規表現を無視することが出来るので、文字列が一致...
そうすると末端構造(最初のGal)だけを取り出すことが出来ま...
~
ちなみに~
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-apple-darwin8.11.1
です。~
~
よろしくお願いします。~
//
- 「末端構造(最初のGal)」というようなことが,一般の言葉...
- grep("([^[:alnum:]]|^)Gal", foo) とかかな? 何をもって最...
- こんな感じかしら.
> mixmix_rownames <- c(
+ "Fuca1-2Galb1-4GlcNAcb1-2Mana1-3(Fuca1-2Galb1-4GlcNAcb...
+ "a-D-Gal-Sp8",
+ "[3OSO3][6OSO3]Galb1-4[6OSO3]GlcNAcb-Sp0"
+ )
>
> grep("^([A-z]-|\\[\\w*\\])*Fuc", mixmix_rownames, perl...
[1] 1
> grep("^([A-z]-|\\[\\w*\\])*Gal", mixmix_rownames, perl...
[1] 2 3
>
「これでは網羅できていない」に100カノッサ -- [[surg]] &ne...
- 皆さん言っておられることは,オンラインヘルプ ?grep を参...
- 迅速なコメント本当にありがとうございます!コメントが遅...
補足させていただきます。
Fuca1-2Galb1-4GlcNAcb1-2Mana1-3を例にするとFucがフコース...
N-アセチルグルコサミン、Manがマンノースというように糖鎖を...
単糖を取り出したいのです。
[3OSO3][6OSO3]Galb1-4[6OSO3]GlcNAcb-Sp0の場合は[3OSO3][6O...
a-D-Gal-Sp8だとa-D-は省きたい、という意味です。よろしくお...
-- [[aoi]] &new{2010-01-14 (木) 23:26:36};
- やはり、あなたの返事は何の情報も与えない。糖鎖の配列や...
- 文字列と解釈した場合に糖鎖の文字列が多数あった場合に、...
- イメージとしてはこんな感じです。
grep("^Man",mixmix_rownames,value=TRUE)
[1] "Mana1-3(Mana1-6)Manb1-4GlcNAcb1-4GlcNAcb-Sp13" ...
[2] "Mana1-2Mana1-2Mana1-3Mana-Sp9" ...
:
[19] "Mana1-3(Galb1-4GlcNAcb1-2Mana1-6)Manb1-4GlcNAcb1-4...
[20] "[3OSO3][6OSO3]Manb1-4[6OSO3]GlcNAcb-Sp0"
[21] "b-D-Man-Sp8"
この内1から19は今も出せているのですが、20と21は出せて...
- 提案された3つの案は,どれもちゃんとあなたの望む結果を出...
- [[バイオインフォマティクスでの利用について:http://www.o...
- すみません。理解して、やってみている途中です。1から19に...
- PerlやRubyで書いたことが無いのです。Cはやったことがあっ...
- 「わざわざRを使う作業なのかなあ」と仰いますが,R でもで...
- ご意見、至極、同感です.そして、裾野が広がり、Rならでき...
私たちの分野では、配列解析はbioperlやbiorubyが充実してお...
**RODBCのSQL文(sqlQuery)でテーブル名の一部を別の変数か...
>[[hassyy]] (2010-01-14 (木) 04:09:07)~
~
長いタイトルで申し訳ありません。よろしくお願い申し上げま...
~
Windows版R(ver2.9.0)にRODBC_1.3-1をインストールして作業...
RからAccess2003で作成したmdb内のクエリの結果に接続して、...
下記のように記載し、問題なくクエリに接続できて、必要なデ...
conndb <- odbcConnectAccess("Data.mdb")
dat <- sqlQuery(conndb, "select * from [query1]")
上記例のquery1の他に同じレイアウトのクエリが数種類あり、...
conndb <- odbcConnectAccess("Data.mdb")
list <- c(query1, query2,,,,query11)
for (i in list){
dat <- sqlQuery(conndb, "select * from [i]")
** datに対する処理 **
}
のような感じでソースをかけるとよいと思ったのですが、上記...
どのようにすればよろしいのでしょうか?~
//
- 未検証ですが、こうかな? -- &new{2010-01-14 (木) 08:4...
conndb <- odbcConnectAccess("Data.mdb")
list <- 1:11
for (i in list){
tablename<-paste("query",i,sep="")
qtext<-paste("select * from ",tablename,sep="")
dat<-sqlQuery(conndb,qtext)
#** datに対する処理 **
}
- ありがとうございます! SQL文のオブジェクトを作って実行...
**biplotで特定のデータだけを表示したい [#n842984c]
>[[kum]] (2010-01-13 (水) 21:52:01)~
~
失礼かと思いますが、わからない点があるので連続で投稿させ...
~
例えばcsvファイルに100個のデータがあるとして、biplotで表...
ご教授ください。~
//
- 全部のデータを読み取って,そのうちの特定の行だけを使え...
- 素早いお答えありがとうございます。私の説明不足でしたが...
- > biplot(PC)[,1:100] とすると NULL という文字と全て載...
~
思いつきで,いい加減な指定をあれこれやってみても無理ですよ...
? biplot してみましたか?~
biplot の最初の二つの引数の最初のものが,主成分得点ですか...
> ans.prcomp <- prcomp(iris[,1:4]) # 例として iris デー...
> suffix <- c(45, 6, 78, 90, 99, 113, 145) # 描画したい...
> biplot(ans.prcomp$x[suffix,], ans.prcomp$rotation, xla...
- ご教授なされたのと同様にして
> PC <- princomp(~A+B+C+D+E+F+G+H, cor=TRUE,data=X)
> suffix <- c(2,3,4,5,6,7,8,9,10)
> biplot(PC$x[suffix,], PC$rotation, xlabs=suffix)
としたのですが「エラー dimnames(x) <- list(xlabs, dimname...
- ? princomp または str(princomp の返すオブジェクト) をし...
- princompの場合、主成分得点は x ではなく scores に入っ...
> suffix <- 2:10
> biplot(PC$scores[suffix,], PC$rotation, xlabs=suffix)
としたところ「以下にエラー 1L:p : 引数の長さが0です」と...
- ? princomp 熟読のこと。variable loadings は loadings に...
- 下の
> biplot(PC$scores[suffix,], PC$loadings, xlabs=suffix)
と書いたところ表示できました。熱心にご教授くださって感謝...
- そのようにするには、今の場合プログラムをいじるしかない...
まず、元のプログラムを別の名前にコピーして
biplot2 <- stats:::biplot.default
プログラムを編集する
biplot2 <- edit(biplot2)
この後、編集ウインドウで以下の2か所を追加・変更
function (x, y, var.axes = TRUE, col, cex = rep(par("cex...
xlabs = NULL, ylabs = NULL, expand = 1, xlim = NULL,...
arrow.len = 0.1, main = NULL, sub = NULL, xlab = NUL...
suffix=suffix, # 追加
:
# text(x, xlabs, cex = cex[1L], col = col[1L], ...) 変更
text(x[suffix,], xlabs[suffix], cex = cex[1L], col =...
編集されたプログラムを保存する。
実際に関数を呼び出すのは以下のようにする。関数名、引数の...
biplot2(PC$scores, PC$loadings, suffix=suffix)
- 重ね重ねありがとうございます。これで研究を進めることが...
**biplotで表示した図の保存の方法 [#z514b218]
>[[kum]] (2010-01-13 (水) 18:03:45)~
~
初めまして,kumと申します。~
~
研究で主成分分析を行うことになったのでRを導入し,結果も得...
そこで,biplot(PC)で描かれた図を保存してレジュメに貼ろうと...
このwikiの「R による EPS 画像の作成とその LATEX への取り...
Y <- biplot(PC) や Y <- PC として data(Y) としたとこと...
どなたか解決法をご教授ください。~
//
- WindowsでRguiを使っているならばファイルメニューから保存...
- お答えありがとうございます、dev.copy2epsで無事保存する...
**【項目反応理論】既知のパラメータを使って能力値推定 [#y4...
>[[parade]] (2010-01-13 (水) 17:44:36)~
~
潜在特性モデル・項目反応理論のパッケージltmを使って、ある...
このパラメータを使って、別の集団Bの成員の能力値を推定した...
~
また、初めに求めたパラメータのうちのいくつかだけを使って...
~
どうぞよろしくお願いいたします。~
//
**丸投げですみません。 [#o813aa05]
>[[gomen]] (2010-01-11 (月) 16:47:33)~
~
自由評価(0〜100点)のレビューサイトで、Aさん平均点6...
ただし、この時の各作品の平均点の上昇に対する~
影響力はBさんの方がAさんより凄く高くなります。~
簡単に書くと、同じ審査員なのに影響力が凄く違うと不平等な...
でも、処理方法をマスター出来そうに無いので誰か協力してく...
~
目的、本当の価値が知りたい。~
自由点数だと平均点60の70点(少しおもしろいに相当する)...
(現実の差 平均点60で100作=計6000点と平均点8...
~
以下、理論~
Aさんは平均点60点なので60点の作品というのは平凡な作品に...
仮に推定順位50位とします。~
Bさんは平均点80点なので80点の作品というのは平凡な作品に...
同じく推定順位50位にするべきと思います。~
後は最高点と最低点ですが、ABどちらにしても、それが推定順...
~
処理方法のルール~
後は点数の書かれたボールを、その0〜50位の仮想ゲージと...
(同様の分離により、32分割する事も可能と思いますが、補...
点数の種類が少ない時(5〜8個以下と思う)は0〜101位...
点数の種類が1種類の時は50位にしかならないので無効とし...
~
使用データー~
CSVファイルから、会員IDはあるけれど会員番号が振られ...
作品数1万ぐらい、会員数1.5万ぐらい、総カルテ数50万ぐ...
//
//- 標準化得点(偏差値)でも使えばいかがかな? -- [[河童...
- あのう、、よく分からない中でテキトーなことを書くのはど...
それから、スキルがまったく無いなら処理は業者へ頼まれた方...
- SQLでも可能っぽいのでSQLで協力者さがします。 -- [...
**ポアソン回帰と負の二項回帰 [#if2325bb]
>[[初心者]] (2010-01-10 (日) 23:14:19)~
~
「回数」が被説明変数になるデータをポアソン回帰と負の二項...
//
- これは質問ではありませんね.自分で勉強しなさい. -- &n...
- 金先生のページでいうと、 http://www1.doshisha.ac.jp/~mj...
- どうもご丁寧にありがとうございました。金先生のページを...
**マルチアンサーのクロス集計は可能でしょうか? [#u9bb6d61]
>[[勉強中]] (2010-01-07 (木) 18:00:10)~
~
よろしくお願いします。~
~
アンケートを実施して、結果をEXCELにまとめる際に、マルチア...
1つのカラムに 「2,3,5」 のようにまとめているとします。~
~
例えば
id Q1 Q2 Q3
1 2 1,3,7,9,10 1
2 3 2,5 1
3 4 3 1
4 1 4,6 1
5 2 6,7 2
6 3 10 2
7 3 3,4 2
8 4 2,5,6,7,8,9 2
9 1 1,2,4 2
10 3 5,7 2
こういった際に、Rでクロス集計は可能でしょうか?~
~
まだアンケート実施前で、できればRでやりたいのですが、集計...
~
R 2.9.2~
windows XP sp3~
~
よろしくお願いします。~
//
- 「マルチアンサーのクロス集計」というのが,どういうこと...
Q2 <- data.frame(t(sapply(a$Q2, function(s) {
val <- numeric(10)
sufix <- as.integer(unlist(strsplit(as.character(s), ",...
val[sufix] <- 1
return(val)
})))
実行後の Q2 は以下の通り
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
1 1 0 1 0 0 0 1 0 1 1
2 0 1 0 0 1 0 0 0 0 0
3 0 0 1 0 0 0 0 0 0 0
4 0 0 0 1 0 1 0 0 0 0
5 0 0 0 0 0 1 1 0 0 0
6 0 0 0 0 0 0 0 0 0 1
7 0 0 1 1 0 0 0 0 0 0
8 0 1 0 0 1 1 1 1 1 0
9 1 1 0 1 0 0 0 0 0 0
10 0 0 0 0 1 0 1 0 0 0
- 迅速なご回答ありがとうございます。参考にさせて頂き、プ...
**複数のデータセットにフィットするために [#hcff0cab]
>[[Tiana]] (2010-01-05 (火) 17:39:26)~
~
はじめまして,留学生のTianaです.~
~
lm関数を使って重回帰解析を行っています.~
質問の便宜上,以下の回帰式を使用させていただきます.~
z=c+ax+by~
ただし,zは応答変数,x,yは説明変数,a,b,cは回帰係数です.~
~
lm(z〜x+y,data=dataset1)のようにすれば,dataset1に基づい...
求めたいのは,各々のデータセットの最適解ではないかもしれ...
~
この問題を解決する方法はどなたかご存知でしょうか?~
日本語が下手で失礼な文面はあったかもしれませんが,教えて...
~
よろしくお願い致します.~
//
- すべてのデータセットをまとめて,lm 関数を使えばよいと思...
例えば,データセットが3つあれば,~
alldata <- rbind(dataset1, dataset2, dataset3)
lm(z〜x+y,data=alldata)
のようにする。~
あなたの望をかなえるためには,以下のように optim 関数を使...
> # テストデータとして,このようなデータセットを作り
> data1 <- structure(list(x = c(47.8, 48.2, 62.6, 31.1, ...
+ 48.4, 59.4, 60.4), y = c(65.5, 34.7, 57.5, 46.3, 46, 6...
+ 50.3, 58.5, 45.4), z = c(62, 52.2, 57.1, 46.3, 35.1, 5...
+ 48.8, 64.9, 50.3)), .Names = c("x", "y", "z"), row.nam...
+ -10L), class = "data.frame")
> #
> data2 <- structure(list(x = c(56.1, 43.3, 39.5, 52.5, ...
+ 56.1, 62.5, 58), y = c(49.6, 46.8, 54.3, 38.4, 34.5, 6...
+ 65.2, 49.9, 41), z = c(60.1, 45, 44.1, 31.2, 38.2, 60,...
+ 56.7, 64.2, 50.2)), .Names = c("x", "y", "z"), row.nam...
+ -10L), class = "data.frame")
> #
> data3 <- structure(list(x = c(50.5, 50.7, 60.8, 49.5, ...
+ 39.5, 57), y = c(60.4, 55.3, 58.1, 32.6, 62.3, 43.5, 3...
+ 46.3, 54.1), z = c(39.7, 51.7, 62.1, 36.2, 54.5, 56.8,...
+ 53.7, 51.7, 61.8)), .Names = c("x", "y", "z"), row.nam...
+ -10L), class = "data.frame")
> #
> # 残差平方和の和を求めるために,このような関数を定義して
> func <- function(par)
+ {
+ c <- par[1]
+ a <- par[2]
+ b <- par[3]
+ return(sum(
+ (data1$z-c-a*data1$x-b*data1$y)^2+
+ (data2$z-c-a*data2$x-b*data2$y)^2+
+ (data3$z-c-a*data3$x-b*data3$y)^2
+ ))
+ }
> #
> # このように optim 関数を使えばば,解が求まります
> ans1 <- optim(c(1,1,1), func)
> options(digits=20)
> ans1$par # 順に,Intercept, a, b の値
[1] 5.1494284959399153 0.4486484068519486 0.448418485576...
> #
> # 全部のデータを一緒にして lm をやるとちょっと違う解に...
> ans2 <- lm(z~x+y, rbind(data1, data2, data3))
> ans2$coefficients # 順に,Intercept, a, b の値
(Intercept) x y
5.1698189750573782 0.4486579549173459 0.4480422838232404
# しかし,違いが出るのは収束判定が甘いからというのが一つ...
# 以下のようにすれば,全部のデータを一緒にして lm をやっ...
> ans3 <- optim(c(1,1,1), func, control=list(reltol=1e-1...
> ans3$par
[1] 5.1698211304708774 0.4486577795757830 0.448042459712...
図に描いてよく考えれば,別々のデータセットに同じ回帰平面...
以下の図を,赤,青,黒の3枚に分解したグラフと比較すればお...
&ref(fit.lm.png);
- ご丁寧な回答,ありがとうございました.いくつか更なる質...
- > 今回扱うデータは時系列データなので,rbindを使うこと...
例えば,EuStockMarkets のような,mts クラスのデータセット...
> 初期値の指定によっては,推定結果はかなり大きく異なった...
適切な初期値を与えるためには試行錯誤が必要でしょう。~
というか,結局は,全部のデータセットをひとまとめにして lm...
> lm関数の実行結果のように,残差,p値,修正済み決定係数...
できません。得られたパラメータから,自分で計算しなければ...
- 早速なご回答,誠にありがとうございます.~
zi,xi,yiをそれぞれ時刻iにおける売上,客数,商品在庫数とし...
x,y,z三者の関係を周期1日でみますと,2つのデータセットでは...
データセット2つをrbindでつなげて推定すれば,二日間を通し...
rbindを使って求めた結果は,「一日における三者関係」ではな...
ご意見をお待ちしております.~
よろしくお願い致します. -- [[Tiana]] &new{2010-01-06 (水...
- そもそも,時間は独立変数に入れていないのでしょう?だっ...
連続する日時の独立変数と従属変数は元のままの順に並んでい...
以下に,テストデータと実行プログラムとその結果を掲示して...
> data1 <- structure(c(60.7, 63.8, 62.8, 59.5, 50, 54.3,...
+ 118.2, 142.7, 101.8, 78.8, 51.7, 56.3, 90.1, 125.9, 16...
+ 179, 134.6, 100.3, 69.1, 39.4, 31.2, 26.8, 26.8, 31.2,...
+ 31.2, 33.6, 36, 40.8, 47.6, 51.2, 42.7, 29.2, 32.4, 34...
+ 50.8, 60.2, 67.8, 72.9, 60.4, 27.6, 34, 26.7, 21.3, 27...
+ 23.8, 27.5, 25, 23.5, 27.8, 38.7, 33.9, 56.5, 21.5, 24...
+ 25.2, 32.5, 29.2, 20.7, 37.1, 27.5, 19.3, 22, 14.6, 10...
+ 3L), .Dimnames = list(NULL, c("z", "x", "y")), .Tsp = ...
+ 1), class = c("mts", "ts"))
>
> data2 <- structure(c(60.9, 43.5, 42, 55.3, 61.4, 61.4,...
+ 107.4, 79.8, 85.4, 74.2, 47.1, 66.5, 73.7, 98.7, 159.1...
+ 128.9, 95.7, 65.5, 45, 34.8, 28.4, 28.4, 34.8, 37.6, 3...
+ 45.6, 49.4, 51.2, 42.8, 46.4, 44, 29.2, 24.4, 24, 33.6...
+ 62.7, 64.9, 40.4, 32.9, 14.8, 14, 18.4, 19.5, 18.1, 25...
+ 22.4, 22.9, 20.1, 29.5, 46.2, 31.3, 33, 26.4, 23.9, 20...
+ 13.7, 17.7, 34.3, 45.8, 38.2, 30.2, 20.4, 12.1, 9.1), ...
+ 3L), .Dimnames = list(NULL, c("z", "x", "y")), .Tsp = ...
+ 1), class = c("mts", "ts"))
>
> data1
Time Series:
Start = 1
End = 24
Frequency = 1
z x y
1 60.7 31.2 21.3
2 63.8 26.8 27.5
3 62.8 26.8 23.3
略
23 69.1 34.0 14.6
24 39.4 26.7 10.6
>
> alldata <- data.frame(rbind(data1, data2))
> ans.lm <- lm(z ~ x+y, alldata)
> plot(alldata$z, type="l")
> lines(fitted.values(ans.lm), col="red")
> summary(ans.lm)
Call:
lm(formula = z ~ x + y, data = alldata)
Residuals:
Min 1Q Median 3Q Max
-35.4932 -14.6937 0.3991 9.1139 41.6834
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -19.1196 8.7029 -2.197 0.0332 *
x 2.3930 0.2396 9.986 5.43e-13 ***
y 0.5314 0.3407 1.560 0.1259
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1...
Residual standard error: 18.07 on 45 degrees of freedom
Multiple R-squared: 0.7988, Adjusted R-squared: 0.7898
F-statistic: 89.32 on 2 and 45 DF, p-value: < 2.2e-16
&ref(lmfit2.png);
- 分かりやすいご説明ありがとうございました.やっと疑問を...
- > 2つのデータセットの順番を変えて推定しても結果はほぼ...
lm の結果は,「ほぼ一致する」のではなく,「完全に一致」し...
- >zi,xi,yiをそれぞれ時刻iにおける売上,客数,商品在庫数...
- 多重共線性があるかないかは,質問者のデータによるでしょ...
- たびたびすみません.時刻を独立変数とした場合はどうすれ...
- 結局,全部のデータを使えばよいと言うことがわかったでし...
上の data1, data2 をこの順で繋いで,23 個のダミー変数を付...
d <- data.frame(diag(24)[,-1])
colnames(d) <- paste("H", 1:23, sep="")
alldata <- rbind(data.frame(data1, d), data.frame(data2,...
ans.lm <- lm(z ~., alldata)
plot(alldata$z, type="l")
lines(fitted.values(ans.lm), col="red")
summary(ans.lm)
結果
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.6278 16.9593 -0.096 0.9244
x 1.6980 0.3435 4.943 6.05e-05 ***
y 0.5798 0.4462 1.299 0.2073
H1 -4.8058 14.1831 -0.339 0.7379
H2 -12.3011 14.2281 -0.865 0.3966
H3 -11.8486 14.2191 -0.833 0.4136
H4 -13.1716 14.3102 -0.920 0.3673
H5 -10.1022 14.2485 -0.709 0.4858
H6 -10.4521 14.5318 -0.719 0.4796
H7 2.0627 15.2537 0.135 0.8937
H8 6.3584 18.0933 0.351 0.7286
H9 18.7776 16.0356 1.171 0.2541
H10 4.0706 18.9812 0.214 0.8322
H11 7.7339 14.9545 0.517 0.6102
H12 14.5447 14.2227 1.023 0.3176
H13 -9.8345 14.1444 -0.695 0.4942
H14 2.6706 14.1637 0.189 0.8522
H15 6.2902 14.4251 0.436 0.6670
H16 20.5260 15.3697 1.335 0.1954
H17 44.2918 18.1046 2.446 0.0229 *
H18 33.4838 21.1097 1.586 0.1270
H19 40.3405 17.7626 2.271 0.0333 *
H20 23.2166 15.3865 1.509 0.1456
H21 36.2390 14.4325 2.511 0.0199 *
H22 10.1858 14.6057 0.697 0.4929
H23 -5.2729 15.0943 -0.349 0.7302
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1...
Residual standard error: 14.12 on 22 degrees of freedom
Multiple R-squared: 0.9399, Adjusted R-squared: 0.8717
F-statistic: 13.77 on 25 and 22 DF, p-value: 1.880e-08
&ref(lmfit3.png);
- たびたびすみません.時刻を独立変数にした場合はどうすれ...
- 上にあなたが昨夜書いた質問があり,直前のコメントがそれ...
**対応分析について [#ffcd116f]
>[[ろんどん]] (2010-01-04 (月) 13:01:14)~
~
R 2.10.0にて対応分析をしようとしています。~
エラーが出て、エラーの意味がよくわかりません。~
エラーの意味と、対策方法を教えて頂きたく思います。~
~
データは、9個の物に対して18の質問項目について答えても...
8 8 6 7 6 6 4 6 9
6 7 6 6 6 7 4 7 6
2 1 2 7 1 1 1 1 6
0 0 1 7 0 2 0 0 6
0 0 0 2 0 0 0 0 13
0 0 0 11 0 2 1 0 9
1 5 7 5 4 3 1 5 4
0 1 0 2 0 0 2 3 8
1 3 3 8 3 5 2 4 9
2 3 4 5 3 4 3 3 8
0 0 0 2 0 1 0 2 9
6 5 2 0 2 2 9 10 2
0 0 0 0 0 0 0 2 5
0 1 1 1 1 0 1 1 4
1 1 1 2 1 1 1 2 2
2 2 3 4 7 7 9 9 10
2 2 2 7 2 4 3 3 7
1 2 3 3 2 2 2 2 4
~
以下プログラムです。
> library(ca)
要求されたパッケージ rgl をロード中です
> w<-read.table("C:/deta1.txt")
> Sdata<-matrix(0,18,9)
> for(i in 1:18){Sdata[,i]<-w[,i]}
以下にエラー `[.data.frame`(w, , i) : undefined columns...
> cor<-ca(Sdata,9)
> x<-matrix(0,27,18)
> x[1:18,1:18]<-cor$rproj
以下にエラー x[1:18, 1:18] <- cor$rproj :
置き換えるべき項目数が,置き換える数の倍数ではありま...
> x[19:27,1:18]<-cor$cproj
以下にエラー x[19:27, 1:18] <- cor$cproj :
置き換えるべき項目数が,置き換える数の倍数ではありま...
> plot(x[,3],x[,4],type="n")
> text(x[,3],x[,4],labels=c("A","B","C","D","E","F","G",...
"N","O","P","Q","R","1","2",...
> abline(0,0,0,0)
ご教授よろしくお願い致します。~
//
- for(i in 1:18) {Sdata[,i]<-w[,i]} の w[,i] などは,w の...
それと,ca が返す要素に $rproj とか $cproj というのはない...
abline の使い方も変です。~
結局,以下のプログラムでよいのでは? -- [[河童の屁]] &ne...
library(ca)
w <- read.table("C:/deta1.txt")
Sdata <- w # 代入する意味はないと思うが
cor <- ca(Sdata, 9)
x <- rbind(cor$rowcoord, cor$colcoord)
plot(x[, 3], x[, 4], type="n")
text(x[, 3], x[, 4], labels=c(LETTERS[1:18], 1:9)) # こ...
abline(h=0, v=0) # 要するに座標軸を描きたかった?
また,ca の plotメソッドが使えるのだから,一番簡単にやり...
&ref(plot-ca.png);
- 河童の屁様早速のご回答、わかりやすいご説明ありがとうご...
**バイオインフォマティクスでの利用について [#v16dd752]
>[[MiK]] (2009-12-29 (火) 09:28:09)~
~
Rを使ったバイオインフォマティクスに関する質問です、Rの質...
~
IPI(International Protein Index)のデータベース内のipi番号...
~
私の知っている範囲では、BiomRtパッケージの中からgetBMを使...
getBM(attributes = c("ipi","pfam"), filters = "ipi", val...
mart=useMart("ensembl",dataset="ggallus_gene_ensem...
この場合、
ipi pfam
IPI00883220 PF04818
という値が返ってきます。これはIPI00883220がipiと同時にens...
~
しかし、たまに正常に働かないipi番号が存在します。~
例えばvalue="IPI00883261"に変えて上記のプログラムを動かすと
ipi pfam
IPI00883261 PF01111
という値が期待されますが、実際には~
[1] ipi pfam
<0 rows> (or 0-length row.names)
と返ってきてしまいます。~
~
これは、IPI00883261がipiデータベースには存在するが、ensem...
~
そこで、この問題を回避するために直接ipiのデータベースを参...
//
- ライブラリはbiomaRtが正しいです。で、ご質問ですが、ense...
あなたがperlかrubyが使えるなら[[ここ:http://www.ebi.ac.uk...
今回のような単純作業なら[[これ:http://www.ebi.ac.uk/Tools...
- ありがとうございます。参考にしてみます。一見したところ...
- データベスがどのような構造になっているのかよくわかりま...
> set.seed(11111)
> data.base <- data.frame( # データフレームの例(1万行)
+ ipi=sprintf("IPI%08i", sample(99999999, 10000)),
+ pfam=sprintf("PF%05i", sample(99999, 10000)))
> head(data.base) # こんな風な構造になっている(する)
ipi pfam
1 IPI50144832 PF35844
2 IPI97023278 PF04626
3 IPI78760034 PF42298
4 IPI90222583 PF08148
5 IPI81417775 PF11722
6 IPI79989218 PF66366
> ipi <- c("IPI43502178", "IPI55223826", "IPI46947973",
+ "IPI98703034", "IPI49743044") # 5 個の ipi コ...
> lapply(ipi, function(x) data.base[data.base[,1] == x,]...
[[1]]
ipi pfam
7733 IPI43502178 PF34214
[[2]]
ipi pfam
3813 IPI55223826 PF36706
[[3]]
ipi pfam
1138 IPI46947973 PF39932
[[4]]
ipi pfam
6900 IPI98703034 PF00650
[[5]]
ipi pfam
1835 IPI49743044 PF48089
- タンパクに限らず、bioinformaticsではperl&MySQLが多い印...
**時系列データのグラフ化 [#md6aced1]
>[[はぜ]] (2009-12-22 (火) 11:56:00)~
~
初心者です。~
投稿ミス等ありましたらご容赦ください。~
横軸に日付、縦軸に数量をとった折れ線グラフを作成していま...
とりあえずグラフはできたのですが、調査期間中毎日データを...
データのない期間があると、その期間の前後の点が線で結ばれ...
データのない期間は数量0として扱いたいのですが、どなたかい...
元データには、データのない日付は入力されていません。~
OSはWindowsXP、Rヴァージョンは2.10.0です。~
よろしくお願いします。~
//
- うまい方法を探すのに時間を費やすより,簡単確実なプログ...
今はどんなプログラムで描いているのか分からないのだけど,...
もうちょっとエレガントなプログラムも書けるだろうけど,そ...
x <- structure(c(14601, 14602, 14603,
14605, 14606, 14607, 14608, 14609, 14610,
14615, 14616, 14617, 14618, 14619,
14621, 14622, 14623), class = "Date")
y <- c(23L, 24L, 44L, 25L, 13L, 12L, 11L, 13L, 29L,
45L, 30L, 42L, 39L, 38L, 31L, 13L, 19L)
plot(x, y, xaxt="n")
axis.Date(1, x, format="%m-%d")
for (i in 1:(length(x)-1)) {
if (x[i+1]-x[i] == 1) segments(x[i], y[i], x[i+1], y[i+...
}
&ref(oresen.png);
- 「データのない期間は数量0」と言うのは調査の結果が0だっ...
xx<-seq(min(x),max(x),"day")
yy<-rep(NA,length(xx))
yy[xx%in%x]<-y
plot(xx,yy,type="b") # 欠損値は線で結びません.
で良いのです. -- &new{2009-12-22 (火) 13:01:47};
- コメントありがとうございます。
お二人のご指摘から自分の間違い&説明不足に気付きました。...
どのような調査を行っているかというと、野外にビデオカメラ...
ですので、連続で観察はしているのですが、観察されなかった...
このデータから日付ごとに個体数を集計してグラフ化させたい...
集計にはtapply関数を使いました。
現状では以下のようなプログラムになっています。
たびたびお手数をおかけして申し訳ありませんが、よろしくお...
ana <- d.sub[d.sub$SP== "a",]
ana.sub <- data.frame(tapply(ana$DATE, ana[, c("Date",...
ana.sub[is.na(ana.sub)] <- 0
ana.sub$total <- ana.sub$d + ana.sub$u
ana.sub$DATE <- as.Date(rownames(ana.sub))
rownames(ana.sub) <- 1:nrow(ana.sub)
ana.sub$ID <- rownames(ana.sub)
cumulative.t <- c()
cum.t <- 0
for(i in 1:nrow(ana.sub)) {
d.sub <- ana.sub[ana.sub$ID == i,]
sub.t <- d.sub$total
cum.t <- cum.t + sub.t
cumulative.t <- c(cumulative.t, cum.t)
}
ana.sub$cum.t <- cumulative.t
plot(ana.sub$DATE, ana.sub$cum.t, col ="red", type ="l...
axes = FALSE,las =1,
xlim = c(as.Date("2009-08-01"), as.Date("2009-12-...
ylim = c(0, max(ana.sub$cum.t)*1.1),
ylab ="", main = "")
lines(ana.sub$DATE, ana.sub$total, col = "blue")
lines(ana.sub$DATE, ana.sub$d, col ="orange")
lines(ana.sub$DATE, ana.sub$u, col = "green")
axis(1, at = as.Date(v.date), labels = F, pos = 0)
axis(2, las = 1, pos = as.Date("2009-08-01")) -- [[...
- 要するに一日あたり観察数を集計するという,折れ線図を描...
観察対象を察知したときにその日付と時刻が記録されると。。。
例えば以下のようなデータですね
> head(t)
[1] "2009-08-01 05:20:30 JST" "2009-08-01 06:10:34 JST" ...
[4] "2009-08-01 10:50:19 JST" "2009-08-01 22:41:56 JST" ...
これを日付単位に何件であったか集計する。と。~
まず,日付の部分(この例だと,1文字目から10文字目まで)を...
d <- substr(t, 1, 10)
それを table 関数で集計するだけ。では?
> table(d)
d
2009-08-01 2009-08-02 2009-08-04 2009-08-05 2009-08-08
5 6 5 4 3
以下略
あとは,先ほどのコメントにある方法で,table(d) を縦軸(頻...
長いプログラムだけ見せられても,テストデータがないと実行...
- ありがとうございます。早速試して見ます。投稿法、次回か...
**行列の回転 [#naa19a94]
>[[GYOU]] (2009-12-21 (月) 23:47:04)~
~
こんにちは。~
Rには行列を時計回りや反時計回りに回転する関数は無いのでし...
例えば~
1 2
3 4
という行列を時計回りに90度回転して~
3 1
4 2
という具合です。~
過去ログを探しましたが、グラフの文字列を回転する話ばかり...
//
- 自作するというほどのことでもなくない? -- [[にせ河童]] ...
m <- matrix(1:16, 4, byrow=T)
n <- m
for(i in 1:ncol(m)){ n[i,] <- rev(m[,i]) }
for(i in 1:ncol(m)){ n[,i] <- rev(m[i,]) }
- 基本的には t(apply(m, 2, rev)) で時計回り90度回転,appl...
このやり方だと,正方行列でない場合もちゃんと回転できます...
- 例文の紹介ありがとうございます。確かに1~2行でできますね...
**次の図を見るためには<Return>キーを押して下さいと表示さ...
>[[ai]] (2009-12-14 (月) 23:45:42)~
~
抽象的な質問で申し訳ありませんが,plot(ほにゃらら)とコマ...
次の図を見るためには<Return>キーを押して下さい:
と連続して表示される4つの図をepsに保存したいのですが,~
par(mfrow=c(2, 2))
を使っても,最初の図しか保存されません。~
どうしたらすべての図,または,3番目といったひとつの図をep...
//
- 最初に par(ask=FALSE) もしくは devAskNewPage() とした...
- 手動で保存するのではなく自動で保存したいんですよね。フ...
個人的には pdf の方が好きですが,postscript の代わりに pd...
x <- rnorm(100)
y <- rnorm(100)
a <- lm(y~x)
postscript("test%i.ps", width=300, height=200, onefile=F...
plot(a)
dev.off()
- 300 inch x 200 inchは大きすぎるのでは。元質問者の方の「...
- おっしゃるとおりですね。postscript はインチで指定するの...
par(ask=TRUE/FALSE) は "its use is deprecated in favour o...
> x <- rnorm(100)
> y <- rnorm(100)
> a <- lm(y~x)
> plot(a)
ページ変更を確認するまで待機中... # Windows 版でも同じ...
ページ変更を確認するまで待機中... # 変わったのだろうか
ページ変更を確認するまで待機中... # スクリーン・デバイ...
ページ変更を確認するまで待機中... # 「クリックまたはENT...
> devAskNewPage() # FALSE なのに聞いてくる
[1] FALSE
いつから変わったのかな。 -- [[河童の屁]] &new{2009-12-15 ...
- 自動で保存したいんですよね>はいそうです。河童の屁さん,...
**plot(ksvm)について [#a6e585db]
>[[lemon]] (2009-12-14 (月) 13:44:20)~
~
kesvmでplot(data.ksvm,data=x.cl[,1:2])の出力結果の意味が...
図の▲や●はデータを示すと思われるのですが、図の右側の濃淡...
説明が載っているところがあればお教え下さい。~
//
- ? plot.ksvm -- &new{2009-12-14 (月) 15:45:02};
- 有難うございます。分類が確からしいところが濃くなるとい...
**ダイナミックパネルデータ分析について [#mf03d24a]
>[[TAK]] (2009-12-14 (月) 11:12:06)~
~
R初心者です。~
マザーズなどの上場企業のデータから、ダイナミックパネルデ...
~
元データ(サービス.txt)
firm yr ROE PCM 対数資産合計 対数売上高合計 流動比率 負...
自己資本比率 無形資産比率 ジャスダック マザーズ ヘラク...
2003 2004 2005 2006 2007 2008
4 2005 8.14 0.826719577 2.894869657 3.480581787 158.13 1...
40.64 0.25477707 1 0 0 0 0 1 0 0 0
4 2007 20.76 2.829175122 3.47070443 3.923088515 205.42 8...
54.41 0.50744249 1 0 0 0 0 0 0 1 0
4 2004 37.79 3.044496487 2.85672889 3.329397879 170.66 1...
41.09 0.139082058 1 0 0 0 1 0 0 0 0
4 2006 38.67 3.814822174 3.197556213 3.70182693 159.65 1...
42.77 0.57106599 1 0 0 0 0 0 1 0 0
5 2008 5.2 2.394227616 3.875697762 3.484157424 111.38 42...
15.49 0.013313806 1 0 0 0 0 0 0 0 1
プログラム
library(plm)
SA <- read.table("サービス.txt", header=T)
SA <- plm.data(SA, index=c("firm", "yr"))
attach(SA)
form1 <- ROE~対数資産合計+対数売上高合計+流動比率+負債比...
emp.gmmSA = pgmm(dynformula(form1, lag=list(1,0,0,0,0,0,...
model="twosteps", gmm.inst=~ROE,lag.gmm=c(2,...
表示されるエラー
以下にエラー FUN(X[[4L]], ...) : 添え字が許される範囲外...
//
- 5行だけのデータですか?行数(データ数)が少なすぎるから...
- ありがとうございます。しかし、実際のデータでは1786行で...
- 解決しました。年が飛び飛びなのでうまく分析できなかった...
**複数ファイル作成および展開方法 [#c6329249]
>[[出口]] (2009-12-10 (木) 19:32:48)~
~
1ファイル内に47都道府県別のデータが混在しているものを、...
下記のプログラムですと、ToDohFuKenが47のものだけが、x.iの...
for ( i in 1:47) {
x.i<- subset(Gr.Area, ToDohFuKen==i)
# Gr.Areaは、作業するもののデータフレーム
# ToDohFuKenは、Gr.Areaデータフレーム内に存在する変数名
}
期待する成果としては、X1、X2、X3、・・・X47と、47のデータ...
//
- あなたのやりたいことは,d <- split(Gr.Area, Gr.Area$ToD...
以下のプログラムを実行して見てください。Gr.Area と d を表...
「1ファイル内に47都道府県別のデータが混在」というのがよ...
(Gr.Area <- data.frame(x1=rnorm(47), x2=rnorm(47), ToDoh...
(d <- split(Gr.Area, Gr.Area$ToDohFuKen))
どうしても x1, x2, ... のようにしたければ
for ( i in 1:47) {
eval(parse(text=sprintf("x%i<- subset(Gr.Area, ToDohFu...
}
一行でやるなら
eval(parse(text=sprintf("x%i<- subset(Gr.Area, ToDohFuKe...
- ご教授ありがとうございます。ファイルを分割して配布する...
**manovaのエラー [#me72f2df]
>[[迷える黒い羊]] (2009-12-10 (木) 17:59:04)~
~
たぶん初歩的な問題(データ上の問題)だとは思うのですが、m...
エラーの意味をご教授願えませんでしょうか?
以下にエラー `contrasts<-`(`*tmp*`, value = "contr.Treat...
関数 "is" を見つけることができませんでした
//
- エラーメッセージだけでなく,関連する行を含めてプログラ...
- 失礼しました。 -- [[迷える黒い羊]] &new{2009-12-10 (木)...
- 以下の関連行の中で、all_ldaは変数61、サンプル数83、spec...
なお、nのサンプル数は61、pのサンプル数は22です。 -- [[迷...
> attach(all_lda)
> all_lda_ma<-manova(cbind(A,B)~species)
以下にエラー `contrasts<-`(`*tmp*`, value = "contr.Treat...
関数 "is" を見つけることができませんでした
- 再現しませんねぇ。以下のプログラムをコピーして,Rコンソ...
set.seed(11111)
all_lda <- data.frame(A=rnorm(83), B=rnorm(83),
species=rep(factor(c("n", "p")), c(61, 22)))
attach(all_lda)
all_lda_ma <- manova(cbind(A, B) ~ species)
summary(all_lda_ma)
detach(all_lda)
以下のような結果が表示されると思うんですけど
Df Pillai approx F num Df den Df Pr(>F)
species 1 0.019969 0.81504 2 80 0.4463
Residuals 81
- プログラムまでありがとうございます。家のDeskTopPCでは、...
- 「NotePCでは2.10.0、Rcmdr1.5-3がインストール」で,Rcmdr...
- Rcmdrを使わなくても出てしまいます。コンソールの実行結果...
> is
エラー: オブジェクト 'is' がありません
- 普通は,is を入力すると関数定義が表示されるんですけど(...
- 2.10をインストールをし直したら、is関数も表示され、manov...
- Rcmdrのオプションを付けないですのままで立ち上げると計算...
**組合せの数の関数について [#r74090f1]
>[[R初心者]] (2009-12-10 (木) 10:09:13)~
~
R初心者です。~
Rで「組合せの数」を求める関数かパッケージをご教示ください...
Excelのcombin関数に相当するものがありますでしょうか。~
数学記号でnCr(n:総数,r:抜き取り数)と表示されるものです...
どうぞ,よろしくお願いします。~
//
- choose(n, r) -- [[surg]] &new{2009-12-10 (木) 10:52:57};
- ご教示ありがとうございます。感謝,感謝です。 -- [[R初心...
**Rで相乗平均を使った手法がありますか [#da9c4087]
>[[sakura]] (2009-12-10 (木) 06:32:15)~
~
素朴な初心者質問です。具体的でなくて済みません。平均値に...
//
- 「平均値に相乗平均を使うRのパッケージ(ライブラリー)...
相乗平均とは幾何平均と同じものですね?以下のような関数を...
それとも,例えば平均値の差の検定を行う t.test 関数みたい...
geomean <- function(x, ...) exp(mean(log(x), ...))
使用例
> geomean(c(2,6,3,9))
[1] 4.242641
> geomean(c(1,2,3, NA), na.rm=TRUE)
[1] 1.817121
**データのタイミングを合わせる方法について [#x52a4d76]
>[[takahashi]] (2009-12-09 (水) 21:02:16)~
~
初心者です。よろしくお願いします。~
~
例えば
x <- c(1:14)
y <- c(-8, -13, -16, -15, -12, -6, 0, 9, 15, 33, 48, 46,...
と言った、曲線(に近いデータ)があったとします。~
この曲線で、xが0から14までを20等分された値、つまりx0 = 0,...
医学の循環器の研究で、各心拍の長さがことなることと、デー...
またデータの曲線は、関数で表せないものが多いです。~
凄く単純なことに思えますが、どうしても良いプログラムがで...
//
- 目次の中から,[[任意のX軸と曲線との交点(Y値)の値の算...
x <- 1:14
y <- c(-8, -13, -16, -15, -12, -6,
0, 9, 15, 33, 48, 46, 32, 24)
ans <- spline(x, y)
ans2 <- spline(x, y,
xout=seq(0, 14, length=21))
plot(x, y)
lines(ans$x, ans$y)
points(ans2$x, ans2$y, pch=19,
col=2, cex=0.7)
legend("bottomright",
c("観察値", "予測値"),
pch=c(1,19), col=c("black", "red"))
&ref(spline2.png);
- ありがとうございました。早速この方法でトライしてみます...
**snowライブラリのエラー [#d0d95023]
>[[のざわ]] (2009-12-09 (水) 01:10:31)~
~
お世話になります。~
~
R-2.10.0でOSはopensolaris2009.06です。~
~
以下のようなプログラムを作り実行させると
Error in unserialize(node$con) : error reading from conn...
と、こんなエラーが帰ってきて、並列計算できません。~
何が悪いのでしょうか?
library(snow)
cl <- makeCluster(4, type = "SOCK")
test.p <- function(a,b) {
return((a+b))
}
clusterExport(cl, "test.p")
//
- タイミングの問題はありそうです, cl <- makeCluster(4, ty...
- はい同じ結果でした。。 -- [[のざわ]] &new{2009-12-11 (...
- lam-mpi(メンテされてない)もしくはopenmpi(遅い)の何れか...
- Rmpiを入れると、Rmpi.soがロード出来ないと怒られます。問...
- 今頃やってみましたが, R上では "Rscript --args MASTER=ho...
**csvファイルを読ませたらなぜかデータがNAに [#q30f1a4b]
>[[はぜ]] (2009-12-08 (火) 16:32:16)~
~
R始めたばかりです。~
excelで作ったデータシートをcsv形式に変換させてread.csv("...
元のexcelファイル、csvファイルとも調べましたが空白にして...
nrow("ファイル名")で行数を調べたところ、行数が実際のデー...
OSはWindowsXP、Rヴァージョンは2.10.0です。~
どなたか解決策をご存知でしたらよろしくお願いします。~
//
- そのファイルのエンコーディングは何でしょうか?Windows版...
エンコーディングが何であるかわからないということなら,rea...
あまり大きなファイルでないなら,ここにアップロードしてみ...
> データが全く入力されていない末尾の空白行何行かもNAとし...
それはちょっとねぇ,csv ファイルの作り方に問題があるので...
- お騒がせしてすみません。原因は不明ですが、元のexcelファ...
- コメントありがとうございます。当面の問題は解決しました...
**ニューラルネット(nnet)の構造について [#n61d07c6]
>[[mako]] (2009-12-08 (火) 14:15:32)~
~
いつも参考にさせていただいています。~
現在、ニューラルネットパッケージnnetの関数(nnet)を用い...
~
nnetを用いて学習はできるのですが、出力される重みwtsの構造...
P <- matrix(sample(seq(-1,1,length=100), 100, replace=FA...
target <- P^2
result <- nnet(P, target, size=4, maxit=100)
y <- predict(result, P)
plot(P,y, col="blue", pch="+")
points(P,target, col="red", pch="x")
また、WEKAによるニューラルネットワーク機能で描けるような...
~
ヘルプやリファレンス等調べましたが見つけられませんでした。~
このような質問をするところではないかも知れませんが、ご存...
//
- 結果を見るには summary をするのが常套手段では(オンライ...
「ネットワーク構造を描画する」件ですが,ニューラルネット...
「nnet() で作った neural network の例 (作図は久保の自作関...
> summary(result)
a 1-4-1 network with 13 weights
options were -
b->h1 i1->h1
7.08 -7.27
b->h2 i1->h2
-1.15 -6.52
b->h3 i1->h3
7.54 7.06
b->h4 i1->h4
1.85 -8.71
b->o h1->o h2->o h3->o h4->o
14.84 -6.58 6.52 -9.10 -6.20
> result$wts
[1] 7.081986 -7.272869 -1.148621 -6.524123 7.536072 ...
[7] 1.854337 -8.707560 14.843569 -6.577558 6.517180 -...
[13] -6.203486
- さっそくのアドバイスありがとうございます。オンラインヘ...
- 描画に関する情報もありがとうございます!参考にさせてい...
- summary.nnet という関数があるかなと思えば,nnet:::summ...
- アドバイスありがとうございます。あるかな?と思ったらこ...
**特定の時間が経過したら自動でプログラムを終了させたい [#...
>[[Saito]] (2009-12-07 (月) 21:57:38)~
~
いつもお世話になっております。~
色々と調べ、試行錯誤しましたが、上手くできないので質問さ...
あるプログラムを走らせていて、ある時間が経過しても終了し...
自分ではstopifnot()、proc.time()、breakを上手く使えばよい...
stopifnot(rnorm(1e+07)
proc.time()[3] > 1)
のような感じで、rnormに1秒以上かかるようなら、プログラム...
もしどなたか方法をご存知でしたら、ご教授願えないでしょう...
//
- system.time(rnorm(1e7))[1] > 1 では駄目ですか。 -- &ne...
- 回答ありがとうございます。ただ、そのコードですと、例え...
> system.time(rnorm(1e8))[1]
user.self 20.63
くらいかかるようです。この状況で上記のコードを試すと、1秒...
1秒を越えた時点で計算が中断するようなプログラムがあれば助...
- そのプログラムを起動する前に proc.time() を呼んでその...
prog <- function()
{
s <- proc.time()[3]
repeat {
if (proc.time()[3]-s > 10) return(rnorm(100))
}
}
prog()
- >経過時間を測るプログラムがそのプログラムの実行を監視...
回答ありがとうございます。おそらく、これが私が求めている...
河童の屁さんが紹介してくださったprog関数は、つまり、一度r...
監視・制御というようなプログラムは作ったことがなく、作り...
- Windows の場合はよくわからないけど,UNIX の場合なら,fo...
- 別スレッド作る方法とかありませんかね? -- &new{2009-12...
- 河童の屁さん、どうもありがとうございました。R上ではfork...
**Rが64bitでしか動きません [#e53abc79]
>[[修士論文執筆中]] (2009-12-06 (日) 12:53:08)~
~
はじめまして.修士論文執筆中と申します.~
ある時からRの32bitバージョンが起動しなくなってしまいまし...
~
私はマックブックで OS X ver.10.6.2,CPUは2.4GHz Intel Cor...
本来ならば32bitでしか起動しないはずですし,こないだまでそ...
~
Rcmdrをインストールしようにもbitがあわないからか全く起動...
~
ちなみにR64bitからは次のようなデータを得られました.~
~
> sessionInfo()~
R version 2.10.0 (2009-10-26) ~
x86_64-apple-darwin9.8.0 ~
~
locale:~
[1] ja_JP.UTF-8/ja_JP.UTF-8/C/C/ja_JP.UTF-8/ja_JP.UTF-8~
~
attached base packages:~
[1] stats graphics grDevices utils datasets met...
~
どうすれば32bitで起動するようになるでしょうか?~
アドバイスをお願いいたします.~
//
- Mac 版の R は,http://r.research.att.com/ にあるように...
というわけで,いつの頃にか,なぜかはしらねど,64bit 起動...
Mac OS X GUI
Version Build ...
Mac OS X GUI rev. 5528 for R 2.10.x tiger-Deployment ...
Mac OS X GUI rev. 5528 for R 2.11.x tiger-Deployment ...
Mac OS X GUI rev. 5528 for R 2.10.x leopard-Leopard ...
Mac OS X GUI rev. 5528 for R 2.10.x leopard-Leopard64...
Mac OS X GUI rev. 5528 for R 2.11.x leopard-Leopard ...
Mac OS X GUI rev. 5528 for R 2.11.x leopard-Leopard64...
**悪化要因の分析方法 [#c8c978f3]
>[[悩みの多い熊五郎]] (2009-12-05 (土) 21:51:34)~
~
修理受付データを分析して、解約を減らす方法を検討していま...
データとしては以下のようなデータが集計されています。
修理受付No 部品1 部品2 部品3 部品4 部品5 修理価...
001 PartA PartB 100...
002 PartA PartZ PartC 450...
003 PartV PartA PartB 300...
004 PartD PartS PartB 600...
・・・・・・・・・・・・・・・・・・・・・・・・・・・...
999 PartZ 800...
この調査をし対策をしたいと考えております。アドバイスをお...
//
- R でできるかどうかを考える前に,「統計学」でできるかど...
可能性としては,判別分析でしょうね。判別分析というのは,...
なお,一般的に統計学手法でこのデータを扱うときには,あな...
修理受付No PartsA PartsB PartsC ... PartsZ 修理価格 修...
001 1 1 0 ... 0 1000 修理
002 1 0 1 ... 1 4500 修理
003 1 1 0 ... 0 3000 解約
004 0 1 0 ... 0 6000 解約
:
999 0 0 0 ... 1 8000 修理
また,修理か解約かはどのパーツが使われたかだけに依存して...
(投稿法も調べてからにしてくださいね。直しておきますから...
**ネットワーク分析について [#jabb4f63]
>[[sibu]] (2009-12-03 (木) 17:11:21)~
~
こんにちは、私はネットワーク分析でテキストマイニングを行...
テキストデータを形態素解析し、MLTPを用いて名詞に限定...
> at<-read.csv("c:/temp/a.csv",head=FALSE)
Warning message:
In read.table(file = file, header = header, sep = sep, q...
'c:/temp/a.csv' の readTableHeader で不完全な最終行が...
というエラーが出てしまい、データを出力しようとしても~
> at[1:30,]
[1] ミマ\021爍ア <NA> <NA> <NA> <NA> <...
[8] <NA> <NA> <NA> <NA> <NA> <...
[15] <NA> <NA> <NA> <NA> <NA> <...
[22] <NA> <NA> <NA> <NA> <NA> <...
[29] <NA> <NA>
という風になり、データを解析できません~
なぜこのようなエラーが出るのでしょうか? ご意見お聞かせ...
//
- そのエラーの原因は,入力ファイルの最後の EOF が最終行の...
なお,最近のバージョンでは,ファイルの末尾が,改行+EOF に...
- 河童の屁さんの言う通りファイル形式が間違っていたのかと...
**contourplotの軸の目盛りを内側にしたい [#r2e79b06]
>[[Saito]] (2009-12-01 (火) 17:53:41)~
~
いつもお世話になっています。~
過去の投稿、ネットを確認しましたが、見当たらなかったので...
例えば~
library(lattice)
contourplot(volcano)
で表示される四方の軸の目盛りを内側表示したいのですが、ど...
plotであれば、~
plot(1, 1, tcl=0.5)
とでもすればできるのですが。contourplotがやっている描画方...
~
ちなみにR-2.9.2、WindowsXPです。~
どうぞよろしくお願い致します。~
//
- contourplot(volcano,scales=list(tck=-1)) -- &new{2009-...
- おお、なるほど、tckのほうで軸を書いてしまうというのは思...
**タイはタイのままの並び替えの方法 [#gee77959]
>[[おむすび]] (2009-11-30 (月) 21:26:10)~
~
行列をつくって,それぞれの値を順番に置き換えたいのですが...
m<-matrix(c(2, 5, 1, 5, 10, 2, 10, 20, 5),nrow=3)
たとえば,rankでやると,~
m2<-matrix(rank(m),nrow=3)
これを1から7にしたいのです。~
~
ついでに,orderだと順番が違うのはなぜですか?~
//
- このようにしたいのですが。 ~
> m2
[,1] [,2] [,3]
[1,] 2 3 4
[2,] 3 4 5
[3,] 1 2 3
1から5でした。すみません。 -- [[おむすび]] &new{2009-11-3...
- > orderだと順番が違うのはなぜですか?~
確かに,オンラインヘルプの説明はわかりにくいかもしれない...
> order(c(4,2,1,5,3))
[1] 3 2 5 1 4
という例を考察すればよいでしょう。一番小さい1は3番目,2番...
一方 rank は順位付けを行うけど,同順位をどう扱うかは ties...
> x <- c(1,2,2,3,3,3,3,4,5)
> rank(x, ties.method="average") # これが,デフォルト(...
[1] 1.0 2.5 2.5 5.5 5.5 5.5 5.5 8.0 9.0
> rank(x, ties.method="first")
[1] 1 2 3 4 5 6 7 8 9
> rank(x, ties.method="random")
[1] 1 2 3 4 7 5 6 8 9
> rank(x, ties.method="max")
[1] 1 3 3 7 7 7 7 8 9
> rank(x, ties.method="min") # これが世間でよく行われる...
[1] 1 2 2 4 4 4 4 8 9
とにかく,オンラインヘルプをよくお読みになることをおすす...
また,投稿法についても,編集ウインドウの下にある「テキス...
- 河童の屁さん,ご丁寧にありがとうございます。しかし私の...
> m2
[,1] [,2] [,3]
[1,] 2 3 4
[2,] 3 4 5
[3,] 1 2 3
こんなのになりませんか? -- [[おむすび]] &new{2009-11-30 ...
- たとえば,以下のようにすればよいでしょう。 -- [[河童の...
> m <- matrix(c(2, 5, 1, 5, 10, 2, 10, 20, 5), nrow=3)
> values <- as.numeric(names(table(m)))
> m2 <- m
> for (i in 1:length(values)) {
+ m2[m2 == values[i]] <- i
+ }
> m2
[,1] [,2] [,3]
[1,] 2 3 4
[2,] 3 4 5
[3,] 1 2 3
- コマンドの意味を理解するのにしばらく時間がかかりました...
**matplotでx軸に日付データを表示したい [#af481e1b]
>[[kobayashi]] (2009-11-29 (日) 22:19:04)~
~
以下のようにデータを作り、エクセルのシリアル値であるDay(...
Day <- c(33000, 36000, 39000)
Value1 <- 1:3
Value2 <- 4:6
x <- data.frame(Value1, Value2)
newDay <- as.Date(Day, origin="1900/01/01")
plot(newDay, x[, 1], type="l")
matplot(newDay, x[, 1], type="l")
> x
Value1 Value2
1 1 4
2 2 5
3 3 6
> newDay
[1] "1990-05-09" "1998-07-26" "2006-10-12"
すると、plotではx軸は日付データになってくれるのですが、ma...
原因及び解決方法を教えていただけないでしょうか。~
//
- newDay の as.integer( ) は,as.integer(newDay) ==> 7433...
で,matplot でも日付を目盛りラベルとして描こうと思うなら...
matplot(newDay, x[, 1], type="l", xaxt="n")
axis(1, at=newDay, label=as.Date(newDay, origin="1970/01...
# 単に,axis(1, at=newDay, label=newDay) でよいようだ。...
**テキストマイニングについて [#wc7ffc13]
>[[sisisi]] (2009-11-25 (水) 10:20:58)~
~
始めまして、私はテキストマイニングについて勉強しているも...
最近は大学の講義データの講師の音声データと授業のスライド...
このような異なる二つのデータをテキストを分析するときはど...
どうかご意見お聞かせ下さい。~
//
- 「思うようにデータが集まらない」というのと、「どのよう...
- 返信が遅れて申しわけありません。愚痴のような事を言って...
**SIMCA分析 [#l8c39f2e]
>[[kao]] (2009-11-24 (火) 15:00:05)~
~
~
Rで、soft independent modeling of class analogy(SIMCA)...
パッケージがあるのであれば、教えていただけないでしょうか。~
よろしくお願いします。~
//
- Metabonomic というパッケージがあるようだ。説明は~
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2774703/
にある。ただし,あなたの目的にあうものなのかは知らない。 ...
**Rで、トランスログ [#c5e09a3d]
>[[tsuyoshi]] (2009-11-21 (土) 18:25:42)~
~
初心者です~
Rで、トランスログ生産関数分析をしたいです。~
どなたかご存知でしたら教えていただけると幸いです。~
//
- 疑問点が曖昧なので、返事を出しにくいのじゃないでしょう...
**傾いた tick mark [#i1f32a6d]
>[[柳沢]] (2009-11-20 (金) 03:16:30)~
~
こんにちは.windows で R 2.9.0 を使っています.~
~
例えば plot(c(1,22)) を描いたとします.そのとき y-axis の...
~
plot(c(1,22), yaxt='n')
text(rep(1,length(z<-axTicks(2))), z, '|', srt=-45)
~
が一番求めるものに近いのですが,xaxs='i' としない場合, ...
~
どうぞよろしくお願いします.~
//
- 自分でつっこみです. text を使うと図の外に描けないので...
- plotする前にx軸の値が分からない(座標が分からない)なん...
- tick-mark を自分で書きたい(画像,文字,線?)と言う意味で...
plot(c(1,22), yaxt='n')
axis(2,tick=F)
par(xpd=T)
text(rep(par()$usr[1]-strwidth("|"),length(axTicks(2)))...
par(xpd=F)
こんな感じは参考になるかも -- &new{2009-11-20 (金) 11:15...
- どうもありがとうございました。サンキュー。 -- [[柳沢]] ...
**Date型の演算について [#b7b2c56d]
>[[R初心者]] (2009-11-18 (水) 00:58:33)~
~
as.Date("2009-11-1")の1ヶ月後や2ヶ月後をRで計算できないも...
1日後だったら、as.Date("2009-11-1")+1で簡単に計算できるの...
tail(seq(as.Date("2008-1-1"), len=2, by="1 month"), 1)~
しか思いつかなかったので、質問させていただきました。~
この方法だと、as.Dateの部分が日付のベクトルだとうまくいか...
何か良い方法があれば教えていただければと存じます。~
//
- よい方法を求める前に,「一ヶ月後」の定義をはっきりさせ...
> test <- function(str)
+ {
+ str2 <- tail(seq(as.Date(str), len=2, by="1 month"), 1)
+ cat(sprintf("%s %i\n", str2, difftime(as.Date(str2), ...
+ }
> test("2009-01-01")
2009-02-01 31
> test("2009-01-31") # 一ヶ月後は31日後になっている
2009-03-03 31
> test("2009-02-01") # 一ヶ月後は28日後になっており,
2009-03-01 28 # 2月になっての一ヶ月後は1月最終日...
日付にベクトルを与えられないというのは本質的なものではな...
> func <- function(str)
+ {
+ sapply(str, function(str2) as.character(seq(as.Date(s...
+ }
> func(c("2009-01-01", "2009-01-31", "2009-02-01"))
2009-01-01 2009-01-31 2009-02-01
"2009-02-01" "2009-03-03" "2009-03-01"
あるいは,as.POSIXct を使うと,引数がベクトルの場合でも指...
> as.POSIXct(c("2009-01-01", "2009-02-01"))+60*60*24*30
[1] "2009-01-31 JST" "2009-03-03 JST"
- 返信が遅くなってすみません。 日付の定義ですが、当面のと...
**デンドログラム、またヒートマップのデンドログラムの高さ...
>[[aoi]] (2009-11-17 (火) 17:35:07)~
~
いつも丁寧に教えてくださり、本当にありがとうございます。~
~
実験データをもとにしてヒートマップとデンドログラムを書い...
~
heatmap 関数のmargins=c(5,5)も変更してみたり、pdfのサイズ...
~
ちなみにコサイン距離の関数は~
http://rbloger.blog51.fc2.com/blog-entry-26.html~
より利用させていただき
cosine.function <- function(x) { # 列ベクトルのコサイン...
col.similarity <- matrix(NA, ncol=ncol(x), nrow=ncol(x...
for (i in 1:ncol(x)) {
for (j in 1:ncol(x)) { # コサイン距離の算出
col.similarity[i, j] <- (x[, i] %*% x[, j])/(sqrt(...
}
}
rownames(col.similarity) <- colnames(x) # 列名の付与
colnames(col.similarity) <- colnames(x) # 行名の付与
return(col.similarity) # コサイン距離の行列を返す
}
転置してheatmapの関数に組み込むようにheatmap関数を変更し...
~
また
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-apple-darwin8.11.1
です。よろしくお願いします。~
//
- この関数を使って,どのようなデータを使ったらどんな風に...
「長過ぎて裏返ってしまう」というのさえ,どういうことなの...
- ありがとうございます。失礼しました。データ自体は糖鎖と...
例えば
Answer1 Answer2 Answer3
A 1 2 3
B 5 10 15
C 89 135 78
D 26 49 42
E 36 70 30
F 167 216 144
G 125 143 89
H 145 229 1110
I 13 5 11
J 58 61 49
K 77 91 25
といったようなデータでこれでA,B,C・・・に当たる物が糖鎖で
Answer1,Answer2・・・に当たる物がサンプルでこれが400行、3...
&ref(mixmix.txt);~
サンプルだとうまくいくのですが、データが大きくなるとデン...
&ref(mmscf_hclust.png);~
この長さを調節するには関数のなかのどこを調節すればいいの...
- Quartz ウィンドウに描いたのですか?plot, hclust のオプ...
それはさておき,解決策を。~
mixmix.txt は,列名が不適切だったり,行あたりの変数の個数...
プリントできるかどうかは気にせず(というか,そんなおおき...
以下のようにして書かれたファイルを何らかのソフト(Adobe R...
set.seed(123456789)
x <- matrix(sample(0:1, 400*300, replace=TRUE), 400) # 4...
pdf("dendrogram.pdf", width=150, height=6) # width, heig...
plot(hclust(as.dist(cosine.function(x))), hang=-1)
dev.off()
&ref(dendrogram.png);
- 何とかデータファイルを読めました。1列目が名前になってい...
x <- read.table("mixmix.txt", header=TRUE, sep="\t")
pdf("dendrogram2.pdf", width=100, height=5)
plot(hclust(as.dist(cosine.function(t(x[,-1])))), hang=-1)
dev.off()
なお,蛇足ではあるが,ブログから参照したという関数は無駄...
> cosine.function2 <- function(x)
+ {
+ x <- as.matrix(x)
+ ss <- 1/sqrt(colSums(x^2))
+ col.similarity <- t(x) %*% x*outer(ss, ss)
+ colnames(col.similarity) <- rownames(col.similarity) ...
+ return(col.similarity)
+ }
> system.time(a1 <- cosine.function(t(x[,-1]))) # 二重...
ユーザ システム 経過
14.962 0.070 14.894
> system.time(a2 <- cosine.function2(t(x[,-1]))) # 圧倒...
ユーザ システム 経過
0.046 0.002 0.048
> all.equal(a1, a2) # 言う...
[1] TRUE
- ありがとうございます!出来ました。hangを解除したらまた...
- ありがとうございます。やってみます。大変感謝です。 -- [...
**求根、といえばいいのでしょうか [#c506344b]
>[[b.b.]] (2009-11-17 (火) 14:49:43)~
~
Height ~ SI * (1 + exp (8.285 -1.22 * log(60 + 16.195) -...
(1 + exp(8.285 -1.22 * log(Age + 16.195) -...
という非線形関数で、AgeとHeightが分かっている場合に、SIの...
//
- uniroot 関数を使います。
> root <- function(Height, Age) {
+ uniroot(function(SI) SI * (1 + exp(8.285 -1.22 * ...
+ (1 + exp(8.285 -1.22 * ...
+ Height, c(0.01, 1e10))
+ }
> root(8.889316, 50)
$root # これが答え
[1] 10
$f.root
[1] -1.202766e-08
$iter
[1] 5
$estim.prec
[1] 6.103516e-05
Height, Age, SI のうちの任意の 2 変数の値を与えれば,残...
> root <- function(Height=NULL, Age=NULL, SI=NULL) {
+ Height.function <- quote(SI * (1 + exp(8.285 -1.22 * ...
+ (1 + exp(8.285 -1.22 * ...
+ if (sum(sapply(list(Height, Age, SI), is.null)) != 1)...
+ if (is.null(Height)) {
+ Height <- eval(Height.function)
+ }
+ else if (is.null(Age)) {
+ Age <- uniroot(function(Age) eval(Height.function)-H...
+ }
+ else if (is.null(SI)) {
+ SI <- uniroot(function(SI) eval(Height.function)-Hei...
+ }
+ return(c(Height=Height, Age=Age, SI=SI))
+ }
> root(Height=8.889316, Age=50) # SI を求める
Height Age SI
8.889316 50.000000 10.000000
> root(SI=10, Age=50) # Height を求める
Height Age SI
8.889316 50.000000 10.000000
> root(Height=8.889316, SI=10) # Age を求める
Height Age SI
8.889316 50.000013 10.000000
**Cox比例ハザードモデルで生存期間を推定したい [#zca3b1a9]
>[[akira]] (2009-11-16 (月) 21:34:21)~
~
library(survival)のcoxphで作成したモデルを使ってpredict.c...
> fit <- coxph(Surv(time, status) ~ age + ph.ecog + stra...
> head(lung)
inst time status age sex ph.ecog ph.karno pat.karno me...
1 3 306 2 74 1 1 90 100 ...
2 3 455 2 68 1 0 90 90 ...
3 3 1010 1 56 1 0 90 90 ...
4 5 210 2 57 1 1 90 60 ...
5 1 883 2 60 1 0 100 90 ...
6 12 1022 1 74 1 1 50 80 ...
> predict(fit,type="lp") #これは線形回帰の係数と思ってます
> predict(fit,type="expected") #これはモデルに使ったデー...
> predict(fit,newdata=lung[1,]) #これはtype="lp"を返しま...
# predict(fit,newdata=lung[1,],type="expected") #生存期...
type="lp"からリスクスコアは出せると思うのですが、log h(t)...
そもそも、理解を間違っているのでしょうか?~
//
- あなたが付けたコメントとオンラインヘルプの説明が微妙に...
type: the type of predicted value.
Choices are the linear predictor ("lp"),
the risk score exp(lp) ("risk"),
the expected number of events given the covariates and...
and the terms of the linear predictor ("terms").
- ありがとうございます.helpを読み違えてました.でも、それ...
# lungのinst==1だけで動作を理解してみました.
x <- subset(lung,subset=inst==1,select=c("time","status"...
cxfit <- coxph(Surv(time, status) ~ age + ph.ecog,x) # C...
all(exp(predict(cxfit,type="lp")) == predict(cxfit,type=...
predict(cxfit,type="terms") # log h(t) = a + b1x1 + b2x2...
predict(cxfit,type="expected") # ここの返り値で思考が止...
ヘルプの「the expected number of events given the covaria...
# で、predict.coxphで1つ目のデータを推定してみました.
y <- x[1,]
predict(cxfit,y,type="lp"); predict(cxfit,type="lp")[1] ...
# predict(cxfit,y,type="risk"); predict(cxfit,type="risk...
predict(cxfit,y,type="terms"); predict(cxfit,type="terms...
# predict.coxphはlp, risk, termをそれぞれ推定することは...
Cox比例ハザードはlog h(t) = a + b1x1 + b2x2 + ... + bnxn ...
- 自己レスです.思い違いを指摘してほしいので書きます.~
目的は「生存時間データを学習データにして未知のデータを判...
1. 特定時間のstatusでCox比例ハザードモデルを作る(イベント...
2. 未知データでpredict.coxphする~
3. リスクを計算して、risk>1ならイベントあり、risk<=1なら...
と理解したのですが、「3」がすごく不安です. -- [[akira]] &...
- 時間tに依存しないのは,h(t) ではなく, h(t)/h0(t) です ...
- ありがとうございます.やっぱり、ちゃんと理解していないで...
かなり混乱しているのですが、~
predict.coxphのtype="risk"は R = b1x1 + b2x2 + ... + bnxn...
考えていた判別は
library(survival)
x <- subset(lung,subset=inst==1,select=c("time","status"...
y <- x[1,]
cxfit <- coxph(Surv(time, status==1) ~ age + ph.ecog,x) ...
predict(cxfit,y,type="risk") # yのstatusが「1」となるリ...
5
1.027764
y$status
[1] 2
#「predict(cxfit,y,type="risk")が1より大きいが、y$status...
と思っていたのですが -- [[akira]] &new{2009-11-17 (火) 21...
- b1x1 + b2x2 + ... + bnxn は lp (linear predictor) で、t...
- surgさん、ありがとうございます.質問内容が「統計学なんで...
扱うデータはtime、status、変数を持ち、上のスクリプトを使...
このとき、「cxfit」はデータ「x」のageとph.ecogを変数にし...
で、今はstatus=2/status=1なので「z>=1ならstatus=2になるリ...
- predict(type="risk")が返す値(exp(lp))はハザード比です...
- ありがとうございます.なんとなく分かってました.これ以上...
**テキストマイニングのネットワーク分析について教えてくだ...
>[[sibu]] (2009-11-16 (月) 15:01:39)~
~
私はネットワーク分析でテキストマイニングを行おうとしてい...
ー structure(.External("dotTclObjv", objv, PACKAGE = "tc...
[tcl] bad screen distance "R_call 01C0BFF8 1.38998e+213...
というエラーが出て分析することができないのです。~
Rについては初心者でこのエラーが何を意味するかわかりません~
どうかこのエラーの意味を教えてください。~
ちなみに今回のネットワーク分析ではigraphとtcltkを使ってい...
//
- 何をどうやってこのエラーがでたかも書いておくとよいと思...
1.38998e+213 などという数値(何を表す数値か知りませんが)...
これだけの情報でも的確なコメントができるスーパーマンもい...
- 質問したものですが、無事分析を終えることができました。...
**Mantel-Haenszel testついて教えてください [#k8ec54d8]
>[[sakura]] (2009-11-15 (日) 18:37:09)~
~
epiRにあるcmh.testとmantelhaen.test(stats)では微妙に結果...
//
- どのようなデータをどのように適用したら,どのような結果...
=====少し時間経過がありまして~
epiR に cmh.test は,ないのじゃないかと思うのですけど,ま...
もう少し勉強した河童
cmh.test {lawstat} R Documentation
The Cochran-Mantel-Haenszel Chi-square Test
Description
This function performs the Cochran-Mantel-Haenszel (CMH)...
procedure tests independence of two variables in each st...
on the levels of a third variable. This procedure is wid...
law cases, in particular, on equal employment and discri...
biopharmaceutical studies (Agresti, 2002; Gastwirth, 198...
mantelhaen.test {stats} R Documentation
Cochran-Mantel-Haenszel Chi-Squared Test for Count Data
Description
Performs a Cochran-Mantel-Haenszel chi-squared test of t...
nominal variables are conditionally independent in each ...
there is no three-way interaction.
単に,オンヘルプをコピーしただけの河童でした。~
=====少し時間経過がありまして~
で,もうちょっとやってみて,両者の違いがこんな具合だと言...
> cmh.test(blackhire
Cochran-Mantel-Haenszel Chi-square Test
data: blackhire
CMH statistic = 145.840, df = 1.000, p-value = 0.000, MH...
0.477, Pooled Odd Ratio = 0.639, Odd Ratio of level 1 = ...
Ratio of level 2 = 0.378, Odd Ratio of level 3 = 0.508, ...
level 4 = 0.357, Odd Ratio of level 5 = 0.209, Odd Ratio...
0.412, Odd Ratio of level 7 = 0.250, Odd Ratio of level ...
> mantelhaen.test(blackhire)
Mantel-Haenszel chi-squared test with continuity correc...
data: blackhire
Mantel-Haenszel X-squared = 145.2466, df = 1, p-value < ...
alternative hypothesis: true common odds ratio is not eq...
95 percent confidence interval:
0.4225550 0.5395037
sample estimates:
common odds ratio
0.4774621
カイ二乗値が 145.84 と 145.2466 の違いなんですね??たい...
=====少し時間経過がありまして~
さてね〜〜〜 プログラムを読んで,見まして,追加しますよ...
つまりは,デフォルトで連続性の補正をするかどうかの違いじ...
mantelhaen.test で,連続性の補正をしないように指定すると...
> mantelhaen.test(blackhire,correct=FALSE)
Mantel-Haenszel chi-squared test without continuity cor...
data: blackhire
Mantel-Haenszel X-squared = 145.8403, df = 1, p-value < ...
alternative hypothesis: true common odds ratio is not eq...
95 percent confidence interval:
0.4225550 0.5395037
sample estimates:
common odds ratio
0.4774621
このような確認は,必要だと思う人(ユーザ)が自分でやるこ...
- cmh.test はlawstat ライブラリでした。申し訳ありません。...
- > 連続性の補正の意味が呑み込めないでいるところです~
検定統計量がとびとびの値しかとらないのを,連続分布である...
- >2×2分割表のイエーツの補正(連続性の修正)
には採用の是非について考え方がいろいろあるようですが、、...
//- http://www.jiji.com/jc/c?g=tha_30&k=2009111600085no -...
- 2009/04/19(日)に「chisq.test()の出力について」という...
Alan AgrestiのCategorical data analysis(second edition)を...
//- 何が言いたいのかよくわからないコメントだし,「コメン...
**行名の参照によるデータフレームのハンドリング [#a8ba0cc6]
>[[きむ]] (2009-11-13 (金) 19:14:43)~
~
少しづつRを使い始めています。~
過去のQ&AやTipsを見たのですが、見つけきれませんでしたので...
~
以下の様な2つのデータフレームがある場合、DB1(の行名)の...
(例の場合、a,c,eだけのデータフレームにしたい)
DB1 <- as.data.frame(matrix(1:10,ncol=2))
rownames(DB1) <- letters[1:5]
DB2 <- as.data.frame(matrix(101:110,ncol=2))
rownames(DB2) <- letters[c(1,3,5,7,9)]
行名ではなく、要素であれば参照する方法はQ&Aで確認できたの...
~
(ついでに、)同様に、行名でDB1に、DB2の値をリスト参照・...
(DB1のa,c,eにDB2の要素値を追加する:EXCELのVLOOKUPのイメ...
~
以上、~
かなり基本的な質問かと思いますが、よろしくお願いいたしま...
//
- ?"%in%" ?match -- &new{2009-11-13 (金) 19:43:27};
- さっそくの回答ありがとうございました。DB3 <- DB1[rownam...
- DB3 <- cbind( DB1[rownames(DB1) %in% rownames(DB2),], D...
- 色々なやり方があるでしょうけど,二つのデータフレームの...
- DB3 <- data.frame( DB1[rownames(DB1) %in% rownames(DB2)...
- merge関数についても調べてみます。とっかかりをいただきあ...
- DB3 <- data.frame( DB1[rownames(DB1) %in% rownames(DB2)...
> DB1
V1 V2
a 1 6
b 2 7
c 3 8
d 4 9
e 5 10
> DB2
W1 W2
c 102 107
g 104 109
i 105 110
a 101 106
e 103 108
> db1 <- data.frame(ID=rownames(DB1), DB1)
> db2 <- data.frame(ID=rownames(DB2), DB2)
> db3 <- merge(db1, db2)
> rownames(db3) <- db3[,1]
> db3 <- db3[-1]
> db3 # 正しい答えは,これです
V1 V2 W1 W2
a 1 6 101 106
c 3 8 102 107
e 5 10 103 108
- たまたま並び順が同じだから、、ということですね?(DB2の...
- かっぱ様ありがとうございます。↑は式欄を入力いただく前に...
- db3 <- merge(db1, db2) ではうまくいかなかったので、db3...
- by は要らないはずですけど(指定した方が間違いはないけど...
- 手抜きをして元の列名が同じ、元のDB1とDB2で実行していま...
**イベント発生時刻のリストからヒストグラムを作りたい [#ce...
>[[motok]] (2009-11-13 (金) 14:37:25)~
~
あるイベントが発生した時刻を "2009.11.13 14:32" の形で1...
このデータファイルから例えば5分刻みのイベント発生頻度を...
mydata <- read.table("test.dat", sep=",")
names(mydata) <- c("event")
attach(mydata)
x <- strptime(event, format="%Y.%m.%d %H:%M")
として文字列を時刻オブジェクト(?)にしたところで立ち往生し...
なにかヒントを頂けるととてもうれしいです。~
# FAQでないことをいのりつつ。~
//
- cut して table で数えて plot したら? -- [[フォルテ]] &...
- て言うかさ、自分が書いたのがちゃんと表示されているかチ...
- HTML タグを使ったつもりなんでしょうね。で,直し方もわか...
- テストデータを適当に作ってやってみる。あなたがファイル...
ランダムな時間データを作る方法を探すのが面倒だったので,S...
as.POSIXct("2009-11-13 12:45:35 JST") + sample(10, 5, re...
のようにするほうが,再現性を保証するためにはよいだろうけ...
> x <- sort(Sys.time()-sample(3600, 2000)-10000, replace...
> head(x) # 以下のようなフォーマットです(このほかにも許...
[1] "2009-11-13 12:45:35 JST" "2009-11-13 12:45:36 JST" ...
[4] "2009-11-13 12:45:39 JST" "2009-11-13 12:45:41 JST" ...
> y <- difftime(x[-1], x[-2000], units="secs") # 時間の...
> head(y)
Time differences in secs
[1] 1 2 1 2 2 1
> hist(y, breaks=c(seq(0, 20, by=1))) # 階級幅はお好きな...
- もろもろ至りませんですみません。どうも有り難うございま...
**変数の多い主成分で、第一主成分への寄与率の大きい変数を...
>[[主成分分析初心者]] (2009-11-10 (火) 17:03:08)~
~
Rコマンダーを使用し、主成分分析を行ってます。手順は、コ...
変数が多くなり(40変数)どれが、有効な変数なのか、苦戦し...
現在は、コマンダーで出た、
Dataset <- sqlQuery(channel = 1, select * from [Sheet3$])
.PC <-
princomp(~変数1+変数2+・・・・+変数40,
cor=TRUE, data=Dataset)
unclass(loadings(.PC)) # component loadings
.PC$sd^2 # component variances
summary(.PC) # proportions of variance
remove(.PC)
をもとに、エディターで、
princomp(~○○, cor=TRUE, data=Dataset)
○○部分を書き換えやっていましたが、40変数より39、38・・・...
出来ましたら、組み合わせ的に、40変数より、変数39の時の計...
//
- 確認したいのですが,40 個の変数があって,その中から 1 ...
まず,毎回正直に主成分分析をする必要はないです。固有値固...
また,データから 1 つずつ変数を抜いて毎回相関係数を求める...
そして,その操作を sapply 関数を使って組み立てればよいで...
1 行でも書けますが,ちょっと馬鹿丁寧に書いてみましょう。
set.seed(123456789) # 毎回同じデータが得られる...
d <- matrix(rnorm(4000), 100) # 100x40のデータ行列(デー...
r <- cor(d) # すべての変数を使って相関係数行列を計算し...
sapply(1:40, # 1 番目から 40 番目の変数に対して順に以下...
function(i) {
r2 <- r[-i, -i] # i 番目の変数を除いたときの相関...
v <- eigen(r2)$value # 固有値ベクトルを v に付値
return(v[1]/39) # 1 番目の固有値を 39 で割ったも...
}
)
答えは以下のようになります
[1] 0.06285943 0.06326298 0.06333256 0.06192062 0.06229...
中略
[37] 0.06249882 0.06298219 0.06305921 0.06190447
なお,このプログラムは,元の 40 個の変数が欠損値を含まな...
上のプログラムの d に,エクセルから読み込んだデータの,余...
でも,これをやることで,重要な変数が選別できるかどうかは...
- 主成分分析で,主成分の個数と分析に含まれる変数を選択す...
まず,全部の変数を使って主成分分析を行う。固有値が1より大...
主成分負荷量を求め(R で計算される loadings は,固有ベク...
有用な変数だけを使い,決めた主成分の個数まで主成分を求め...
どこやらにあった prcomp2 をデフォルトで使うと,固有値1以...
- 早速のお返事ありがとうございます。小生の文章が不十分で...
- 要するに,使う変数の全ての組み合わせ(変数が1の場合を除...
- いつもお返事ありがとうございます。途方もない計算数なの...
- いずれ,このような回答が欲しいといわれるのではないかと...
> パソコンでは、現実的でないのでしょうか~
先ほどの数値どれほどかわかりますか?一回の主成分分析が 1/...
http://aoki2.si.gunma-u.ac.jp/R/index.html にあるプログラ...
繰り返しますが,このプログラムは実行しない方が良いでしょ...
計算時間のことはともかく,このやり方では重要な変数を選ぶ...
set.seed(987654321) # 乱数初期化
nv <- 10 # 変数の個数(ほどほどにしないと,死...
d <- matrix(rnorm(100*nv), 100) # 100xnv データ行列
r <- cor(d) # 元の相関係数行列
var.no <- paste("V", 1:nv, sep="") # 変数番号(どの変数...
n <- 2^nv # 組み合わせの数
bincomb <- matrix(FALSE, nrow=n, ncol=nv) # 組み合わせの...
for (j in 1:nv) {
bincomb[, j] <- rep(c(rep(FALSE, n/2^j), rep(TRUE, n/2^...
}
bincomb <- bincomb[-1,] # どの変数も使われない場合を除く
n <- n-1
result <- numeric(n) # 結果の保存
vars <- character(n) # 分析に使った変数名の保存
for (i in 1:n) {
sel <- bincomb[i,] # どの変数が使われたかの論理ベクトル
vars[i] <- paste(var.no[sel], collapse=",") # 変数名記録
if (sum(sel) >= 2) {
result[i] <- eigen(r[sel, sel])$val[1]/sum(sel) # 結果...
}
else {
result[i] <- NA
}
}
RESULT <- data.frame(vars, result) # 結果をデー...
o <- order(RESULT$result, decreasing=TRUE) # 寄与率の大...
RESULT[o,] # 表示
以下のようなものが1023行も出ます
vars result
72 V4,V7 0.6079310385256367
260 V2,V8 0.5864172084814746
514 V1,V9 0.5793448970957535
36 V5,V8 0.5781238621539512
272 V2,V6 0.5730279383691933
:
959 V1,V2,V3,V5,V6,V7,V8,V9,V10 0.1507698641888030
1015 V1,V2,V3,V4,V5,V6,V8,V9,V10 0.1506910833840152
1023 V1,V2,V3,V4,V5,V6,V7,V8,V9,V10 0.1392082155345871
以下ゴミの行が変数の個数分続く
- あ〜〜,質問のタイトルだけ見ていて,「第一主成分への寄...
- 大変有難うございます。もやもやが、すっきりしました。業...
**R + eclipse + StatET のデバッグについて [#k90c227b]
>[[初心者]] (2009-11-08 (日) 11:41:34)~
~
R + eclipse + StatET を導入して、無事、eclipse 上で R の...
ブレークポイントを置いてデバッグするということはできませ...
(ブレークポイントはおけるのですが、デバッグモードで R を...
これは設定が足りないだけなのでしょうか、それともそこまで ...
R : 2.10.0, eclipse : 3.5.1, StatET : 0.8.0~
よろしくお願いします。~
//
**階層型データフレームの作成 [#s05e377d]
>[[きむ]] (2009-11-05 (木) 19:38:58)~
~
かなりの初心者です。~
windowsXPでRのver2.9.0を仕様しています。~
~
データフレームのラベル設定に関する質問です。~
いくつかのデータフレームを結合して一つのデータフレームに...
~
イメージしているのは、例えばライブラリ[kohonen]のサンプ...
spectra,composition, temperature, trainingといったカテゴ...
(data(nir)とすることで、nir$spectra等でのハンドリングが...
~
例えば、以下のA、BというデータフレームからCを作成する場合...
(ex C$A,C$Bという形でハンドリングしたい)~
(データセットのラベルはC$A.a, C$A.b, のように)~
~
A <- data.frame(a=c(1, 2, 3), b=c(0, 0, 0))~
B <- data.frame(a=c(4, 5, 6), b=c(1, 1, 1))~
C <- cbind( A, B )~
~
単純に上記のようにデータフレームを作成・結合し、paste関数...
(そもそも上記「nir」はdata関数が使えますが、上記で作成し...
(←作成したデータフレームをデータセットとして設定しないと...
~
以上、~
かなりまとまりのない質問ですみません。要は「nir」のような...
//
- えーと、見てみたところnirはdata.frameではないわけですが…
library(kohonen)
data(nir)
class(nir)
nirのようなlistがつくりたい、ということであれば、
A <- data.frame(a=c(1, 2, 3), b=c(0, 0, 0))
B <- data.frame(a=c(4, 5, 6), b=c(1, 1, 1))
(C <- list(A=A, B=B))
でよろしいかと。
それとも、きむさんが必要としてるのは
C <- cbind(A, B)
names(C) <- c("A.a", "A.b", "B.a", "B.b")
みたいなものなのかな。
nirのような「list」が得たいのか、C$A.a, C$A.b…のようなラ...
- 早々のアドバイス、ありがとうございます!「nir」はlistで...
- すみません。上記は、nir <- as.data.frame(nir)とした「ni...
- もう,片付いた問題なのかしらねども,C を作るのに cbind ...
> A <- data.frame(a=c(1, 2, 3), b=c(0, 0, 0)) # コメント...
> B <- data.frame(a=c(4, 5, 6), b=c(1, 1, 1))
> C2 <- data.frame(A, B) # データフレームの結合には,dat...
> C2 # のように,同じ名前の列名は修飾されるの...
a b a.1 b.1
1 1 0 4 1
2 2 0 5 1
3 3 0 6 1
> C2$a # C2$a と
[1] 1 2 3
> C2$a.1 # C2$a.1 は,別物なんだ
[1] 4 5 6 # でもね,その違いは些細なものなんだから...
**任意のX軸と曲線との交点(Y値)の値の算出 [#n2209c51]
>[[coro]] (2009-10-31 (土) 01:50:23)~
~
初心者です。このような質問をするのは恥ずかしい限りです。~
windowsXPでversion2.3.0を使用しております。~
~
作成した曲線と任意のX軸と曲線との垂直交点の値(Y値)を求...
例えば、
V <- c(84,80,76,68,59,50,44,38,35,33,32,34,37,41,49,63,7...
plot(V,type="b")
abline(v=12.5)
上記にてX軸12.5のときのY値を算出するにはどのようにすれば...
//
- まずお聞きしたいのは,「作成した曲線」と仰っているが,...
後者の場合には,なにか特別の曲線を意図しているのでしょう...
- さっそくのお返事ありがとうございます。Y値を予測したいと...
- 「Y値を予測したい」ということは最初の質問でわかっていま...
- お返事ありがとうございます。あるソフトを用いて上記の値...
- 「求める方法を探しております」と書いているので,「ある...
- 上記のコードだと、Rではxに1-18 (Vの数値の個数) をとり、...
- ↑いや,だからね,「そのソフトでどういう式でフィッティン...
- なかなか,話がスムーズに進まないので,こんな回答でも。...
> x <- 1:18
> V <- c(84,80,76,68,59,50,44,38,35,33,32,34,37,41,49,63...
> plot(x, V,type="p")
> ans <- spline(x, V, n=100)
> lines(ans, col="red")
> spline(x, V, n=100, xout=12.5)
$x
[1] 12.5
$y
[1] 35.44528
> library(splines)
> ans2 <- interpSpline(x, V)
> predict(ans2, 12.5)
$x
[1] 12.5
$y
[1] 35.44523
attr(,"class")
[1] "xyVector"
&ref(spline.png);
- 引越しでネット回線使えず返事遅れて申し訳ありませんでし...
**並列計算の計算経過の進行具合を表示させるには [#b0600927]
>[[Saito]] (2009-10-29 (木) 14:57:19)~
~
いつもお世話になっています。~
今日は並列計算中の途中経過を表示(例えば全体の何%終わった...
M <- NULL
for (i in 1 : 1000) {
M[i] <- rnorm(1, i, 10)
cat(paste((i/1000)*100, "%"), "\n")
}
とでもすれば、今、全体の何%ほど完了しているのか見ることが...
library(rlecuyer)
library(snow)
f <- function(n){
a <- rnorm(1, n, 1)
b <- rnorm(1, n, 2)
return(c(a=a, b=b))
}
cl <- makeSOCKcluster(c("localhost", "localhost"))
clusterSetupRNG (cl,seed=12)
clusterExport(cl, "f")
system.time(ff <- parSapply(cl, 1:10,
function(x){return(f(1))
cat(paste((x/25)*100, "%"), "\n")
})
)
計算結果はきちんと保存されていくのですが、進行具合が上手...
どなたか、このような場合に上手く進行具合を表示させる方法...
なお、環境はR-2.10.0、WindowsXP(SP3)です。どうぞよろしく...
//
- ぱっとみ、catがreturnのあとになってるからな気がします。...
- 返信ありがとうございます。catとreturnの場所を変えてみま...
system.time(ff <- parSapply(cl, 1:10,
function(x){
cat(paste((x/25)*100, "%"), "\n")
return(f(1))
})
)
- makeSOCKclusterの引数にoutfile=""を加えましょう。The op...
- なるほど。確かにこうすれば、ワーキングディレクトリにcat...
cl <- makeSOCKcluster(c("localhost", "localhost"), outfi...
ただ、欲をいえば、合計が100%になるような表示だと見易くて...
どうやらxの関数だと上手くいかないので今は、
system.time(ff <- parSapply(cl, 1:10,
function(x){
cat(paste((1/10)*100, "%"), "\n")
return(f(1))
})
)
のようにしていますが、これだとcat.txtの中身は
starting worker for localhost:10187
Type: EXEC
要求されたパッケージ rlecuyer をロード中です
Type: EXEC
Type: EXEC
10 %
10 %
10 %
10 %
10 %
となってしまい、10%の数を数えなければ進行状況がわかりませ...
まぁこのくらいの数なら数えればいいんですが、もっと多くな...
これが自動で合計100%表示になるような処理の仕方があればご...
- すみません、自己レスです。xの関数だと上手くいかなかった...
cl <- makeSOCKcluster(c("localhost", "localhost"), outfi...
clusterSetupRNG (cl,seed=12)
clusterExport(cl, "f")
system.time(ff <- parSapply(cl, 1:10, function(x){
cat(paste((x/10)*100, "%"), "\n")
return(f(1))
})
)
そのcat3.txt内の出力結果。
starting worker for localhost:10187
Type: EXEC
要求されたパッケージ rlecuyer をロード中です
Type: EXEC
Type: EXEC
60 %
70 %
80 %
90 %
100 %
ただ、60%からスタートしているのが気にかかります。片方のコ...
system.time(ff <- parSapply(cl, 1:100,
function(x){
cat(paste((x/100)*100, "%"), "\n")
return(f(1))
})
)
結果。-- [[Saito]] &new{2009-10-29 (木) 17:44:38};
starting worker for localhost:10187
Type: EXEC
要求されたパッケージ rlecuyer をロード中です
Type: EXEC
Type: EXEC
51 %
<snip>
50 %
100 %
- outfileはクラスタ(シングルコア)を想定してた時代の物(...
require(snow)
cl <- makeCluster(2)
clusterSetupRNG (cl,seed=12)
pbar.open<-function(cl)
{
dummy<-winProgressBar(paste(cl$host,cl$rank),"0%",0,10...
close(dummy) # これはおまじない
assign("pb",
winProgressBar(paste(cl$host,cl$rank, "!!下にも...
"0%",
0, 100, 0),
envir=.GlobalEnv)
NULL
}
pbar.close<-function(cl)
{
close(get("pb",envir=.GlobalEnv))
NULL
}
clusterExport(cl, "pbar.open")
clusterExport(cl, "pbar.close")
f <- function(n){
a <- rnorm(1, n, 1)
b <- rnorm(1, n, 2)
return(c(a=a, b=b))
}
clusterExport(cl, "f")
dummy<-clusterApply(cl,cl,pbar.open)
ff <- parSapply(cl,
1:10,
function(x){
setWinProgressBar(pb,
(x/10)*100,
label=paste((x/10)*...
Sys.sleep(5)
return(f(1))
})
clusterCall(cl,pbar.close)
stopCluster(cl)
おまじない以外は自分で調べてみてください.
- すごいですね!まさかこんな風に表示できるとは思っていま...
**出力された結果のコピー&ペースト [#k69b78ca]
>[[R使用開始3日目]] (2009-10-29 (木) 13:24:28)~
~
Rを使用して3日目の初心者です。よろしくお願いします。~
~
得られたデータについて、Rでクロス集計を行い、その結果をEx...
data<-read.table("sample.csv", header=T, sep=",")
data[,3] <- factor(data[,3], levels=1:5, labels=c("AG", ...
data[,2] <- factor(data[,2], levels=1:2, labels=c("男", ...
cross(2, 3, data, latex=F)
以上、クロス集計はできたのですが、その結果をRコンソールか...
person
sex AG CO EX NEUR 合計
男 7 6 7 8 28
% 25.0 21.4 25.0 28.6 100.0
女 4 9 5 4 22
% 18.2 40.9 22.7 18.2 100.0
合計 11 15 12 12 50
% 22.0 30.0 24.0 24.0 100.0
この表示のまま、つまり、各セルに「男」や「合計」、「24.0...
~
環境は、「Windows XP sp3」「R 2.9.2」です。~
~
出来る範囲で色々と試してみたのですが、元々プログラム言語...
~
どうぞ、よろしくお願いします。~
//
- [[エクセルへ値コピー :http://www.okada.jp.org/RWiki/?%B...
- おかしいですね。コンソール出力にはタブコードがちゃんと...
- 河童の合羽さま 早速の返信ありがとうございます。 -- [[R...
- Windows の Excel 2003 の場合,R のコンソール出力に含ま...
Excel にペースト後,「データ」→「区切り位置」→「カンマや...
それも面倒な話なので,cross 関数の output 引数でファイル...
- >surg様 ありがとうございます。教えていただいたように...
- 河童様に教えていただいた方法で上手くいきました。ありが...
**text 関数で文字列が描けない場合がある [#g7e6a939]
>[[河童も驚いた]] (2009-10-28 (水) 22:57:27)~
~
以下のようなプログラムで,abcde しか描かれない。~
plot((1:10)^2)
text(4, 50, "abcde")
text(4, 40, " fghij")
text(4, 30, "xyz 123")
text(c(4, 6, 8), 20, paste("Var", 1:3))
文字列に空白が含まれる場合には,描かれない(描かれている...
> sessionInfo()
R version 2.10.0 Patched (2009-10-27 r50238)
i386-apple-darwin9.8.0
locale:
[1] ja_JP.UTF-8/ja_JP.UTF-8/C/C/ja_JP.UTF-8/ja_JP.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets me...
なんということだ。
//
- すべて描かれますが? -- &new{2009-10-28 (水) 23:35:46};
- なるほど。Leopard なら描けますね。Snow Leopard だったか...
- 雪豹では描けませんね。再現しました。 -- &new{2009-10-3...
- たしかに再現しますね。Snow Leopard上特有のバグ...かな -...
- 雪豹を使っています。R 2.9.2 GUI 1.29 Tiger build 32-bit...
- http://r.research.att.com/ にある,R-2.10-branch-leopar...
- 別のマシンで確かめましたけど,やはり表示されませんね。...
- R.app では無く R64.app もですか? -- &new{2009-11-04 (...
- どちらもです。 -- [[眠い,河童の屁]] &new{2009-11-04 (...
R version 2.10.0 Patched (2009-11-02 r50295)
:途中省略
[R.app GUI 1.30 (5510) x86_64-apple-darwin9.8.0]
- フォントまわりが変わったと言うのは見ましたが, 実機が無...
- フォントの重複を解消しても、変化は見られず。文字自体が...
- フォントの問題と言うのは不適切でした. フォントシステム...
- 今,新しいバージョンをダウンロードして実験したときに,...
R version 2.10.0 Patched (2009-11-03 r50305), Mac OS X 1...
> plot(1:10)
> text(5, 5, "123 def
+ ")
- R 2.10.0 GUI 1.30 Leopard build 64-bit (5512)で、やはり...
- ↑は、R 2.10.0 Patched (2009-11-03) leopard Nov 4 02:15...
- plot(1:10)としてstrwidth("123_abc");strwidth("123 abc")...
- 以下のようなことでよいのでしょうか。 -- [[寒い朝の河童...
> plot(1:10)
> metric <- function(str) {
+ cat("argument:", deparse(substitute(str)), "strwidth:...
+ "strheight:", strheight(str), "\n")
+ }
> metric("123_abc") # 描画される
argument: "123_abc" strwidth: 1.436108 strheight: 0.2790...
> metric("123 abc") # 描画されない
argument: "123 abc" strwidth: 1.375176 strheight: 0.2790...
> metric("123 abc\n") # 描画される
argument: "123 abc\n" strwidth: 1.375176 strheight: 0.72...
> metric("あいう_えお") # 描画される
argument: "あいう_えお" strwidth: 2.006757 strheight: 0....
> metric("あいう えお") # 描画されない
argument: "あいう えお" strwidth: 1.945824 strheight: 0....
> metric("あいう えお\n") # 描画される
argument: "あいう えお\n" strwidth: 1.945824 strheight: ...
- すると計算上は描画しているので, OSX10.6上の問題のような...
- 最初のマシンは MacBook(ノートパソコン)、次に試したの...
- これ以上は実機が無いとつかみようが無いです. もし, Helve...
- 「もし, Helveticaでも同じなら」というのは,どのように確...
- .Rprofileを消した日本語が出ない状態の事です(本当のデフ...
- ちょうど,それかなと思ってやったところでした。ついでに...
デフォルト状態(.Rprofile がない状態)では,半角を含む文...
今のような流れになることがわかっていれば,最初に言ってお...
ということは,件のスレッドの .Rprofile(profile-1)に問題...
- .RProfileとは無関係だと思いますフォントを指示している...
- どうも,私の手には負えないようです。今までのアドバイス...
- いえ, グリフまわり(現状放置したままだったので...)かなぁ...
- Hiragino * を Osaka にすればよいのでしょうか。やってみ...
- ありがとうございます. Osakaで出るのであれば日本語の問題...
- VLGothicをとってきてFontBookで追加, text(1,1,"ABC D",fa...
**正規分布乱数で上限と下限を設定したい [#w6ec7340]
>[[akira]] (2009-10-28 (水) 18:10:27)~
~
いつもありがとうございます.乱数について教えて下さい.~
~
測定値のシミュレーションをしようとしています.~
測定値は100個程度の正規分布を想定していますが、測定限界の...
この状態で、データを測定値に応じて送別化して、各層でSDを...
~
rnormで平均とSDを指定した正規分布をとれますが、上限と下限...
そもそも、上限と下限がある時点で正規分布でないのですが、...
~
良い方法をご存じないでしょうか?~
//
- 有効域の外を削るのはダメでしょうか -- [[S]] &new{2009-1...
my.rnorm <- function(n,mean,sd,lower,upper){
x <- vector()
while(length(x)<n){
x <- c(x,rnorm(n,mean=mean,sd=sd))
x <- x[x>lower & x<upper]
}
return(x[1:n])
}
> my.rnorm(100,30,15,0,60)
[1] 18.737474 14.982537 12.871060 35.218585 46.118110 ...
[8] 43.737251 17.558190 37.044597 28.312282 27.937564 ...
[15] 31.474119 39.678433 22.517348 1.820924 21.478013 ...
:
[85] 27.630476 53.156905 10.630811 32.732432 27.359767 ...
[92] 14.693563 56.358438 17.895591 34.016179 6.088306 ...
[99] 30.521995 29.281466
測定の性質にもよると思いますが、上限下限の外側は、正規分...
- 「上限が0、下限が60,000」とはおかしな話ですが,逆なんで...
希望する範囲外の乱数を除くと,切り詰められた分布になるの...
正規乱数を生成して,その最小値と最大値を希望の最小値と最...
> set.seed(999)
> x <- rnorm(10000) # 標準正規乱数でよい
> r <- range(x) # 発生された乱数の最小値・最大値を求...
> w <- diff(r) # 範囲を求めて
> MIN <- 100 # 希望する最小値
> MAX <- 60000 # 希望する最大値
> y <- (x-r[1])/w*(MAX-MIN)+MIN # 範囲が [MIN, MAX] にな...
> summary(y)
Min. 1st Qu. Median Mean 3rd Qu. Max.
100 23730 29370 29470 35320 60000
- 切断正規分布という分布で、msmパッケージにtnormとして実...
- 文字通り,打ち切られた正規分布で,どこで打ち切るかをう...
> set.seed(1000)
> library(msm)
> x <- rtnorm(10000, mean=30000, sd=20000,lower=0, upper...
> summary(x)
Min. 1st Qu. Median Mean 3rd Qu. Max.
7.26 18600.00 29880.00 30030.00 41630.00 59980.00
> hist(x)
&ref(rtnorm.png);
- いろいろなご意見ありがとうございます.~
扱うデータは検出限界外が限界値に詰め込まれるため、上下限...
ご提案の3手法はシチュエーションで使い分けれそうです.今か...
他の分布指定があれば、また教えてください. -- [[akira]] &n...
- 検出限界外が限界値に詰め込まれるなら、削るのではなく、n...
- ありがとうございます.上下限の切り詰めをモデルに入れると...
**Anova関数 (carパッケージ) の結果の取り出し [#vc706255]
>[[aor]] (2009-10-27 (火) 00:25:10)~
~
いつもお世話になっております。~
~
carパッケージのAnova関数を利用し、以下のようなコードで多...
この結果の一部を取り出したいのですが、どのようにすればよ...
library(car)
hsb2 <- read.table('http://www.ats.ucla.edu/stat/R/faq/h...
result <- Manova(lm(cbind(write,read)~female+math+scienc...
summary(result)
このコードを実行すると、例えば
Multivariate Tests: female
Df test stat approx F num Df den Df ...
Pillai 1 0.169885 19.851322 2 194 1...
Wilks 1 0.830115 19.851322 2 194 1...
Hotelling-Lawley 1 0.204653 19.851322 2 194 1...
Roy 1 0.204653 19.851322 2 194 1...
---
といったような多変量統計量が出力されます。このうち、"test...
str(result), あるいはstr(summary(result))で見ても、”Sum o...
~
結果を別のベクトルオブジェクトに入れておくと後から使いや...
環境はR2.9.2, Windows Vistaです。~
//
- 多変量統計量は出力するだけで返してはくれないので、1) ca...
- 自分はstrsplit(capture.output(summary(result))," ")[hog...
- ご回答ありがとうございます。おかげさまで解決できました...
**因子分析について [#i0ac487a]
>[[hemuhemu]] (2009-10-26 (月) 18:26:30)~
~
いつもお世話になっております。~
クロス集計を行った結果で因子分析を行いたいのですが、「こ...
どういう場合に上記のエラーが帰ってくるのか、また、何か対...
エラーメッセージ、因子分析について調べてみたのですが、よ...
Rは、
R version 2.9.1
i386-pc-mingw32
で、windowsXPを使用しております。~
~
どうぞよろしくお願い致します。~
//
- 「クロス集計を行った結果で因子分析」の部分の意味がよく...
- 説明不足で申し訳ありません。~
以下のような集計データなのですが。~
a b c d e f g h i j
1 1 0 0 0 12 0 0 0 5 0
2 0 0 2 0 0 0 2 0 0 0
3 0 0 0 0 0 0 0 1 0 1
4 0 8 0 0 2 0 0 0 0 0
5 0 0 1 0 0 0 7 0 0 0
6 1 0 0 0 0 0 0 0 2 0
7 0 0 0 2 0 0 0 0 0 1
8 0 2 0 0 0 0 1 0 9 0
9 0 0 10 0 0 0 0 0 0 0
10 0 0 0 0 3 4 0 0 0 0
-- [[hemuhemu]] &new{2009-10-26 (月) 18:55:41};
- 「説明不足」の基準自体が違うようですね。そのデータで,...
因子分析もバリマックス回転をしたかとかプロマックス回転を...
- 上記のデータでは項目数とケース数が同じなのでfactanalで...
- 上のデータは,「集計表」でしょう?集計表を factanal の...
**ワイルドカードってありますか? [#c5ca135e]
>[[ひどい初心者]] (2009-10-25 (日) 18:14:23)~
~
R言語にワイルドカード(どんな文字列にもマッチする記号)の...
//
- [[Rにおける正規表現:http://www.okada.jp.org/RWiki/?R%20...
**ヒストグラムの"Histgram of ○○○"を消す方法 [#w487aedb]
>[[tefu]] (2009-10-23 (金) 16:27:11)~
~
非常に初歩的なことだと思うのですが、調べてもわからなかっ...
x <- rnorm(100)
hist(x)
title("abc")
上記のようなプログラムを実行するとヒストグラムのタイトル...
//
- ?hist でマニュアル読んでください。hist(x,main="")で消せ...
- すみません。ありがとうございました。 -- &new{2009-10-2...
- hist のマニュアルとともに,title のマニュアルも読むべき...
title: Its first four principal arguments can also be use...
hist(x, main="")
title("abc")
ではなく,
hist(x, main="abc")
とするほうがよいことがわかります。 -- [[おそかりし?河童の...
- ↑まあ、気がついてはいたがとりあえずお望みをかなえてあげ...
**ラベル名の追記・変更 [#kd6e544b]
>[[Ackin]] (2009-10-19 (月) 17:22:50)~
~
例
> A <- data.frame(a=c(1, 2, 3), b=c(0, 0, 0))
> AA <- data.frame(aaa=A[1], bbb=c(4, 5, 6))
> AA
a bbb
1 1 4
2 2 5
3 3 6
上記例で、AAに既存データフレームのデータをもってきて、ラ...
//
- AA <- data.frame(aaa=A[, 1], bbb=c(4, 5, 6)) とすればよ...
「既存データフレームのラベル名を変更」は colnames 関数を...
- 即答ありがとうございました -- [[Ackin]] &new{2009-10-19...
**重み付回帰分析 (分散分析) [#t1d31b4a]
>[[桜]] (2009-10-16 (金) 23:08:37)~
~
x1,x2 というふたつのダミー変数を用いて、回帰分析を行いま...
x1, x2 の値によってできる4つのグループ内の分散の逆数を重...
何を間違えているのかわかりません。ご教示いただけたら幸い...
よろしくお願いします。~
~
でっちあげの例:~
x1 <- rep(c(0,1),c(8,18))
x2 <- rep(c(0,1,0,1),c(3,5,10,8))
set.seed(190)
y <- c(rnorm(3,10,2),rnorm(5,11,4),rnorm(10,12,3),rnorm(...
w <- 1/ c(rep(var(y[1:3]),3), rep(var(y[4:8]),5), rep(v...
~
lm(y~x1*x2)
Call:
lm(formula = y ~ x1 * x2)
Coefficients:
(Intercept) x1 x2 x1:x2
10.202 3.143 1.070 -5.014
~
lm(y~x1*x2, weights=w)
Call:
lm(formula = y ~ x1 * x2, weights = w)
Coefficients:
(Intercept) x1 x2 x1:x2
10.202 3.143 1.070 -5.014
//
- 係数は結局グループごとの平均なので (10.202 がグループ...
- フルモデルだからそうなるでしょう。主効果だけだと係数は...
> lm(y~x1+x2)
Call:
lm(formula = y ~ x1 + x2)
Coefficients:
(Intercept) x1 x2
12.4062 0.2772 -2.4567
> lm(y~x1+x2, weights=w)
Call:
lm(formula = y ~ x1 + x2, weights = w)
Coefficients:
(Intercept) x1 x2
11.857 1.220 -2.129
- 本多さま、へへへの河童さま、ありがとうございました。~
少し "R" に関する質問からは遠ざかってしまいますが、Std. E...
> summary(lm1)$coeff
Estimate Std. Error t value Pr(>|t|)
(Intercept) 10.202096 1.991574 5.1226306 3.916815e-05
x1 3.142593 2.270743 1.3839488 1.802549e-01
x2 1.069892 2.519164 0.4247011 6.751793e-01
x1:x2 -5.014352 3.003911 -1.6692745 1.092330e-01
(Intercept) は x1==0 & x2==0 の時の y の平均なのですが、...
cbind(rep(1,length(x1)),x1,x2,x1*x2)
などを見てみましたが、よく分かりませんでした。
mean(y[x1==0 & x2==0])
[1] 10.20210
> sd(y[x1==0 & x2==0])
[1] 2.927438
- > Std. Error である 1.9915714 という値は y[x1==0 & x2=...
ありません。Std. Error は,推定値の標準誤差です。どうやっ...
- へ?河童さま、ありがとうございました。 -- [[桜]] &new{2...
**日々データの季節変動抽出 [#b2ea4847]
>[[森の熊五郎]] (2009-10-15 (木) 12:02:28)~
~
ts関数を使う場合、毎月・または毎四半期のデータを入力する...
//
- 追加です。日々の解析はむりでも、週次での分析をすすめた...
- > 日々のデータでの入力がts関数では出来ず~
どうも,妙なことをおっしゃる~
時系列分析はよく知らないけど,ts 関数には周期を指定する f...
以下のような架空の,週を周期とするデータを作成して,decom...
> set.seed(999)
> (x <- jitter(rep(c(1, 2, 3, 4, 2, 0, -1), 10), amount=...
[1] 0.77814275 2.16612144 2.18933138 4.70526246 2....
[7] -0.78710601 0.16191381 1.78154483 3.23894478 3....
途中省略
[61] 2.98281213 0.55632492 -0.54765611 1.88545396 2...
[67] 4.72009442 2.73918408 -0.19494635 -1.33750080
> (y <- ts(x, frequency=7))
Time Series:
Start = c(1, 1)
End = c(10, 7)
Frequency = 7
[1] 0.77814275 2.16612144 2.18933138 4.70526246 2....
[7] -0.78710601 0.16191381 1.78154483 3.23894478 3....
途中省略
[61] 2.98281213 0.55632492 -0.54765611 1.88545396 2....
[67] 4.72009442 2.73918408 -0.19494635 -1.33750080
> (z <- decompose(y))
$seasonal
Time Series:
Start = c(1, 1)
End = c(10, 7)
Frequency = 7
[1] -0.7309683 0.5398884 1.1755496 2.2610667 0.8231...
[7] -2.3547226 -0.7309683 0.5398884 1.1755496 2.2610...
途中省略
[61] 0.8231408 -1.7139546 -2.3547226 -0.7309683 0.5398...
[67] 2.2610667 0.8231408 -1.7139546 -2.3547226
$trend
Time Series:
Start = c(1, 1)
End = c(10, 7)
Frequency = 7
[1] NA NA NA 1.551990 1.463957 1.4090...
[9] 1.329658 1.304173 1.413051 1.419239 1.532508 1.4031...
途中省略
[57] 1.644785 1.678867 1.847450 1.884422 2.136606 2.0837...
[65] 2.069433 1.962109 1.849274 NA NA NA
$random
Time Series:
Start = c(1, 1)
End = c(10, 7)
Frequency = 7
[1] NA NA NA 0.892205746...
[6] -0.456378671 0.008654032 -0.504096936 -0.088001448...
途中省略
[61] 0.023065117 0.186495890 -0.289730356 0.512184743...
[66] -0.147371514 0.609753665 NA NA...
$figure
[1] -0.7309683 0.5398884 1.1755496 2.2610667 0.82314...
$type
[1] "additive"
attr(,"class")
[1] "decomposed.ts"
> plot(z)
&ref(ts-plot.png);
- ありがとうございます。y =ts(x, start=c(2009,10,9),frequ...
- 「日々のデータでの入力がts関数では出来ず」というのが「S...
- 言葉不足ですみません。年、月、日という3つのパラメータ...
- decompose の横軸に日付を目盛りたいというわけですか?通...
- plot.decomposed.ts が頑固者で,,, -- [[屁の河童]] &ne...
plot(z, xlab="")
axis(1, at=1:70, labels=as.Date(1:70*7, origin="2009/04/...
line=7.5)
&ref(ts-plot2.png);
- 毎度毎度、言葉が足りなく、すみません。ご指摘の通りです...
**作図でx軸の線だけ描画する方法 or 複数のグラフの作成 [#v...
>[[aor]] (2009-10-10 (土) 14:50:22)~
~
いつもお世話になっております。
par(bty = "l")
plot(1:10, xaxt = "n")
上のようなグラフで、y軸の目盛を描画せず、x軸のラインだけ...
par(bty = ...)
での指定は2本以上描画されますし、また例えば
plot(1:10, axes = F)
axis(1, labels = F)
等であとからaxix関数を使用しても、x軸の左右の余白 (?) が...
以下は補足ですが、最終的には
par(mfrow = c(1, 2))
par(mar = c(4,2,4,0))
par(oma = c(4,4,4,4))
par(bty = "l")
plot(1:10, xlab = "condition1")
plot(1:10, xlab = "condition2")
というように複数のグラフをつなげて作成し、condition2のグ...
よい方法をご存知の方、いらっしゃいましたらよろしくお願い...
環境はWindows Vista, R2.9.2です。~
//
- まあいろんなやり方があるでしょうが、
X <- 1:10
plot(X, axes = FALSE)
axis(1, labels = FALSE, tck = 0, at = range(X))
とすれば、Xの範囲に線が引かれます。
正確にはXの最小・最大点にtickを打つように指定しつつ、tick...
Xの範囲に依存せず線を引きたい範囲が決まっているなら、
X <- 1:10
LIM <- c(-10, 15) # 線を引きたい範囲
plot(X, axes = FALSE, xlim = LIM)
axis(1, labels = FALSE, tck = 0, at = LIM)
とすればOKでは。~
あんまりスマートではない気がしますけれど。 -- &new{2009-...
- 蛇足というか,余計なお世話というかpar は複数の設定を一...
par(mfrow = c(1, 2), mar = c(4,2,4,0), oma = c(4,4,4,4),...
- ありがとうございます。 以下のようなコードで実現できまし...
par(mfrow = c(1, 2), mar = c(4,0,4,0), oma = c(4,4,4,4),...
LIM <- c(0.5, 10.5)
plot(1:10, xlim = LIM, xlab = "Condition1")
plot(1:10, axes = F, xlim = LIM, xlab = "Condition2")
axis(1, labels = F, tck = 0, at = LIM) # まずラインを引...
axis(1) # 目盛を描画
ご指導感謝いたします。-- [[aor]] &new{2009-10-10 (土) 22:...
**信頼区間のプロットの方法について [#i11953ef]
>[[gonzu]] (2009-10-05 (月) 18:48:51)~
~
いつもありがとうございます.~
~
1000回同じ条件で繰り返しを行い、その95%の信頼区間を求めて...
~
mymonte <- function(n) {
count <- 0
for(i in 1:1000) {
X <- runif(704)*50
Y <- runif(704)*50
XY <- data.frame(X, Y)
XY <- data.frame(XY, Dataset[, c(2, 12)])
w <- owin(c(0, 50), c(0, 50))
Rpp <- as.ppp(XY[, 1:2], w, fatal=FALSE)
mark1 <- XY$DBH.02.
mark2 <- XY$sort
Rpp1 <- Rpp %mark% mark1
Rpp2 <- Rpp1 %mark% mark2
KC <- Kmulti(Rpp2, (mark1 <= 5) & (mark1 >= 1) & (ma...
(mark1 > 5) & (mark2 == "シラキ"), correction=...
par(new=TRUE)
count <- count+1
}
return(count/n)
}
plotmeans(sqrt(iso/pi)-r ~r, connect=F, data=KC)
上記のよう実行しますと、平均値だけがプロットされて信頼区...
どなたかご教授お願いいたします。~
~
使用環境は~
R version 2.9.2 (2009-08-24)
i386-pc-mingw32
です.よろしくお願いいたします.~
//
- 人に見てもらおうという場合には,プログラムの書き方にも...
mymonte はどこで使うのですか?Dataset というのは何ですか...
そのままコピーして R コンソールにペーストしたら動く(好ま...
- plotmeans は gplots にあることはわかりました。owin, as....
- ご回答ありがとうございます。説明が足らず申し訳ありませ...
mymonteを後付するまでは
for(i in 1:1000){
X<-runif(704)*50
Y<-runif(704)*50
XY<-data.frame(X,Y)
XY<-data.frame(XY,Dataset[,c(2,12)])
w<-owin(c(0,50),c(0,50))
Rpp<-as.ppp(XY[,1:2],w,fatal=FALSE)
mark1<-XY$DBH.02.
mark2<-XY$sort
Rpp1<-Rpp %mark% mark1
Rpp2<-Rpp1 %mark% mark2
KC<-Kmulti(Rpp2,(mark1<=5)&(mark1>=1)&(mark2=="ヤブムラ...
(mark1>5)& (mark2=="シラキ"),correction="isotropic")
par(new=T)
plot(KC, sqrt(iso/pi)-r ~ r,ylim=c(-5,5)) # L関数のグラフ
}
としていました。これを実行しますと、KCが回数を重ねるたび...
- 「そのままコピーして R コンソールにペーストしたら動く(...
> mymonteは私が指定したのですが、この場合必要ないという...
ですから,それをどうやって使うのかと聞いているのです。mym...
**read.tableの文字列の読み込みについて [#mdb9a6c4]
>[[きりん]] (2009-10-05 (月) 11:09:19)~
~
下の方と同様な内容で恐縮ですが、質問させてください.~
(私もいつも同じような問題で悩むものですから)~
~
下の方と同様の例ですが、
# testdata.txt
"文字","英数","値1","値2"
"1","12345","a",10,1.4142
"2","00123","b",100,1.732
"3","02","0",1000,3.1415
(私の扱うフィルも列名に【”】が付いています.)~
これを、
read.table(file="testdata.txt", sep=",", as.is=T)
で読み込むと、
文字 英数 値1 値2
1 12345 a 10 1.4142
2 123 b 100 1.7320
3 2 0 1000 3.1415
のように、読み込んでしまうのですが、ヘルプを読むとデフォ...
(「as.is=T」をつけなければファクターに変換されますが.こ...
下の方の様に「quote=""」とすると、これはquotingを無効にす...
X.文字. X.英数. X.値1. X.値2.
"1" "12345" "a" 10 1.4142
"2" "00123" "b" 100 1.7320
"3" "02" "0" 1000 3.1415
のようになるのは、ある意味納得できます.列名に「X.」とか...
ちなみに
> tmp <- read.table(file="testdata.txt", sep=",", as.is=...
> tmp$文字
[1] "\"12345\"" "\"00123\"" "\"02\""
となって、値自体に【”】が入っています.クオート文字として...
~
私も、列数が少ない場合や、デフォルトでnumericで読まれるよ...
ですが、異なったファイル毎に、いちいちcolClassesを指定す...
~
このように、【”】でくくられた列(値)を文字列として読み込...
どなたかご教示いただけると幸いです.~
//
- ?read.tableして、default.stringsAsFactorsを理解すれば、...
- > いちいちcolClassesを指定するのは面倒ですし~
自分でプログラムを書いたらどうですか,といったのは,以下...
> x <- readLines("testdata.txt", n=2)
> l1 <- unlist(strsplit(x[1], ","))
> l2 <- unlist(strsplit(x[2], ","))
> (Quotes <- grep('\".*\"', l2))
[1] 1 2 3
> colClasses <- rep("numeric", length(l2)) # 基本的には...
> colClasses[Quotes] <- "character" # ダブルクオートが2...
> colClasses # 実際どんなふうになるか
[1] "character" "character" "character" "numeric" "num...
> (d <- read.table("testdata.txt", header=TRUE, colClass...
文字 英数 値1 値2
1 12345 a 10 1.4142
2 00123 b 100 1.7320
3 02 0 1000 3.1415
> sapply(d, class) # 期待したものになっていることの確認
文字 英数 値1 値2
"character" "character" "numeric" "numeric"
- file=connectionなので、"で囲んだ部分はデフォルトで文字...
- akiraさん、返信ありがとうございます.ヘルプでは「string...
> default.stringsAsFactors()
[1] TRUE
となります.で「as.is = !stringsAsFactors」ですから、opti...
> read.table(file="testdata.txt", sep=",", as.is=F)[,1]
[1] 12345 123 2
となって、ファクターとしても認識してくれません.こういう...
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-pc-mingw32
です. -- きりん &new{2009-10-05 (月) 14:59:18};
- 「file=connectionなので」を書いていただいた方ありがとう...
- read.table のプログラムを読んでみたところ,文字列として...
> class(type.convert("00123", as.is=T)) # as.is に関わら...
[1] "integer"
> class(type.convert("00123", as.is=F))
[1] "integer"
> class(type.convert("A", as.is=F)) # 数値ではないものは...
[1] "factor"
> class(type.convert("A", as.is=T))
[1] "character"
> class(type.convert("TRUE", as.is=T)) # 文字列でも,TRU...
[1] "logical"
> class(type.convert("TRUE", as.is=F)) # as.is に関わら...
[1] "logical"
- ↑河童さんが解説してくれていますが、現在のread.tableの仕...
- いやいや「file=connection」さんのおっしゃるとおりで、ま...
read.table2 <-
function (file, header = FALSE, sep = "", quote1 = "\"'",
quote = "\"'", dec = ".", #「quote1」引数を追加
row.names, col.names, as.is = !stringsAsFactors, na....
colClasses = NA, nrows = -1, skip = 0, check.names =...
fill = !blank.lines.skip, strip.white = FALSE, blank...
comment.char = "#", allowEscapes = FALSE, flush = FA...
stringsAsFactors = default.stringsAsFactors(), encod...
・・・
first <- scan(file, what = "", sep = sep,
quote = quote1, #「quote1」引数に...
nlines = 1, quiet = TRUE, skip = 0, strip.wh...
blank.lines.skip = blank.lines.skip, comment...
allowEscapes = allowEscapes, encoding = enco...
・・・
for (i in (1:cols)[do]) {
data[[i]] <- if (is.na(colClasses[i]) & as.is[i] &
(length(grep("^\".*\"$", data[[i...
gsub("\"$", "", gsub("^\"", "", data[[i]]))
else if (is.na(colClasses[i]))
type.convert(data[[i]], as.is = as.is[i], de...
na.strings = character(0))
> read.table2(file="testdata.txt", sep=",", as.is=T, quo...
string eisu val1 val2
"1" 12345 a 10 1.4142
"2" 00123 b 100 1.7320
"3" 02 0 1000 3.1415
- 行名がいまひとつですが、とりあえずこんなところでしょう...
- quoatedAsStringみたいなbooleanの引数を作って(defaultはF...
- まったくおっしゃるとおりです.ありがとうございます. --...
**データの取り込みについて [#ya815e16]
>[[冷蔵庫]] (2009-10-02 (金) 16:22:13)~
~
いつもお世話になっています。R初心者です。~
~
read.tableのquoteの挙動、データの取り込みについて教えてい...
~
例えば、以下のデータがtestdata.txtとしてあった場合、~
(1行目が列名、1列目が行名です。列名、行名にそれぞれ「””...
#testdata.txt~
"文字","英数","値1","値2"
"1","12345","a",10,1.4142
"2","00123","b",100,1.732
"3","02","0",1000,3.1415
~
データの文字と数値を区別して取得したく、~
testresult <- read.table(file="testdata.txt", sep = "," ...
~
で取り込むと、読み込んだデータの列名が「X.列名.」になって...
行名も「"行名"」になってしまいます。~
X.文字. X.英数. X.値1. X.値2.
"1" "12345" "a" 10 1.4142
"2" "00123" "b" 100 1.7320
"3" "02" "0" 1000 3.1415
~
この列名の「X. - .」、行名の「" - "」が付かないように読み...
ここで、quote=""を除くと、「00123」(文字)が「123」(数...
文字 英数 値1 値2
1 12345 a 10 1.4142
2 123 b 100 1.7320
3 2 0 1000 3.1415
~
列名に「X. - .」、行名に「" - "」を付けず、~
データ内容を元のとおりに取得する方法は何かありますでしょ...
~
Rは、~
R version 2.9.1 ~
i386-pc-mingw32 ~
で、windowsXPを使用しております。~
~
どうぞよろしくお願い致します。~
//
- いつもおしいなあ。オンラインヘルプを読めばそこに答えが...
colClasses 引数の説明を良く読もう。 -- [[河童の屁も雨で湿...
> (x <- read.table(file="testdata.txt", sep = "," , head...
+ colClasses=c("character", "character", "character", "i...
文字 英数 値1 値2
1 12345 a 10 1.4142
2 00123 b 100 1.7320
3 02 0 1000 3.1415
> sapply(x, class)
文字 英数 値1 値2
"character" "character" "integer" "numeric"
- 早速の回答ありがとうございます!colClasses引数だったの...
- 引き続きすみません。この場合、全ての列についてclass指定...
- > 全てのclassが分からない場合~
そんなことは,あるはずないし,あってはならないこと(どん...
複数の連続は rep(ほげほげ, 繰り返し回数)。「ほげほげ」も...
どのようなものを読むことになるかもわからないということな...
- ご回答ありがとうございました。多くの列がある場合、人の...
//-河童が回答の場所を間違ってるようなので、上の質問から転載
// 呼び捨て許すまじ
**非線形回帰分析で決定係数を算出する方法をご教示下さい. ...
>[[初心者S]] (2009-09-30 (水) 16:52:45)~
~
R2.4.1を使っている初心者Sです.~
~
以下のようなデータに対して,非線形回帰をおこないました....
~
# データ
Delay<-c(3,6,12,24,36)
Value<-c(85,75,50,40,30)
# nlsでの非線形回帰
fm <- nls(Value ~ 100 /(1 + k * Delay), start=list(k=0))
summary(fm)
//
- 非線形回帰に決定係数はありません。対数尤度かAICで評価し...
自分の自由になるコンピュータなら,R を最新版に更新した方...
> logLik(fm)
'log Lik.' -12.80497 (df=2)
> AIC(fm)
[1] 29.60994
- 「河童の屁」先生,初心者Sです.行動科学系の学術論文では...
- > 行動科学系の学術論文では,… 非線形回帰のモデルの場合...
ドンダケいい加減な領域であることやら。Excel の「近似曲線...
単に,線形回帰分析のときの類推で,1-残差平方和/全平方和 ...
Nagelkerke の R^2 というのもあるけどめんどくさい。 -- [[...
**for-loopのどこでwarningが出たか知りたい [#v571c057]
>[[akira]] (2009-09-29 (火) 10:35:07)~
~
いつもありがとうございます.~
for-loopで処理を回すと、ときどきエラーが出ます.エラー発生...
具体的にはLDAでcolinearにならなければpredict、colinearな...
できればLDAに特化しない方法にしたいので、warnings()の返り...
LDAで良い例をかけないので、代替コードを書きます.
> x <- NULL
> for(i in c(1,-4,5,-6,3)) x <- c(x,log(i))
Warning messages:
1: In log(i) : 計算結果が NaN になりました
2: In log(i) : 計算結果が NaN になりました
> x
[1] 0.000000 NaN 1.609438 NaN 1.098612
NaNになる場合に
> x
[1] 0.000000 -100 1.609438 -100 1.098612
になるようにするイメージです.
//
- 本当にwarningを捕まえたいのですか? errorならtry()...
- 簡単な処理なら
try('処理A','エラー処理')
でいいと思うのですが、'エラー処理'が少し長いスクリプトで...
if('処理A'==OK){
'処理B'
'処理C'
}else{
'エラー処理A'
'エラー処理B'
}
みたいにしたいな、と。~
もしかして、
try('処理A';'処理B';'処理C','エラー処理A';'エラー処理B')
みたいな方法もあるのでしょうか? -- [[akira]] &new{2009-09...
- もっと洒落た方法があると思うけど・・・ifは使えてません...
x <- NULL
dat<-c(1,-4,5,-6,3)
len<-length(dat)
for(i in 1:len){
cmd<-paste("x <- c(x,log(dat[",i,"]))",sep="")
eval(parse(text=cmd))
}
dat2<-NULL
len2<-length(warnings())
for(j in 1:len2){
cmd2<-paste("dat2[",j,"]<-as.character(warnings()[[",j,...
eval(parse(text=cmd2))
}
dat2<-as.numeric(dat2)
x[dat2]<-"-100"
x
- 警告をエラーにして, tryCatchすれば良いだけです. -- &ne...
options(warn=2) # 警告をエラーに設定するのがミソ
x<-NULL
for(i in c(1,-4,5,-6,3)) x <- c(x,tryCatch(log(i),error=...
- こんな方法があったのね。option近辺をうろうろしてたんだ...
- ありがとうございます.tryCatch()に自作関数をつないで事な...
**mtext()内にitalicを用いた際の改行 [#cd379a2b]
>[[R初学者]] (2009-09-28 (月) 14:38:06)~
~
以前にも同じような質問をさせていただきましたが、再度質問...
~
plot()やhist()関数でグラフを作った後に、x軸の下にmtext()...
その際、説明の中にイタリックが一部混ざります。~
そのイタリックを表示するために、expression(italic())を用...
どのようにすれば正しく改行されるのでしょうか?~
~
以下に例を貼っておきます。
> par(mar=c(7, 5.3, 2.5, 1))
> hist(rnorm(1000), main="例", ylab="頻度")
> mtext(expression(paste("x軸ラベルの下に左揃えで表示す...
+ italic("italic"),"改行すると\nうまく改行ができません")),
+ side=1, line=5,font=2,adj=0)
よろしくお願いいたします。~
//
- これはplotmathが想定した動作です. expression 内が式を表...
par(mar=c(8, 5.3, 2.5, 1))
hist(rnorm(1000), main="例", ylab="頻度")
texts<-list(expression("x軸ラベルの下に左揃えで表示する...
expression(paste("このように文の途中にイタリ...
italic("italic"),
"改行すると")),
expression("うまく改行ができません"))
lapply(seq(length(texts)),function(i)mtext(texts[[i]],si...
- ありがとうございます。もしよろしければ、list()やlapply(...
- > もしよろしければ、list()やlapply()について、もう少し...
そこまで望むのは,さすがにどうかなあと思いますね。list に...
- おやおや,お返事がないですか。びびりました?「初心者に...
par(mar=c(8, 5.3, 2.5, 1))
hist(rnorm(1000), main="例", ylab="頻度")
mtext(expression("x軸ラベルの下に左揃えで表示するのです...
mtext(expression(paste("このように文の途中にイタリック体...
italic("italic"),
"改行すると")),side=1,line=5,font...
mtext(expression("うまく改行ができません"), side=1,line=...
**Rコマンダーを使用し、クラスター分析を行ってます [#q436a...
> (2009-09-26 (土) 16:12:33)~
~
Rコマンダーを使用し、クラスター分析を行ってますが、デンド...
//
-R コマンダーなんか使うからいけないのですよ。hclust の返...
-ご回答頂き、本当にありがとうございます。試してみます。質...
- 先ほどは、質問場所を間違え「トップ」に記述したにも関わ...
- 先のコメントに書いたことに尽きますが。hclust の返すオブ...
> set.seed(3141592)
> (dataset <- data.frame(x=rnorm(10), y=rnorm(10),
+ Country=paste("国", letters[1:10], sep="-")))
x y Country
1 0.19317799 1.3714874 国-a
2 -0.04847455 -0.5333877 国-b
3 -0.21257424 0.6863163 国-c
4 0.93021111 -0.7932223 国-d
5 -0.65881763 -0.7391611 国-e
6 -1.08777535 0.7393223 国-f
7 1.33396058 0.3414277 国-g
8 -0.52538553 -0.2207230 国-h
9 0.45192105 -0.6031778 国-i
10 -0.20926002 1.2376127 国-j
> obj <- hclust(dist(dataset[1:2]))
> str(obj) # これをやって,どんなものが返されるか確認し...
List of 7
$ merge : int [1:9, 1:2] -1 -2 -5 -3 -4 -6 3 -7 6 ...
$ height : num [1:9] 0.424 0.505 0.535 0.796 1.013 ...
$ order : int [1:10] 6 3 1 10 7 5 8 4 2 9
$ labels : NULL
$ method : chr "complete"
$ call : language hclust(d = dist(dataset[1:2]))
$ dist.method: chr "euclidean"
- attr(*, "class")= chr "hclust"
> plot(obj, hang=-1, label=dataset$Country)
> as.character(dataset$Country[obj$order]) # 結局,こ...
[1] "国-f" "国-c" "国-a" "国-j" "国-g" "国-e" "国-h" "...
[10] "国-i"
&ref(cluster-name.png);
- 基本中の基本が解ってない事を理解しているところです。 --...
- 大変有難く思います。少しずつ、解って来た様な気がしてお...
- 「河童の屁に火をつける」先生のご指導の賜物で、目的のテ...
- 4冊も買えば十分。それぞれを良く読む。書かれている通りを...
**欲張りなテーブル表示をしたいのですが・・・ [#fda6a45d]
>[[sakura]] (2009-09-23 (水) 21:34:26)~
~
> tapply(<file_name>$age, list(sex=<file_name>$<cate_val...
+ mean, na.rm=TRUE)
<cate_variable>
sex male female
AvAw 53.58940 56.82658
V_over 60.60800 63.74648
W_over 52.92593 58.81119
Zoo 56.63345 62.18116
上記のスクリプトを変更して、meanの横に、sd やパーセンタイ...
例えば、
<cate_variable>~
sex male female~
mean sd mean sd~
AvAw 53.58940 10.34567 56.82658 10.98765
V_over 60.60800 12.45678 63.74648 10.98765
W_over 52.92593 11.56789 58.81119 10.98765
Zoo 56.63345 13.78901 62.18116 10.98765
のように出力させるには???~
//
- どうも,質問の呈示が尋常じゃないので,何が聞きたいのか...
> set.seed(7460) # 試してみるときのために
> n <- 200
> d <- data.frame(
+ age=sample(factor(1:5), n, replace=TRUE),
+ sex=sample(factor(1:2), n, replace=TRUE),
+ x=rnorm(n))
> a <- tapply(d$x, list(d$sex, d$age), # sex, age の組...
# データ数b,平均値,標準偏差を求める(その...
+ function(z) {
+ return(c(sum(!is.na(z)), mean(z), sd(z)))
+ })
> t(matrix(unlist(a), 3)) # 各行が,factor のどのような...
[,1] [,2] [,3] # 各列は,データ数,平...
[1,] 23 -0.244357375 1.0565744
[2,] 25 0.005392937 1.0587101
[3,] 30 -0.173957371 1.0238300
[4,] 28 0.127966034 0.9435006
[5,] 20 0.075841321 1.1881929
[6,] 13 0.253818609 0.9067395
[7,] 17 0.106300283 0.9716491
[8,] 17 0.115522521 1.0345919
[9,] 13 -0.025486074 0.6829240
[10,] 14 0.042842295 1.0857778
> array(unlist(a), dim=c(3,5,2)) # array 関数で表示する...
, , 1 # sex = 1
[,1] [,2] [,3] [,4] ...
[1,] 23.0000000 25.000000000 30.0000000 28.0000000 20.00...
[2,] -0.2443574 0.005392937 -0.1739574 0.1279660 0.07...
[3,] 1.0565744 1.058710098 1.0238300 0.9435006 1.18...
, , 2 # sex = 2
[,1] [,2] [,3] [,4] ...
[1,] 13.0000000 17.0000000 17.0000000 13.00000000 14.000...
[2,] 0.2538186 0.1063003 0.1155225 -0.02548607 0.042...
[3,] 0.9067395 0.9716491 1.0345919 0.68292405 1.085...
**x軸のラベルを二段にするには [#kc6b73f6]
>[[R初学者]] (2009-09-16 (水) 19:36:26)~
~
グラフ(今回は棒グラフ)をつくる際に、x軸のラベルを以下の...
二段構成にしたいと思っていますが、どうすればよいのかわか...
~
male female~
species name
~
色々と調べてはみたのですが、はっきりとした答えがなかった...
よろしくお願いいたします。~
//
- 単に xlab を表す文字列中,1行目の後に \n を入れればよい...
> hist(rnorm(10000),
+ xlab="一行目の後にバックスラッシュとnを置けば,\n改...
&ref(2lines-xlab.png);~
mtext を使うという方法もある。いろいろ工夫すべし。
old <- par(mar=c(5, 5.3, 2.5, 1))
hist(rnorm(1000),
main="main においても,\n同じテクニックが使えるよ",
ylab="頻度\nmarの設定が必要になることもある",
xlab="一行目と二行目の")
mtext("文字サイズやフォントを変えるときなどはこんなやり...
side=1, line=3.8, cex=0.7, font=2)
&ref(2lines-labels.png);
- 非常に単純ですね・・・。回答ありがとうございました。 --...
- そうなんですよ。非常に単純。 -- [[河童の屁]] &new{2009-...
**近似曲線の求め方 [#s15e809d]
>[[おじさんの悩み]] (2009-09-15 (火) 01:24:36)~
~
現在、あるサービスにおいてWEBにてQ&A集を作ることを検討し...
Q&Aを作るにあたり、特定の期間モニターに質問をして頂き、そ...
指数近似や多くの関数を元に最小ニ乗法を使って合わせこみを...
0 0~
1 5.9~
2 11.1~
3 15.7~
4 19~
5 21.9~
6 24.5~
7 26.9~
8 29.2~
9 31.5~
10 33.3~
11 34.9~
12 36.5~
13 38.1~
14 39.7~
15 41.2~
16 42.6~
17 44~
18 45.4~
19 46.7~
20 48~
//
- 累積質問率って何ですか?Rより先に統計学を勉強した方が...
- 要するに,横軸が0:20,縦軸が0〜48の点列に,何らかの曲線...
それにしても,「最小二乗法」の漢字の「二」がカタカナの「...
> x <- 0:20
> y <- c(0, 5.9, 11.1, 15.7, 19, 21.9, 24.5, 26.9,
+ 29.2, 31.5, 33.3, 34.9, 36.5, 38.1, 39.7, 41.2,
+ 42.6, 44, 45.4, 46.7, 48)
> d <- data.frame(x=x, y=y)
> res <- nls(y~SSasymp(x, a, b, c), data=d)
> summary(res)
Formula: y ~ SSasymp(x, a, b, c)
Parameters:
Estimate Std. Error t value Pr(>|t|)
a 55.76073 1.44109 38.694 <2e-16 ***
b 1.55679 0.55181 2.821 0.0113 *
c -2.40868 0.05779 -41.678 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1...
Residual standard error: 0.7988 on 18 degrees of freedom
Number of iterations to convergence: 0
Achieved convergence tolerance: 1.721e-06
> plot(d$x, d$y, xlim=c(0, 70), ylim=c(0, 60),
+ pch=19, cex=0.5)
> abline(h=res$m$getPars()[1], lty=3, col="blue")
> x2 <- seq(0, 70, by=0.1)
> d2 <- data.frame(x=x2)
> y2 <- predict(res, newdata=d2)
> lines(x2, y2, col="red")
&ref(fit-nls.png);
- 言葉の定義が不十分ですみません。質問の多い順番にTOP...
- ああ,そう。そのような場合は,べき乗則ですね。横軸に順...
> y <- c(0, 5.9, 11.1, 15.7, 19, 21.9, 24.5, 26.9,
+ 29.2, 31.5, 33.3, 34.9, 36.5, 38.1, 39.7, 41.2,
+ 42.6, 44, 45.4, 46.7, 48)
> y2 <- log(diff(y))
> x2 <- log(1:20)
> plot(y2 ~ x2, pch=19, cex=0.5, main="べき乗則(広義の...
+ xlab="順位の対数", ylab="頻度の対数")
> ans <- lm(y2 ~ x2)
> abline(ans, col="red")
> ans
Call:
lm(formula = y2 ~ x2)
Coefficients:
(Intercept) x2
1.9725 -0.5749 # 傾きが -0.579 なので,広義の...
&ref(jips-law.png);~
上に続けて,
> x2 <- log(1:100)
> y2 <- ans$coefficients[1]+ans$coefficients[2]*x2
> plot(exp(y2), pch=19, cex=0.5,
+ main="1〜20までの頻度から予測した結果--ロングテール",
+ xlab="順位", ylab="頻度")
> points(diff(y), col="red", pch=19, cex=0.5)
> legend("topright", legend=c("実測値", "予測値"), pch=c...
col=c("red", "black"))
&ref(long-tail.png);
- 図表のフォントが綺麗なのですが、MACだからですか? -- &...
- 大変お世話になりました。お礼を申し上げるのが、遅れてす...
**Rcomanderのクラスタリング図で名称が表示されない [#m0afc...
>[[R初心者くん]] (2009-09-13 (日) 03:40:01)~
~
お世話になっています。Rcomanderについて質問させてください...
~
3列のデータがあったとします。その最も左の列にサンプルの...
そのサンプル名をRcomanderを利用してつくったクラスタリング...
~
ご存知の方がいらっしゃたらご教授願えないでしょうか~
お願いします。~
//
- 過去にも同じような質問があったはずで。print.hclust の l...
ちょっと見てみましたけど,オプショナルな引数を直接的に指...
HClust.1 <- hclust(dist(model.matrix(~-1 +
Petal.Length+Petal.Width+Sepal.Length+Sepal.Width, iri...
plot(HClust.1, main= "Cluster Dendrogram for Solution HC...
"Observation Number in Data Set iris", sub="Method=ward;
Distance=euclidian", labels=iris$Species)
&ref(plot.hclust.png);
- ご丁寧な解説ありがとうございました!参考にさせていただ...
**列を増やし通し番号を振る [#q560bbc4]
>[[yuri]] (2009-09-09 (水) 10:56:26)~
~
10万行ほどのファイルを読み込んで作業をしますが、新しく一...
//
- データフレームを d とすれば,d$index <- 1:nrow(d)。それ...
- 初歩的なことですみませんでした!大変助かりました。どう...
**相関関係を表すグラフ [#i3120f0b]
> [[にぽぽ]](2009-09-08 (火) 20:21:00)~
~
初級者にすら到達していない者です。~
統計解析をRで行いなさい、と突然上の者から指示され、こちら...
R2.9.0です。~
~
下の表のような表があります。~
縦軸が商品、横軸が年齢層です。~
縦軸横軸ともに10項目以上あります~
A B C D E F・・・
イ 0 1 0 0 0 0
ロ 1 0 0 0 0 0
ハ 0 0 1 1 1 0
・
・
・
縦軸の相関関係を表わそうとigraphでやってみたのですが、ど...
shouhin<-matorix(c(0,1,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,0・...
と書いて
library(igraph)
として、行き詰ってしまいました。~
~
そもそも、相関関係という言葉が正しいのかもわからないので...
~
どの関数を使ったら、目的のグラフを描画することができるで...
お力をお貸しいただければ嬉しいです。~
//
- MASS ライブラリにある corresp 関数(コレスポンデンス・...
> (d <- structure(list(A = c(0L, 1L, 0L), B = c(1L, 0L, ...
+ 0L, 1L), D = c(0L, 0L, 1L), E = c(0L, 0L, 1L), F = c(1...
+ 0L)), .Names = c("A", "B", "C", "D", "E", "F"), class ...
+ row.names = c("イ", "ロ", "ハ")))
A B C D E F
イ 0 1 0 0 0 1
ロ 1 0 0 0 0 0
ハ 0 0 1 1 1 0
> library(MASS)
> library(maptools)
> (ans <- corresp(d, nf=2))
First canonical correlation(s): 1 1
Row scores:
[,1] [,2]
イ -8.732638e-17 -1.4142136
ロ -2.121320e+00 0.7071068
ハ 7.071068e-01 0.7071068
Column scores:
[,1] [,2]
A -2.121320e+00 0.7071068
B -2.019203e-16 -1.4142136
C 7.071068e-01 0.7071068
D 7.071068e-01 0.7071068
E 7.071068e-01 0.7071068
F -9.637845e-17 -1.4142136
> layout(matrix(1:2, 1))
> plot(ans$cscore)
> pointLabel(ans$cscore[,1], ans$cscore[,2], rownames(an...
> plot(ans$rscore)
> pointLabel(ans$rscore[,1], ans$rscore[,2], rownames(an...
> layout(1)
&ref(corresp.png);
- 河童の屁様、さっそくにありがとうございます。コレスポン...
- 「上司は0でも解析してくれるのがRらしいと聞き及んでい...
- ご丁寧な回答、ありがとう存じます。冷静になって考えると...
- 'empty row or column in table' の empty とは,ある行(...
**行の値を区切り文字で2分割したい場合のNAの処理 [#b7e894...
>[[ぼう]] (2009-09-08 (火) 09:07:07)~
~
お世話になります。~
たとえば下記のようなグループ名をもつ行列dfがありまして(r...
~
欠損が無ければstrsplit(rownames(df),"-")とunlistを組み合...
アドバイスいただければ幸いです。~
これを
df <- data.frame(1:6)
rownames(df)<-c(
"A-I",
"A-II",
"A-",#←こんな風に欠損がところどころある。
"B-I",
"B-II",
"-III"
)
こうしたい
|c1|c2 |value|
|A |I |1|
|A |II |2|
|A |NA |3|
|B |I |4|
|B |II |5|
|NA|III|6|
~
//
- R はプログラムできるのだから,やりたいことができるよう...
ans <- sapply(rownames(df), function(str) {
a <- unlist(strsplit(str, "-"))
len.a <- length(a)
if (len.a == 1) { # "-" の後がない
return(c(a, NA))
} else if (a[1] == "") { # "-" の前がない
return(c(NA, a[2]))
} else { # 完全
return(a)
}
})
(df2 <- data.frame(c1=ans[1,], c2=ans[2,], value=df[,1]))
- ありがとうございます。そのとおりではあるのですが、apply...
**中身を変えて同じ関数を何度も繰り返し実行したい [#me9cb1...
>[[tefu]] (2009-09-07 (月) 21:17:18)~
~
初歩的な質問で申し訳ありません。~
~
ある関数function(x)のxに、毎回違う数字を入れて何度も繰り...
~
挿入する数字に規則性はなく、数百回単位で繰り返したいので...
//
- その数値をベクトルに入れておいて,x <- c(1,3,2,5); sapp...
場合によっては,例に挙げたような場合なら,関数なんか使わ...
- 普通のFor文で書いてはダメでしょうか? このあたりを見て...
- Rならベクトル演算が定石でしょうね。「毎回違う数字」の出...
- For文でできました。ありがとうございました。 -- [[tefu]]...
**aov関数で求められる平方和 [#ze1b2efe]
>[[aor]] (2009-09-06 (日) 19:11:53)~
~
以前はfactor関数についてお世話になりました。~
aov関数で求められる平方和について教えていただきたく、投稿...
~
[[Jonathan Baronによる解説:http://www.psych.upenn.edu/~ba...
~
上記の解説、Unbalanced (Nonorthogonal) Designsのセクショ...
SPSSで平方和のタイプを2と設定すれば、aov関数の結果と一致...
~
aovで求められる平方和はタイプ2、ということなのでしょうか。~
現在、SPSS、SASを使用できる環境ではなく、検証できておりま...
aovでの平方和についてご存知の方、あるいは検証方法について...
いただけたら幸いです。よろしくお願いいたします。~
環境はR2.9.2、windows vistaです。
~
~
なお、平方和について不勉強で、色々検索し、[[中澤先生の解...
anova関数ではタイプ1、という記述は色々なところで散見され...
aov関数でどのように行っているかは (自分としては) 不明です。
~
また、筑波大学の[[井関先生の作成された分散分析関数:http:/...
平方和をタイプ2に指定して検証してみましたが、aov関数の結...
以下はJonathan Baronの解説で記載されていた混合計画の分散...
##Jonathan Baronの解説でのaov関数を使うコード (少し修正...
#データ生成
data1<-c(49,47,46,47,48,47,41,46,43,47,46,45,48,46,47,45...
45,40,49,46,47,45,49,45,41,43,44,46,45,40,45,43,44,45,48...
### 交互作用ありにしたいときのデータ (これは私が加えたも...
####data1<-c(49,10,46,47,48,47,41,46,43,5,46,5,48,46,47,...
####45,40,49,46,47,45,49,45,41,43,44,46,100,40,45,43,44,...
####data1<-c(49,10,46,47,48,47,41,46,43,5,46,5,48,46,47,...
####45,40,49,46,47,45,49,45,41,43,44,46,100,40,49,10,46,...
## 行列化 (データ確認のため)
matrix(data1, ncol= 4, dimnames = list(paste("subj", 1:1...
c("Shape1.Color1", "Shape2.Color1" ,"Shape1.Color2", "Sh...
# aov用のデータフレーム作成
Hays.df <- data.frame(rt = data1, subj = factor(rep(past...
shape = factor(rep(rep(c("shape1", "shape2"), c(12, 12))...
color = factor(rep(c("color1", "color2"), c(24, 24))))
# 非釣合型のデータにするため、grp変数を付け加える
Hays.df$grp <- factor(rep(c(1,1,1,1,1,1,1,1,2,2,2,2), 4))
# aovで分析
aovres <- aov(rt ~ grp*color*shape + Error(subj/(color+s...
summary(aovres)
## anovakun (井関先生の分散分析関数) でも検証するために...
## 分散分析関数を読み込めるようにしないと動作しません。
datkun <- data.frame(matrix(data1, ncol= 4, dimnames = l...
c("Shape1.Color1", "Shape2.Color1" ,"Shape1.Color2", "Sh...
grp <- c(1,1,1,1,1,1,1,1,2,2,2,2)
datkun <- data.frame(cbind(grp, datkun))
# anovakunで分析
anovakun(datkun, "AsBC", 2, 2, 2, type2=T)
以上の分析で、結果が一致したため、aov関数の平方和について...
どうぞよろしくお願いいたします。
//
- aovはタイプ1だと思います。aovではデータによっては変数の...
- ご回答ありがとうございます。他のサイトでのお話によると...
**Rで何が出来るのですか? [#da871e95]
>[[maru]] (2009-09-05 (土) 10:40:39)~
~
過去の売り上げから今後の売り上げ予測とか~
このような時系列の予測が出来るのでしょうか?~
//
- できます -- [[河童の屁]] &new{2009-09-05 (土) 11:20:49};
- >できます それは、単体のものでも可能なのでしょうか?...
- 例えば、えんぴつ単体の売り上げだけでも予測出来るのでし...
例えば、えんぴつ単体の売り上げだけでも予測出来るのでしょ...
それとも、えんぴつ単体では予測出来なくて
ノートの売り上げ、消しゴムの売り上げ、
これらの複数のデータと見合わせないとえんぴつの売り上げは、
予測出来ない。
そういうことは、ありませんか?-- [[maru]] &new{2009-09-05...
- 月ごとの鉛筆の売り上げのデータが何年分かあればできるで...
- ↑ どのような時系列モデルを使用するとよさそうでしょうか...
- それは,いろいろな予測方式がありますけど。取りあえず ? ...
- Rで全てのことができます。
- AirPasseners ? 具体的にやる方法を教えて頂けると助か...
- R のオンラインヘルプを見る方法です。クエスチョンマーク...
**tapplyで、複数の引数を使う関数(corなど)を扱うには [#a0...
>[[INA]] (2009-09-04 (金) 23:58:36)~
~
みなさま、どうぞよろしくお願いいたします。~
~
2つ以上の引数を用いる関数(corなど)を、tapplyで扱えずに苦...
~
ある産業分類(200種類くらい)に含まれる個店データ約20万件...
~
DataSet~
個店ID,産業分類,従業者数,販売額,設立年~
000001,01_パン小売業,10,10000,11~
000002,09_豆腐小売業,4,1200,2~
000003,14_金物小売業,20,25000,4~
: : : : :~
~
これらを「産業分類別に」分類,集計しようと考えています。~
その際、tapply関数を用いて、各産業ごとの集計を簡単にしよ...
~
例えば産業別の販売額合計については、~
> tapply(DataSet$販売額,DataSet$産業分類,sum)
で、産業分類別に問題なく集計できました。~
~
しかし「販売額と従業者数の相関関係」を見ようとした場合、~
~
>cor(DataSet$従業者数,DataSet$販売額)
~
のように、複数の引数を指定する必要があります。~
これをtapplyを用いて、産業分類別に処理しようとしたところ...
たとえば~
> tapply(DataSet,DataSet$産業分類,cor(DataSet$従業者数,D...
以下にエラー match.fun(FUN) :
'cor(DataSet$従業者数,DataSet$販売額)' は関数、文字、ま...
> tapply(list(DataSet$従業者数,DataSet$販売額),list(Data...
以下にエラー tapply(list(UDataSet$従業者数,DataSet$販売...
引数は同じ長さでなければなりません
のようになります。~
産業分類が多種類であることや、データが頻繁に追加・削除さ...
version 2.9.2、WinXP SP3上で動作中です。~
なにぶんにも未熟でございまして、よい方法をご存知の方、お...
//
- こんなんでどうでしょう -- &new{2009-09-05 (土) 00:11:2...
sapply(split(DataSet, DataSet$産業分類), function(x) cor...
- [[フレディー]] &new{2009-09-05 (土) 00:34:03};
sapply(split(DataSet[,3:4],DataSet[,2]), function(x) cor...
- 無駄が多いコードではあるが,以下のようなものも。 -- [[...
sapply(levels(iris$Species), function(x) {
y <- iris$Species==x
cor(iris$Petal.Width[y], iris$Petal.Length[y])
})
- お礼が遅くなりまして失礼致しました。sapplyを用いて、無...
**死を入力するとエラーになる [#z22417e1]
>[[akira]] (2009-09-01 (火) 19:30:02)~
~
いつもありがとうございます。~
ベクトルで「死」を指定するとエラーになるのですが、対処法...
WinXP R-2.9.1 Patchedの場合
Rgui.exeならOK
>c("死") #OK
R.exeだとエラー
>c("死") #NG
c(invalid multibyte character in mbcs_get_next
+)
+
Ubuntu9.04 R-2.9.1 の場合
>c("死") #OK
となります。~
R.exeだけで生じます。エンコードとか関係するのでしょうか?~
とりあえず、Ubuntuで対応できますが、少し気持ち悪いです。~
//
- エンコードでしょうね。最新バージョンとか言う人??です...
**データフレームの範囲を指定して因子変数にする方法 [#m1cd...
>[[aor]] (2009-08-31 (月) 21:33:00)~
~
初めて投稿させていただきます。~
200行30列からなるデータフレーム (dat) の第4列から第24列ま...
以下のようなコードではうまくいきませんでした。
factor(dat[4:24])
factor(dat[,4:24])
for (i in 4:24){
datf[i] <- factor(dat[i])
}
上3つのコードは以下のような警告がでます。~
以下にエラー sort.list(unique.default(x), na.last = TRUE...
'x' は 'sort.list' に対してはアトミックでなければなりま...
'sort' をリストに対して呼び出しましたか?
sapply(dat[,4:24], factor)
sapply(dat[4:24], factor)
上2つは警告は出ませんが、classがcharacterになります。~
現在は以下のように、個々の変数にfactorを適用しています。
dat[,4] <- factor(dat[,4])
dat[,5] <- factor(dat[,5]
....
dat[,24] <- factor(dat[,24]
これを範囲指定してまとめて行いたいのですが、よい方法をご...
なお、R2.9.1, WindowsVista環境です。
//
- カンマの有無に注意 -- [[河童の屁]] &new{2009-08-31 (月)...
set.seed(123) # 再現性のあるデータを作るため
dat <- data.frame(matrix(sample(4, 6000, replace=TRUE), ...
datf <- dat # 変換後のデータフレーム
for (i in 4:24) {
datf[,i] <- factor(dat[,i]) # カンマの有無に注意
}
sapply(datf[,4:24], class)
これも基本です。データフレーム x において,x[1] と x[,1] ...
- ご回答ありがとうございます。お教えいただいたコードで実...
- sapply ではなく,lapply を使えばよい。(これは,私も初...
set.seed(123) # 再現性のあるデータを作るため
dat <- data.frame(matrix(sample(4, 6000, replace=TRUE), ...
datf <- dat # 変換後のデータフレーム
datf[4:24] <- lapply(dat[4:24], factor)
sapply(datf[4:24], class)
- lapplyを教えてくださった方、ありがとうございます。sappl...
**Metaforのグラフィックについて [#z2c1773d]
>[[なんび]] (2009-08-31 (月) 17:33:24)~
~
Metaforを使って、メタアナリシスを行い、フォレストプロット...
~
forest(xxxx) というコマンドではデータが下からプロットさ...
自動的に「study1」「study2」と試験名がふられますが、~
データを上からプロットさせる方法はありますか。~
「study1」ではなく、自分のデータ(SOC)を描きいれる方法が...
以下のようなプログラムを作っています。~
~
library(metafor)~
dat<-scan("./zom.prn", ~
list(SOC="",ai=0,n1i=0,ci=0,n2i=0),~
skip=0,nlines=30,sep="")~
zompeto<-rma.peto(ai,n1i,ci,n2i, slab=NULL, subset=NULL, ...
add=c(1/2,0), to=c("only0","none"), level=95, di...
forest(zompeto)~
//
- 追試できません -- [[河童の屁]] &new{2009-08-31 (月) 18:...
> dat<-scan("./zom.prn",
+ list(SOC="",ai=0,n1i=0,ci=0,n2i=0),
+ skip=0,nlines=30,sep="")
以下にエラー file(file, "r") : コネクションを開くこと...
追加情報: Warning message:
In file(file, "r") :
ファイル './zom.prn' を開くことができません: No such ...
+ zompeto<-rma.peto(ai,n1i,ci,n2i, slab=NULL, subset=NUL...
+
+ add=c(1/2,0), to=c("only0","none"), level=95, ...
以下にエラー eval(expr, envir, enclos) : オブジェクト ...
+
> forest(zompeto)
以下にエラー forest(zompeto) : オブジェクト 'zompeto' ...
例えば,forest.default の example についていえば,データ...
forest.default の example の実行結果と,以下のコードの実...
dat.bcg2 <- dat.bcg[rev(dat.bcg[,1]),] # 大元のデータを...
dat <- escalc(measure="RR", ai=tpos, bi=tneg, ci=cpos, d...
slab <- paste(dat.bcg2$author, dat.bcg2$year)
slab[13] <- "Foo Bar 2009" # ラベルの書き換えというか,...
forest(dat$yi, dat$vi, slab=slab,
atransf=exp, xlab="Risk Rates (log scale)")
- zomのデータです。 -- [[なんび]] &new{2009-08-31 (月) 18...
- zom ってなに。どこにあるの? -- &new{2009-08-31 (月) 1...
- zomは上のプログラムで読み込ませてるデータの名前です。デ...
- すみません、そのforest.defaultというのは、どうすれば見...
- ? forest.default してみそ -- [[河童の屁]] &new{2009-08-...
- rma.peto なら,? forest.rma もしてみそ -- &new{2009-08...
- [forest.default]、[forest.rma]もみることができました。s...
- 上にも書いたけど。一般に,データフレーム x があれば, -...
x <- data.frame(a=c(5,2,3,2,1), b=c(4,3,2,1,5))
y <- x[nrow(x):1,] # とすればよい
実際にやって調べて見るなり。データの扱い方の基本あるよ。~
それと,重複した発言は消去するなりして,きれいに後始末し...
- >dat.bcg2 <- dat.bcg[rev(dat.bcg[,1]),] とおなじよう...
- dat2 <- dat[rev(dat[,1])]とかしてませんか? -- &new{200...
- してます・・・ -- [[なんび]] &new{2009-08-31 (月) 20:...
- 「してます・・・」って,原因がわかったということ?わか...
要するに,プログラムというのは,肝心なところは一文字でも...
また,最初に挙げた例よりは,後で挙げた例の方が一般的です...
- ありがとうございます。 もう少し戻って考え直してみたい...
**repeated-measure data & random effect [#d387a4d2]
>[[taipapa]] (2009-08-23 (日) 21:45:22)~
~
お世話になります.~
次のようなデータを分析してます.コントロール28人,疾患群2...
> madata
CorP X location subjectID
1 control 0.708 A 1
2 control 0.648 A 2
3 patient 0.638 C 3
4 control 0.547 D 4
5 patient 0.632 B 5
6 control 0.723 C 6
......
というかんじです.~
~
各A,B,C,Dは同一人物の場所なので,subjectIDでrandom effect...
model1 <- lme(X ~ CorP*location, random= ~ 1| subjectID,...
model2 <- lme(X ~ CorP*location, random= ~ location| sub...
基本的なことですが,書式がよく分からず,私の想定したモデ...
また,defaultでは,restricted log-likelihoodの最大化を行...
根本的に間違っているところもあるかもしれませんが,ご教示...
//
- 判別分析でないの? -- &new{2009-08-23 (日) 23:12:48};
- 私の目的は,疾患の有無の判別を行うことではなくて,疾患...
- データを下記のように考えると判別分析のような気がするん...
ID CorP A.X B.X C.X D.X
1 control 0.708 0.648 0.648 0.547
2 control 0.648 0.632 0.632 0.723
3 patient 0.638 0.708 0.708 0.632
4 ***
- アドバイスありがとうございます.ご指摘の通りのデータで...
- いやいや、locationに意味はあるのかというのは、ABCDが単...
- 何度もありがとうございます.因子という概念を私がきちん...
- 私も素人ですが、、、。RとS-plusによる多変量解析という本...
**順序ロジスティック回帰と変量効果 [#a190b1a8]
>[[dodoria]] (2009-08-20 (木) 02:34:47)~
~
順序ロジスティック回帰や多項ロジスティック回帰で、変量効...
//
**パッケージ"gdata"のロードの不具合 [#q426eed8]
>[[Hiro]] (2009-08-16 (日) 02:02:40)~
~
パッケージ"gdata"をロードしたいのですが、~
パッケージインストーラーでインストールして、~
パッケージマネージャでロード済みをチェックしても、~
以下の出力が表示されてロードすることができません。~
~
> library(gdata)~
Error in loadNamespace(i[[1L]], c(lib.loc, .libPaths())) ...
'gtools' という名前のパッケージはありません
エラー: 'gdata' に対するパッケージもしくは名前空間のロ...
~
これはどういった不具合なのでしょうか。~
ご回答いただければと幸いです。~
//
- gtools をロードしたら -- &new{2009-08-16 (日) 02:40:13};
- ご回答ありがとうございます。問題解決しました。 -- &new...
- パッケージの依存関係を解決にチェックを入れてインストー...
**Rエディタでタブの桁数は設定できるのでしょうか? [#nfc14...
>[[beerdog]] (2009-08-14 (金) 23:16:42)~
~
はじめまして。Windows版のR2.9.1を現在は使っています。~
内蔵のエディタで、タブのコントロールはできるのでしょうか?~
デフォルトで変な(?)桁数のようなので変更したいのですが。~
教えていただけますでしょうか?~
//
- ?edit -- &new{2009-08-15 (土) 20:42:44};
- ご回答ありがとうございます。外部エディタを使ったら?と...
**wireframe関数を用いた描画について [#ge4c449c]
>[[Gyo]] (2009-08-14 (金) 21:02:56)~
~
いつもお世話になっております。~
Rの超初心者なのですが、グラフィックの方法について、~
質問させていただけますでしょうか。~
~
以前のnekoさんのご質問内容に似ているのですが、、~
latticeパッケージにあるwireframe関数で画像を描画した後、~
その底面に同じ座標軸で図を描写したいのですが、~
なにか方法はありますでしょうか?~
~
lattice本のスクリプト集、以前のnekoさんへの回答内容を参考...
wireframe関数の場合、どのようにしたらいいか分かりませんで...
ご教授いただければ幸いです。よろしくお願いいたします。
wireframe(volcano, drape=T, col.regions=rgb(1, 0, 0, 0.1...
panel = function(x, y, ..., subscripts){
panel = panel.wireframe(x, y, ..., subscripts)
panel.points(20,20,col=2,cex=2) #多分ここに何か...
})
Rは、~
R version 2.9.1 ~
i386-pc-mingw32 ~
で、windowsXPを使用しております。~
~
どうぞよろしくお願い致します。~
//
- 以下はSarkar著 [[Lattice Multivariate Data Visualizatio...
> panel.3d.contour <-
function(x, y, z, rot.mat, distance,
nlevels = 20, zlim.scaled, ...)
{
add.line <- trellis.par.get("add.line")
panel.3dwire(x, y, z, rot.mat, distance,
zlim.scaled = zlim.scaled, ...)
clines <-
contourLines(x, y, matrix(z, nrow = length(x), ...
nlevels = nlevels)
for (ll in clines) {
m <- ltransform3dto3d(rbind(ll$x, ll$y, zlim.sc...
rot.mat, distance)
panel.lines(m[1,], m[2,], col = add.line$col,
lty = add.line$lty, lwd = add.line$...
}
}
> wireframe(volcano, zlim = c(90, 250), nlevels = 10,
aspect = c(61/87, .3), panel.aspect = 0.6,
panel.3d.wireframe = "panel.3d.contour", shad...
screen = list(z = 20, x = -60))
詳細は省きますが,この ltransform3dto3d()関数でzlim.scale...
- 「ヘルプを丁寧に読んで,自力で解決してください」とは,...
- ご回答、ご指導ありがとうございます。 後は、ヘルプを参...
**Cox回帰 [#tc46ce82]
>[[EPS]] (2009-08-11 (火) 21:36:13)~
~
Cox比例ハザードモデルで幾つかの独立変数(20程度)について単...
~
dataframe~
A B C D F G duration sta...
1 88 50 43 143 72 14 12 0~
2 130 86 40 98 64 8 16 1~
3 138 100 28 122 72 11 18 1~
一つ一つのパラメータについてresult.A<-coxph(Surv(duration...
for文やsapply関数を用いれば可能なのでしょうか?~
ご教授いただければ幸いです。よろしくお願いいたします。~
//
- そういう,単変量解析を繰り返すやり方はあまり好ましくあ...
- Nが小さいので単変量で有意となった独立変数(P<0.1)を用い...
- まずいです. -- &new{2009-08-14 (金) 14:12:21};
- 理由を教えていただけませんでしょうか?同様の手法を用い...
- http://aoki2.si.gunma-u.ac.jp/taygeta/statistics.cgi?pa...
**ネットワーク上の他のコンピュータに結果を書き出したい [#...
>[[EDI]] (2009-08-08 (土) 01:58:58)~
~
いつも、setwd()をつかって、使っているコンピュータ上に作業...
しかし、頻繁に別のコンピュータで作業したりしているので、...
そこで、ネットワーク上の別のコンピュータに保存されている...
~
質問としては、作業ディレクトリーとして同じネットワーク上...
//
- OSを明記してください。(OSによって回答がちがうでしょう...
- かぶりましたね。OS依存ではないでしょうか?OSは何を使っ...
- 確かにそうです。全てのコンピューターはOSはMac OSXです。...
- Macのシステム環境設定でファイル共有(afp)とWeb共有(WebDA...
- 確かに、まずそれを私も試しました。しかし、それだと、初...
- 解決しました。 -- [[EDI]] &new{2009-08-09 (日) 00:50:29};
- 解決しました。ありがとうございます。 -- [[EDI]] &new{20...
- 解決しました。ありがとうございます。 -- [[EDI]] &new{20...
- macの場合、マウントしたサーバのディレクトリをFinderから...
- Macでは公開するフォルダの[情報を見る]で共有フォルダのチ...
- なるほど。ありがとうございます。一応メニューバーよりcha...
- そうでしょう。getwd()で取り出せませんか? -- &new{2009...
**offset()は何にでも放り込めるわけではない? [#h154826c]
>[[Saito]] (2009-08-04 (火) 16:11:47)~
~
いつもお世話になっております。~
ヘルプドキュメント、RSiteSearch()、ネット検索しましたが、...
~
回帰をするときのオフセット項について質問です。普通、オフ...
glm(y ~ 1, offset=foo)
glm(y ~ 1 + offset(foo))
などとすると思います。しかし、使っている関数によっては引...
library(spBayes)
library(MASS)
##Generate binary data
n <- 50
coords <- cbind(runif(n,1,100),runif(n,1,100))
phi <- 3/50
sigma.sq <- 1
R <- sigma.sq*exp(-phi*as.matrix(dist(coords)))
w <- mvrnorm(1, rep(0,n), R)
x <- as.matrix(rep(1,n))
beta <- 0.1
p <- 1/(1+exp(-(x%*%beta+w)))
y <- rbinom(n, 1, prob=p)
##Collect samples
beta.starting <- coefficients(glm(y~x-1, family="binomia...
beta.tuning <- t(chol(vcov(glm(y~x-1, family="binomial")...
n.samples <- 50000
set.seed(1)
#オフセットなしの場合
m.1 <- spGLM(y~1, family="binomial", coords=coords,
starting=
list("beta"=beta.starting, "phi"=0.06,"sigma...
tuning=
list("beta"=beta.tuning, "phi"=0.1, "sigma.s...
priors=
list("beta.Normal"=list(0,10), "phi.Unif"=c(...
"sigma.sq.IG"=c(2, 1)),
cov.model="exponential",
n.samples=n.samples, sub.samples=c(25000,n.s...
verbose=TRUE, n.report=500)
> print(summary(mcmc(m.1$p.samples)))
Iterations = 1:2501
Thinning interval = 1
Number of chains = 1
Sample size per chain = 2501
1. Empirical mean and standard deviation for each variab...
plus standard error of the mean:
Mean SD Naive SE Time-series SE
(Intercept) -0.571 0.4431 0.008861 0.04042
sigma.sq 1.138 0.6225 0.012448 0.07147
phi 24.928 18.0839 0.361605 2.17077
2. Quantiles for each variable:
2.5% 25% 50% 75% 97.5%
(Intercept) -1.3557 -0.8788 -0.6007 -0.2938 0.3712
sigma.sq 0.1825 0.6351 1.1654 1.5494 2.3773
phi 10.0896 11.9748 17.1254 32.0178 77.8743
#オフセットを考慮した場合
m.1 <- spGLM(y~1 + offset(rep(1, length(y))), family="b...
starting=
list("beta"=beta.starting, "phi"=0.06,"sigma...
tuning=
list("beta"=beta.tuning, "phi"=0.1, "sigma.s...
priors=
list("beta.Normal"=list(0,10), "phi.Unif"=c(...
"sigma.sq.IG"=c(2, 1)),
cov.model="exponential",
n.samples=n.samples, sub.samples=c(25000,n.s...
verbose=TRUE, n.report=500)
> print(summary(mcmc(m.1$p.samples)))
Iterations = 1:2501
Thinning interval = 1
Number of chains = 1
Sample size per chain = 2501
1. Empirical mean and standard deviation for each variab...
plus standard error of the mean:
Mean SD Naive SE Time-series SE
(Intercept) -0.571 0.4431 0.008861 0.04042
sigma.sq 1.138 0.6225 0.012448 0.07147
phi 24.928 18.0839 0.361605 2.17077
2. Quantiles for each variable:
2.5% 25% 50% 75% 97.5%
(Intercept) -1.3557 -0.8788 -0.6007 -0.2938 0.3712
sigma.sq 0.1825 0.6351 1.1654 1.5494 2.3773
phi 10.0896 11.9748 17.1254 32.0178 77.8743
となり、offset()を入れても入れなくても、結果が同じになっ...
どうぞよろしくお願い致します。~
//
- すみません。やはり問題が特化しすぎていたようですね。ま...
**長さが異なる列を結合する方法 [#c6343cbb]
> (2009-08-03 (月) 17:55:38)~
~
data.frameは長さが同じものを結合するときにしか使えません。~
長さが違う場合はどうすればよいですか~
//
- 長さが同じになるようにNAでも付け加える(そのようなこと...
- ご指導ありがとうございます。現在、仕事で装置の総修理台...
- そもそもそう言うデータは、データフレームで取り扱うもの...
不親切だと思われるのは心外なので、典型的なデータ行列がど...
あなたのデータが、発売後の月数が行、品名が列なら、まだ観...
経過月数 品名a 品名b --- 品名Z
1 0 1 --- 2
2 1 3 --- 5
: : : --- :
N 2 NA --- NA
N+1 0 NA --- NA
まあ、こんな風。-- [[河童の屁]] &new{2009-08-03 (月) 22:5...
- 単に一つにまとめてすむのなら、リストにすれば。リストは...
- NAを利用すると解決することを確認しました。大変にご親切...
**matplotによる図の重ね合わせ方 [#yf873cc5]
>[[gonzu]] (2009-07-28 (火) 17:06:17)~
~
パッケージspatstatのK関数を何回か繰り返して求めて、その結...
しかし、
for(i in 1:5)
{
w<-disc(1000,c(runif(1)*5000,runif(1)*5000),mask=FALSE)
plot(w)
xy<-tennenrin.csv
pp<-as.ppp(xy,w,fatal=FALSE)
K<-Kest(pp,correction="isotropic")
}
matplot(K,type="l")
このようにすると、5本ではなく1本のラインしかグラフに表...
使用環境は~
> sessionInfo()
R version 2.7.2 (2008-08-25)
i386-pc-mingw32
です。よろしくお願いします。~
//
- まずバージョンアップ。質問はそれから。 -- &new{2009-07...
-回答ありがとうございます。バージョンアップしました。その...
mymonte<-for(i in 1:10){
X<-runif(704)*50
Y<-runif(704)*50
XY<-data.frame(X,Y)
XY<-data.frame(XY,Dataset[,c(2,12)])
w<-owin(c(0,50),c(0,50))
Rpp<-as.ppp(XY[,1:2],w,fatal=FALSE)
mark1<-XY$DBH.02.
mark2<-XY$sort
Rpp1<-Rpp %mark% mark1
Rpp2<-Rpp1 %mark% mark2
KC<-Kmulti(Rpp2,(mark1<=5)&(mark1>=1)&(mark2=="ヤブムラ...
correction="isotropic")
par(new=T)
plot(KC, sqrt(iso/pi)-r ~ r,ylim=c(-5,5)) # L関数のグラフ
}
**txtファイルの1行目のタイトルを読み込む方法について(質問...
>[[森林]] (2009-07-28 (火) 11:47:09)~
~
テキストファイルの1行目にあるタイトルを読み込み、図などに...
title<-read.table(fname,nrows=1)~
とすれば、 ~
title~
V1
1 1号試験地~
となります。そこで、~
text(x,y,title)~
とすると、"1"のみが表示され、"1号試験地"が表示されません...
もっと適切な命令があると思いますが、R-tipsには記載されて...
//
- names(dat) -- &new{2009-07-28 (火) 12:05:30};
- 自己レスです。 tit<-title$V1 とすれば解決しました。tit...
**複数の連続量同士の相関 [#ab5132f5]
>[[taipapa]] (2009-07-26 (日) 18:47:05)~
~
初めて投稿します.説明変数を脳の画像上のある値(x1,x2,x3,...
//
- すみません,自己フォローです.正準相関分析を使えば良い...
- 応答変数(高次脳機能検査)の検査値間の関連を相関などでみ...
- 応答変数ごとに回帰して意味のある結果が得られれば何も問...
- うーん。複雑な解析を(安易に)いっぺんにやろうとしてるよ...
- 複雑と言われればその通りなのでしょうが,過去の実績から...
- パス解析とかSEMとかは? -- &new{2009-07-28 (火) 00:07:...
- ↑先行研究のモデルを参考にするか、納得のいく因子モデル(...
- 皆様,たくさんのアドバイスありがとうございます.個人的...
**円グラフについて [#fa890604]
>[[tatsu]] (2009-07-25 (土) 23:35:19)~
~
いつもありがとうございます。本当に初心の初心者の質問で...
//
- できません -- &new{2009-07-26 (日) 01:10:29};
- lables 引数に適当な文字列を合成して与えてやれば一応それ...
> x <- 1:5
> y <- letters[1:5]
> z <- paste(paste(y,round(100*x/sum(x),1),sep=" "),"%",...
> z
[1] "a 6.7%" "b 13.3%" "c 20%" "d 26.7%" "e 33.3%"
> pie(x,labels=z)
- ラベルを作るには,sprintf を使った方が見通しがよいと思...
x <- 1:5
z <- sprintf("%.1f", 100*x/sum(x))
pie(x,labels=z)
- どうもありがとうございます。これで十分です。いい勉強に...
- 勉強ついでに「円グラフは好ましくない」も学んでおいたら...
**複数の変数を使った積分について [#dd44e43d]
>[[Saito]] (2009-07-23 (木) 22:09:38)~
~
いつもお世話になっています。似た質問や説明ページがないか...
~
例えば、f(x, y)=exp(0.2*x + 0.3*y + sin(2*x) + cos(y) + 1...
> library(adapt)
> f <- function(x, y){
> + exp(0.2*x + 0.3*y + sin(2*x) + cos(y) + 1)
> + }
> adapt(2, lo=c(0, 0), up=c(10, 20), functn=f)
以下にエラー function (x, y) :
要素 2 は空です;
'*' の引数リストの評価されていた部分は:
(0.3, y)
~
integrateやlibrary(adapt)、library(MASS)に含まれるadaptや...
~
なお、環境はR-2.9.1、WindowsXPです。~
どうぞよろしくお願い致します。~
//
- ネット探す前に、ヘルプドキュメントを熟読するのが先決で...
- 回答ありがとうございます。一応、ヘルプは読んでいたので...
f <- function(x){
exp(0.2*x + 0.3*x + sin(2*x) + cos(x) + 1)
}
adapt(4, lo=c(0, 0, 0, 0), up=c(10, 20, 10, 20), functn=f)
これでも答えは出ますが、間違っている気がします。値がもの...
えーっと…、まだ読み落としている引数があるのでしょうか…。...
- x はベクトル変数です。その成分は(4次元なら)関数本体中で...
- 回答ありがとうございました。えーっと、そのように参照さ...
f <- function(X){
x <- X[1]
y <- X[2]
exp(0.2*x + 0.3*y + sin(2*x) + cos(y) + 1)
}
adapt(2, lo=c(0, 0), up=c(10, 20), functn=f)
むむ、合っているのか不安です…。二次元以上になると正解例を...
- 合っているんではないのでしょうか。値が大きいのは指数関...
> f1 <- function(x) x
> (x1 <- integrate(f1,0,1))
0.5 with absolute error < 5.6e-15
> f2 <- function(x) x[1]*x[2]
> (x2 <- adapt(2,c(0,0),c(1,1),funct=f2))
value relerr minpts lenwrk if...
0.25 7.38275e-08 165 73 ...
- なるほど、ご助言ありがとうございます。確かに0.25になり...
**spatstatでのwindowのランダム抽出に関する質問 [#v72bffec]
>[[gonzu]] (2009-07-22 (水) 15:56:20)~
~
はじめまして。~
パッケージspatstatでのK関数の繰り返しについて質問させて...
使用環境はR version 2.7.2 (2008-08-25) i386-pc-mingw32で...
データセットに5000cm×5000cmプロット内の樹木の位置情報(x,y...
w<-owin(c(0,1000),c(0,1000))
plot(w)
xy<-tennenrin.csv
pp<-as.ppp(xy,w,fatal=FALSE)
K<-Kest(pp)
plot(pp)
plot(K)
このようにするとプロット内の左下1000cm×1000cm内でのK関数...
試しに同じ面積のwindowを作ろうとして、Excelで乱数を999組...
measurement<-read.delim("clipboard")
measurement
> n<-999; m<-1
> x<-1:n
> sample(x,m,replace=TRUE)
[1] 469
となりうまく(x,y)で抽出することができません。どなたかご教...
//
- 実際に試していませんが、例を見ていると次のようにすれば...
P <- sample(0:4000, 2, rep=TRUE)
w <- owin(P[1]+c(0,1000),P[2]+c(0,1000))
- ご回答ありがとうございます。データを読み込むことができ...
**heatmapの列と行ごとのグループ分割について [#mefe599d]
>[[mito]] (2009-07-22 (水) 15:11:08)~
~
いつも丁寧に教えてくださりありがとうございます。~
heatmapである物質とある物質の反応値を書いていてrecallとpr...
出したいのでheatmapの中の行と列ごとの木を必要なグループ数...
~
hclustの場合はcutree()で出来たのですが、ヒートマップだと...
時と同じ変数を入れても並び順が異なっているので困っていま...
ちなみに、ヒートマップは
mixmix <- read.table("mixmix.txt",header=TRUE,sep="\t",r...
mixmix_numeric <- apply(mixmix,c(1:2),as.numeric)
mixmix_matrix <- matrix(mixmix_numeric,nrow=377,ncol=291,
dimnames=list(rownames(mixmix_numeric),
colnames(mixmix_numeric)))
mixmix_scale <- scale(mixmix_matrix)
mixmix_scale_numeric <- apply(mixmix_scale,c(1:2),as.num...
mixmix_scale_euclid <- dist(mixmix_scale_numeric,method=...
pdf("hyoujunka_honto.pdf",paper="special",width=37,heigh...
heatmap(mixmix_scale_numeric,hclustfun=(function(mixmix_...
hclust(mixmix_scale_euclid,method="ward")),
col=c("#000000","#a31782","#2353a9","#00a765","#5ac49...
"#ff8d00","#fb4000","#fc7574"))
dev.off()
で書いています。~
また~
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-apple-darwin8.11.1
です。よろしくお願いします。~
//
- 試してみようと思ったのですが、mixmix.txt がどんなものか...
//
- 添付ファイルをつけてみたのですが、これで実行していただ...
お手数おかけします。
~&ref(mixmix.txt);
- おお。完璧に再現できました。誰かがコメントしてくれるこ...
- 再現ありがとうございます。しばらく待たせていただきます...
**インストール時の警告 [#jf2b087f]
>[[桃太郎]] (2009-07-17 (金) 16:38:54)~
~
はじめまして。~
超初心者の質問ですみません。~
パッケージインストールがうまくいかず困っています。~
環境は
> sessionInfo()
R version 2.7.0 (2008-04-22)
i386-pc-mingw32
です。パッケージ"gstat"を使用したくインストールし読み込ん...
>library(gstat)~
エラー: パッケージ 'sp' が 'gstat' によって要求されま...
追加情報: Warning message:
パッケージ 'gstat' はバージョン 2.7.2 の R の下で造られ...
と返ってきてしまいました。~
パッケージ'sp'がインストールされていないようでしたので「...
>local({pkg <- select.list(sort(.packages(all.available ...
+ if(nchar(pkg)) library(pkg, character.only=TRUE)})
> utils:::menuInstallPkgs()
URL 'ftp://ftp.ecc.u-tokyo.ac.jp/CRAN/bin/windows/contri...
ftp data connection made, file length 844848 bytes
開かれた URL
downloaded 825 Kb
パッケージ 'sp' は無事に開封され、MD5 サムもチェックされ...
警告: パッケージ 'sp' の前のインストールを取り除くこと...
ダウンロードされたパッケージは、以下にあります
と警告が返ってきてしまい、うまくインストールが出来ません。~
何が原因なのでしょうか?~
また"sp"がインストールされれば"gstat"は読み込めるのでしょ...
どなたかご教授よろしくお願いいたします。~
//
- 2.7.0の本体で,2.7.2 で作られたライブラリをインストール...
- ありがとうございます。これを機に2.9.1にアップデートしま...
- このページ冒頭の注意事項の最後に該当しますね。 -- &new...
**barplotの棒の原点 [#o81c591d]
>[[mona]] (2009-07-15 (水) 18:47:18)~
~
はじめまして。~
Rの棒グラフの書き方について質問させてください。~
~
正の数値をbarplotで水平方向に表示させると、~
x軸の0から棒が伸びていきますが、~
この伸びていく原点を変更したいのです。~
~
たとえば10をその原点にとり水平方向に棒グラフを書くと、~
データが5の場合は左方向に、15の場合は右方向に~
10から棒が伸びていくように描きたいと思っています。~
~
どなたかご教授よろしくお願いします。~
//
shift <- 10 ; barplot(c(0,5,10,15,20)-shift, horiz=T, of...
-- [[こさるでござる]] &new{2009-07-16 (木) 14:40:19};
- できました!本当にありがとうございました。 -- [[mona]] ...
**levelplot描画に関する質問 [#o4fd0c14]
>[[neko]] (2009-07-14 (火) 19:18:50)~
~
はじめまして。~
Rの超初心者なのですが、描画の方法について、質問させてくだ...
levelplot関数で画像を描画した後に、更に重ねて描画したいの...
どなたか教えていただけますでしょうか。~
使用環境は、
sessionInfo()
R version 2.8.1 (2008-12-22)
i386-pc-mingw32
です。どうぞよろしくお願い致します。~
//
- levelplot 関数とは何ですか?基本パッケージに無い関数は...
- 返信遅くなりまして申し訳ありません。レスありがとうござ...
- そろそろ訳本が出版される [[Lattice 本のスクリプト集:htt...
- 以下は一つの方法です.後は自力でがんばってください. --...
> library(lattice)
> levelplot(volcano, panel = function(x,y,..., subscrip...
{
panel = panel.levelplot(x, y, ..., subscripts)
panel.points(20,20,col=2,cex=2 )
})
Latticeの訳本,図版のレイアウトの関係でちょっと手間取って...
- レスありがとうございます。 できました! latticeの訳本...
- 石田先生ありがとうございます。石田先生がドイツ語から直...
- 需要はあるはずなので,きっと翻訳が出るだろう,と私も期...
**maptoolsに関する質問2 [#g600f9b0]
>[[ichigo]] (2009-07-14 (火) 18:37:07)~
~
追加で質問させていただきます~
東京・埼玉のシェープファイルをダウンロードし、ワーキング...
library(maptools)
tokyohx <- readShapeSpatial("tokyohk.shp")
plot(tokyohx)
saitamax <- readShapeSpatial("saitamak.shp")
plot(saitamax, add=T)
隣り合う複数の県(東京、埼玉、神奈川など)を考え,任意の点...
下の「in.polygon」関数では、頂点や境界上の点はFALSEを返す...
このような場合、東京と埼玉をあわせた外枠?を取得すれば上...
二つのシェイプデータからそのようなデータを作成することは...
~
また、日本全土のデータ(japank.shp)を用いれば、複数の県...
日本全土のデータから、任意の点をを東京・埼玉の内部かどう...
~
どうぞよろしくお願いいたします.~
//
- 下のpoint.in.polygon関数はどうですか?外枠(エクステン...
- レスありがとうございます. point.in.polygonで解決しまし...
**maptoolsに関する質問 [#g8a99758]
>[[ichigo]] (2009-07-14 (火) 12:32:07)~
~
[[ShapeFileライブラリ]]の「ShapeFileデータ(地域境界・地...
ありがたく使わせていただいております.~
いろいろ調べていたところ、「R Book」に解説が載っているRma...
Version2.0以上には対応していないようなので、maptoolsを使...
~上記ページから東京の島無しのシェープファイルをダウンロー...
library(maptools)
tokyohx <- readShapeSpatial("tokyohk.shp")
plot(tokyohx)
これで東京の外枠が描画できます.~
さて、質問なのですが、ある任意の地点の緯度経度を与えてそ...
どうかを判定することがこのデータを使ってできますでしょう...
できるとすればどのような処理内容になるでしょうか?
もしよければご回答くださると助かります.~
例えば以下のような緯度・経度です.~
> chiten_x <- c(35.677822, 139.771458)
> chiten_x
[1] 35.67782 139.77146
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-pc-mingw32
locale:
LC_COLLATE=Japanese_Japan.932;LC_CTYPE=Japanese_Japan.932;
LC_MONETARY=Japanese_Japan.932;LC_NUMERIC=C;LC_TIME=Japa...
attached base packages:
[1] stats graphics grDevices utils datasets me...
other attached packages:
[1] maptools_0.7-25 sp_0.9-36 foreign_0.8-29
loaded via a namespace (and not attached):
[1] grid_2.8.1 lattice_0.17-17
よろしくお願いします.~
//
- 外枠の緯度・経度は↓で取り出せると思うので、後は自由に加...
tokyohx@polygons[[1]]@Polygons[[1]]@coords
- レスありがとうございます.昨日からmaptoolsをさわりはじ...
&ref(tokyo01.png);
- sgeostatパッケージにin.polygon関数があるので、使えるか...
- ありがとうございます.できたようです.まずはご報告まで...
tmp <- data.frame(tokyohx@polygons[[1]]@Polygons[[1]]@co...
library(sgeostat)
in.polygon(139.771458, 35.677822, tmp$X1, tmp$X2)
[1] TRUE
in.polygon(139.771458, 40.677822, tmp$X1, tmp$X2)
[1] FALSE
- ポイント・イン・ポリゴンは、わざわざ、sgeostat を使わな...
point.in.polygon(139.771458, 35.677822, tmp$X1, tmp$X2)
- ありがとうございます.上の「maptoolsに関する質問2」で...
- 注:point.in.polygon関数はspパッケージの中にある関数で...
- いまさらですが版権?表示.「上記画像の作成に当たっては...
**動画の読み込み [#zedffac4]
>[[nosyan]] (2009-07-13 (月) 16:12:45)~
~
Rでavi,wmvなどの動画ファイルを読み込む方法はありますでし...
パッケージを探してみましたが、該当するものが見つからなか...
//
- readBinでやるしかないのかな。 -- &new{2009-07-13 (月) ...
**test.tableが見つからない [#p805a0c1]
> (2009-07-13 (月) 10:17:34)~
~
こんにちは。~
とても基本的なことで質問させてください。~
使っているものはR version 2.6.2 (2008-02-08) です。~
~
test.tableを使おうとすると~
~
> (a<-test.table(*****))~
エラー: 関数 "test.table" を見つけることができませんで...
~
とでてきます。~
パッケージなどをインストールしなおしたりしたのですが、~
どうしても見つからないとエラーがでてしまいます。~
~
対処法をご存知の方がいらっしゃいましたらよろしくお願いし...
//
- 何かのパッケージの関数なのか、自作関数なのか、単に自作...
- なんとか動きました!本当にありがとうございます。 -- &n...
- 何が悪かったのかレスよろしく -- &new{2009-07-13 (月) 1...
- 注意:バージョンを上げること。せめてハンドル名ぐらい名...
**各ベクトル要素の差の2乗を求めたい [#qab56602]
>[[名無しさん]] (2009-07-13 (月) 03:59:00)~
~
いつもお世話になっております。~
昔使っていたC言語のくせがとれず、"Rらしい"書き方がまだで...
以下のようなプログラムを"Rらしく"書くにはどのようにしたら...
例えば、
[1,] 1 2 4
という長さ3のベクトルvecがあったときに
[,1] [,2] [,3]
[1,] 0 1 9
[2,] 1 0 4
[3,] 9 4 0
各ベクトル要素の差の2乗を求めた(添え字が対応している)3*3...
for(i in 1:3){~
for(j in 1:3){
mat[i,j] <- ( vec[i] -vec[j] ) ^ 2
}
}
とすると求まりますが、とてもC言語的です。~
Rらしい書き方の例を教えてください。~
お願いします。~
//
- Rらしいかどうかはわからないけど、線形代数的に x <- c(1,...
- outer() 関数が便利です。ベクトルだけでなく行列、配列で...
> outer(vec,vec,FUN="-")
[,1] [,2] [,3]
[1,] 0 -1 -3
[2,] 1 0 -2
[3,] 3 2 0
> outer(vec,vec,FUN="-")^2
[,1] [,2] [,3]
[1,] 0 1 9
[2,] 1 0 4
[3,] 9 4 0
# いっぺんで済ませたかったら
> ds = function(x,y) (x-y)^2
> outer(vec,vec,FUN=ds) # outer(vec,vec,FUN=funct...
[,1] [,2] [,3]
[1,] 0 1 9
[2,] 1 0 4
[3,] 9 4 0
- 解答ありがとうございます。 -- [[名無しさん]] &new{2009-...
- outer関数はRらしくて好きです。これから使っていきたいと...
- ちなみにPentiumD 2.8GHz メモリ1.5Gで(x %*% t(rep(1,len...
**Macで、sourceをすると、不正なマルチバイト文字列がある [...
>[[onen]] (2009-07-09 (木) 16:34:26)~
~
はじめまして。R超初心者です。調べてみてもわからなかったの...
まず背景状況は以下の通りです。~
OS→Mac OS X 10.5.7~
> sessionInfo()~
R version 2.9.0 (2009-04-17) ~
i386-apple-darwin8.11.1 ~
~
locale:~
ja_JP.UTF-8/ja_JP.UTF-8/C/C/ja_JP.UTF-8/ja_JP.UTF-8~
~
attached base packages:~
[1] stats graphics grDevices utils datasets met...
[7] base ~
以上。~
source('myfunc/myfunc.R')をやってみたのですが、
~
「構文解析中に不正なマルチバイト文字列がありました (1行) ...
と表示されてしまいます。~
~
どなたか解決策ご教授お願いいたします。~
//
- encoding 引数を調べること -- &new{2009-07-09 (木) 17:1...
- source('myfunc/myfunc.R',encoding="utf-8") ?? -- &new...
- ↑ デフォルトのエンコーディングが UTF-8 なのに、ファイル...
- 可能性としては何か変な制御文字が紛れ込んでいるのでは。...
- ↑ その可能性は低いでしょう。エンコーディングを確かめる...
- 私もMacintosh使いですが,経験的にはencoding="CP932"で読...
- インターネットからダウンロードしたものなら、encoding="e...
**クラスターから主要な語句を検索 [#j4295861]
>[[レイン]] (2009-07-09 (木) 13:06:52)~
~
はじめまして。R初心者でして調べてみてもわからなかったので...
デンドログラムを作成して、クラスターを分類したのですが、...
よろしくお願いします。~
//
- 各クラスターを特徴づけている重要項をしらべたいのです。 ...
- 具体的にデータを示さないと、何を教えていいのかもわから...
- すみません。扱っているデータはアーティストの特徴を表し...
- ↑これは、説明であって「具体的なデータ」じゃない。どんな...
- あなたのやりたいことは、デンドログラムに要素の名前を描...
- そうなんですか。どの要素が重要かわからないのですね。ご...
- そうなんですか。どの要素が重要かわからないのですね。ご...
- そうなんですか。ご丁寧にありがとうございます! -- [[レ...
- 「語句‐文書行列」なら、コレスポンデンス・アナリシス(対...
**metaforの実行 [#k2cb9402]
>[[なんび]] (2009-07-08 (水) 17:26:29)~
~
metaforをつかってメタアナリシスを行いたく、~
丹後俊郎先生著「メタアナリシス入門」のデータを使ってシミュレーショ...
オッズ比がマイナスの値となってでてきました。~
どこがおかしいのかどうしてもわからないので教えてください。~
structure(list(ai = c(3, 7, 5, 102), bi = c(35, 107, 64, ...
), ci = c(3, 14, 11, 127), di = c(36, 102, 82, 1303)), .N...
"bi", "ci", "di"))~
~
library(metafor)~
dat<-scan("./blocker_abcd.txt", ~
list(ai=0,bi=0,ci=0,di=0),~
skip=0,nlines=4,sep="")~
blpeto<-rma.peto(ai,bi,ci,di, slab=NULL, subset=NULL, dat...
add=c(1/2,0), to=c("only0","none"), level=95, di...
forest(blpeto)~
//
- 出てくるのは log odds ですよ。help 読みましょう。 -- &...
- help読みました。 確かにlog oddsratioでした。ありがと...
**パイプを使った R の実行 [#bea32e82]
>[[パンチドランカー]] (2009-07-08 (水) 01:04:28)~
~
Windows で、PHPの shell_exec 関数を利用して、Rを実行...
echo a=rnorm;b=a[a>=0.5]| rterm --slave
代入"<="は"="に置き換えましたが、上の対策方法が分かりませ...
どなたか、この解決法、ご教授していただけませんか?~
//
- echo 'a=rnorm(10);b=a[a>=0.5]; print(b)' | rterm --slav...
- レスありがとうございます。全然だめです、な〜んにもでま...
- UNIX マシンで、rterm ではなく R をつかって、以下のよう...
% > echo 'a=rnorm(10);b=a[a>=0.5]; print(b)' | R --slave
[1] 1.0513718 0.7390706 0.9937101
- ありがとうございます。でも、Windows ではだめですね、な...
私は諦めの悪いほうで、Windows は捨てられません。そこで...
rscript -e "a<-rnorm(10);b<-a[a>=0.5]; print(b)"
を実行したところ、OKでした。シングルクォテーションは駄目...
**並列処理における乱数生成法について [#x6712b63]
>[[Saito]] (2009-07-06 (月) 17:12:34)~
~
いつもお世話になっております。~
並列処理をしようと思うのですが、どうやら同一の乱数から結...
library(snow)
f <- function(n){
a <- rnorm(1, n, 1)
return(a)
}
cl <- makeSOCKcluster(c("localhost", "localhost"))
clusterExport(cl, "f")
system.time(ff <- parSapply(cl, 1:10, function(x){f(1)}))
>ff
[1] -0.2169740 0.9034649 0.7919217 1.9640380 0.94306...
[7] 0.9034649 0.7919217 1.9640380 0.9430635
[[Rで並列計算:http://www.okada.jp.org/RWiki/?R%A4%C7%CA%C...
HTML パッケージ記述を更新
library(rsprng)
以下にエラー library(rsprng) :
'rsprng' は有効なインストール済みパッケージではありま...
と出るだけで、rsprngが使えるようになった気配がありません...
なお、環境はWindowsXP、R-2.9.1、Core 2 Duoです。~
どうぞよろしくお願い致します。~
//
- SPRNGは分布が良くないので, 現在は人気がありません. rlec...
> library(snow)
> cl<-makeCluster(rep("localhost",2))
> clusterSetupRNG (cl,seed=123)
Loading required package: rlecuyer
[1] "RNGstream"
> clusterCall(cl,runif,2)
[[1]]
[1] 0.4340643 0.3185276
[[2]]
[1] 0.5240271 0.0738508
snowとrlecuyerを普通にインストールすれば上記は動作するで...
- rlecuyerをインストールすれば動作しました。ご教授ありが...
f <- function(n){
a <- rnorm(1, n, 1)
b <- rnorm(1, n, 2)
return(list(a=a, b=b))
}
cl <- makeSOCKcluster(c("localhost", "localhost"))
clusterExport(cl, "f")
system.time(ff <- parSapply(cl, 1:10, function(x){f(1)}))
> t(ff)
a b
[1,] 0.8602452 -0.9136815
[2,] 1.220000 1.192357
[3,] 0.5558699 2.945972
[4,] -0.07316578 -0.5083378
[5,] 0.9687442 -1.506602
[6,] 0.8602452 -0.9136815
[7,] 1.220000 1.192357
[8,] 0.5558699 2.945972
[9,] -0.07316578 -0.5083378
[10,] 0.9687442 -1.506602
この結果をa列b列についてそれぞれ、例えば平均値を求めたい...
apply(t(ff), 2, mean)
とでもすれば出来るのですが、list型では一発ではできません...
> mean(c(t(ff)[[1]], t(ff)[[2]]))#これを全てデータで打ち...
[1] 1.040123
> mode(as.data.frame(t(ff)))#データフレームにも直らない...
[1] "list"
もし、どなたか、このようなlist型のデータでの要約の仕方を...
- colMeans(matrix(unlist(t(ff)), nrow(t(ff)))) -- &new{2...
- lapply(ff, mean) -- &new{2009-07-07 (火) 19:07:25};
- ↑ lapply はだめでないかい?例だと、20個の要素の1個ず...
そもそも、なんで list で結果を返さないといけないのかなあ...
- 返す値がlistなのにSapplyで受け取るのは筋が良く無いです....
- ご回答くださった方々、本当にありがとうございました。誠...
**heatmapの適用は階層型クラスタリング [#vb89b3b7]
>[[mito]] (2009-07-03 (金) 16:35:00)~
~
また、初歩的な質問で申し訳ありません。~
heatmapで使えるhclustは階層型クラスタリングだけなのでしょ...
平均を利用して書く、ということで非階層型クラスタリングのk...
//
- k-meansの手法を本などで調べてください。理由がわかります...
**上下1,2%を切った状態での標準化 [#h2f72917]
>[[kouda]] (2009-06-29 (月) 16:51:47)~
~
いつも丁寧な返信をありがとうございます。~
早速質問させていただきたいのですが、~
列ごとに上下1,2パーセント切った状態で標準化を行うにはどう...
標準化はscale関数に入れれば、列ごとに標準化は行っているの...
外れていそうな値が多いので上下1,2パーセント切って標準化し...
~
足りない情報等ありましたら、教えていただければと思います。~
よろしくお願いします。~
~
使用環境は~
> sessionInfo()~
R version 2.8.1 (2008-12-22) ~
i386-apple-darwin8.11.1 ~
~
です。よろしくお願いします。~
//
- 除外される値は捨て去るのですか?もしそうなら元が行列(re...
> set.seed(1234); A <- matrix(sample(1:10,30,rep=TRUE),1...
> A
[,1] [,2] [,3]
[1,] 2 7 4
[2,] 7 6 4
[3,] 7 3 2
[4,] 7 10 1
[5,] 9 3 3
[6,] 7 9 9
[7,] 1 3 6
[8,] 3 3 10
[9,] 7 2 9
[10,] 6 3 1
# 列毎に上下10%をNA値に置き換え
> B <- A; for(i in seq(ncol(A))) {
x <- B[,i]
y <- (x<= quantile(x,0.1) | x >= quantile(x,0.9))
B[y,i] <- NA}
> B
[,1] [,2] [,3]
[1,] 2 7 4
[2,] 7 6 4
[3,] 7 3 2
[4,] 7 NA NA
[5,] NA 3 3
[6,] 7 9 9
[7,] NA 3 6
[8,] 3 3 NA
[9,] 7 NA 9
[10,] 6 3 NA
> scale(B)
[,1] [,2] [,3]
[1,] -1.8267086 0.9950898 -0.4572988
[2,] 0.6089029 0.5761046 -0.4572988
[3,] 0.6089029 -0.6808509 -1.1686525
[4,] 0.6089029 NA NA
[5,] NA -0.6808509 -0.8129757
[6,] 0.6089029 1.8330602 1.3210855
[7,] NA -0.6808509 0.2540549
[8,] -1.3395863 -0.6808509 NA
[9,] 0.6089029 NA 1.3210855
[10,] 0.1217806 -0.6808509 NA
attr(,"scaled:center")
[1] 5.750000 4.625000 5.285714
attr(,"scaled:scale")
[1] 2.052873 2.386719 2.811541
> colMeans(scale(B), na.rm=TRUE)
[1] 0.000000e+00 2.775558e-17 7.930164e-17
> var(scale(B)[,1], na.rm=TRUE)
[1] 1
> var(scale(B)[,2], na.rm=TRUE)
[1] 1
> var(scale(B)[,3], na.rm=TRUE)
[1] 1
- ありがとうございます!!やりたいことが出来ました!!除...
**NAを含む行列のみを抽出するには? [#d8f91fcf]
>[[ono]] (2009-06-26 (金) 17:23:36)~
~
単純な質問で恐縮です。(使用環境はmac OS 10.5.7, R versio...
NAを含む行列を除くのは、na.omitやsubsetを使えば出来るので...
以下に、パッケージに含まれているattenuのデータを使って示...
~
DATA=attenu # The Joyner-Boore Attenuation Data(5列、182...
names(DATA)~
#stationの列にNAが入っている行を抽出したいが、以下は全て...
subset(DATA, station==NA)~
subset(DATA, station=="NA")~
subset(DATA, station=="")~
subset(DATA, station=="<NA>")~
subset(DATA, as.character(station)=="NA")~
~
本当に単純な問題で申し訳ないですが、ご教授いただけると幸...
//
- is.na()を使って DATA[is.na(DATA$station), ] が簡単でし...
- なるほど。そのようにやるのですね。迅速なアドバイスあり...
- subset() 関数を使いたければ -- &new{2009-06-27 (土) 12...
subset(DATA, subset=is.na(DATA$station))
subset(DATA, subset=!complete.cases(DATA))
**普遍クリギングを行い、独立変数のパラメータを得たい [#e9...
>[[Saito]] (2009-06-25 (木) 16:24:31)~
~
いつもお世話になっております。~
研究で普遍クリギングを使う予定であります。私の手元にある...
library(fields)
r1 <- runif(20, 0, 1)
r2 <- runif(20, 0, 1)
r3 <- runif(20, 0, 1)
Lat <- r1
Long <- r2
val <- rep(c(1, 2, 3, 4), 5)
Val <- val + r3
Area <- rep(c(1, 2, 3, 4), each=5)
m <- matrix(0, 20, 4)
for(j in 1 : 4) {
for (i in 1 : length(Area)) {
if (j==Area[i]) {
m[i, j] <- 1
} else {
m[i, j] <- 0
}
}
}
colnames(m)=c("1", "2", "3", "4")
D <- data.frame(Lat, Long, Val, m)#これが解析で使うデータ
K <- Krig(x=data.frame(D$Lat, D$Long, D$X2, D$X3, D$X4),...
coef(K)#推定された係数値
G <- glm(Val~Lat + Long + as.factor(Area))
coef(G)#GLMによって得られた係数値。Krigで得られたものと...
~
Krig()とは別な方法として、library(gstat)にあるgstat()を使...
~
なお、Rは2.9.0、OSはWindowsXPです。どうぞよろしくお願い致...
//
- ネット検索だけですむことは少ないです。まずは [[地球統計...
- ご助言ありがとうございます。地球統計学の本は既に読んで...
- こうした個々のパッケージに関する質問への適切な回答が得...
# 恐らく(責任持ちません、自分でチェックして納得して下さい)
> coef.Krig(Krig(ozone$x, ozone$y, theta=20, m=1))
[,1]
[1,] 39.78066
# つまり当てはめ平均値曲面は定数 f(x,y)=39.78
> coef.Krig(Krig(ozone$x, ozone$y, theta=20, m=2))
[,1]
[1,] 4.022360e+01
[2,] 2.552514e-04
[3,] 1.338397e-02
# つまり当てはめ平均値曲面は平面 f(x,y)=4.02e+1+2.55e-04...
> coef.Krig(Krig(ozone$x, ozone$y, theta=20, m=3))
[,1]
[1,] 36.972752325
[2,] 0.033350055
[3,] 0.063710522
[4,] 0.011040245
[5,] 0.009597520
[6,] 0.004741821
# つまり当てはめ平均値曲面は2次曲面
# f(x,y)=37.0+0.033*x+0.063*y+0.011*x^2+0.0096*xy+0.0047...
-
- 丁寧な返信ありがとうございます。早速自分でも試してみま...
library(fields)
K2 <- Krig(data.frame(x1=ozone$x[, 1], x2=ozone$x[, 2],x...
x4=ozone$x[, 1]*ozone$x[, 2], x5=(ozone$x[, 2])^2), ...
K3 <- Krig(ozone$x, ozone$y, m=3)
coef(K2)
coef(K3)
set.panel(2, 2)
plot(K2, main="m=2")
x11()
set.panel(2, 2)
plot(K3, main="m=3")
x1=ozone$x[, 1]
x2=ozone$x[, 2]
x3=(ozone$x[, 1])^2
x4=ozone$x[, 1]*ozone$x[, 2]
x5=(ozone$x[, 2])^2
y=ozone$y
summary(lm(y ~ x1 + x2 +x3 + x4 + x5))#線形回帰でも一応...
- K2はいわば5次元空間でクリギングをやっていることになり...
- なるほど。普遍クリギングの説明変数が座標以外になると、...
- 自己レスです。普遍クリギングの説明変数に座標以外を使っ...
- 好き勝手にまず空間トレンドを推定してそれを引き去った後...
- なるほど、ありがとうございます。お邪魔虫になっていると...
**大小関係の自前定義 [#d320cc08]
>[[七転八倒]] (2009-06-25 (木) 00:47:34)~
~
XPで2.7.1を使っています。~
~
例えばトランプのようにA<2<3<...Q<Kのように自前で大小関係...
~
事前にA<2<3...<Kと順序つきで因子を指定したnum列を用い、~
suit num
1 S A
2 S 2
3 S 3
...
52 C K
このようなデータフレームを作りました。~
これをランダムに並べ替えのち13枚取り出して、スートと番号...
xorder<-order(x$suit,pmax(x$suit,x$num))
x[xorder,]
と入力したところ
以下にエラー mmm < each : これらの型の比較は未実装です
追加情報: Warning message:
メソッド ("Ops.factor", "Ops.ordered") は "<" に対しては...
というエラーがでました。~
pmax以下がないとうまくいきました。~
これはどういう状態なのでしょうか?ご教授お願いしますm(_ _...
//
- order(x$suit,x$num)でいいように思うんですが、pmaxはなん...
- ただの因子には順序は定義されていません。順序付き因子の...
> Lev <- c("1","2","3","C","B","A","x","z","y")
> (x <- ordered(c("A","2","2","C","y"), levels=Lev))
[1] A 2 2 C y
Levels: 1 < 2 < 3 < C < B < A < x < z < y
> order(x)
[1] 2 3 4 1 5
> x[order(x)]
[1] 2 2 C A y
Levels: 1 < 2 < 3 < C < B < A < x < z < y
> (y <- ordered(c("B","1","A","z","x"), levels=Lev))
[1] B 1 A z x
Levels: 1 < 2 < 3 < C < B < A < x < z < y
> order(x,y)
[1] 2 3 4 1 5
> x[order(x,y)]
[1] 2 2 C A y
Levels: 1 < 2 < 3 < C < B < A < x < z < y
- R-Tipsにそのように書いてあったので丸写ししていました>pm...
- 想定される全てを網羅していればいいと言うことですね>lev...
**Rでのスクリーンキャプチャ [#h7a3576a]
>[[なつ]] (2009-06-22 (月) 19:13:22)~
~
WindowsXPでR-2.8.1を使用しています。~
Rを使って、Google Earthからカラー画像をキャプチャ→保存し...
なお、Google Earth COM APIではモノクロ画像しかキャプチャ...
~
調べた中で可能性がある?と思った方法は以下の二つです。~
・CかC++でスクリーンキャプチャする関数を書き、dllとしてR...
CUIの関数はMinGWでビルドしてRでロードして使うことがで...
GUIのプログラムはVCで少し囓った程度なので、~
Win32API(w32api-3.13-mingw32-dev.tar)はDLしてきたので...
スケルトンすらビルドできませんでした。~
そもそもMinGWでGUIプログラムをビルドしている例が見つ...
本当にできるのか自体がわかっていません。~
~
・COMを通す方法~
スクリーンキャプチャができるソフトウエアでCOMに対応し...
~
上の方法にこだわってはいませんので~
実現できそうな方法をご存知の方がいらっしゃいましたら、~
大変お手数で恐縮なのですが、ヒントを頂けると助かります。~
プログラム関連の用語の使い間違いや~
根本的な思い違いがありましたら申し訳ありません。~
//
- Rのsystem()とpowershellやvbs(wsh)のsendkeyを組み合わせ...
- WinShotというコマンドラインでスクリーンキャプチャできる...
**sink関数について [#mb9cb3ab]
>[[あきやま]] (2009-06-20 (土) 14:07:03)~
~
sinkを関数定義の中で使用するとうまくいきません。~
RのバージョンはR-2.9.0,OSはWindowsXPです。~
通常の使用方法
a <- matrix(c(100,200,300,400),ncol=2)
filename <- tempfile()
sink(filename)
chisq.test(a,correct=F)
sink()
file.show(filename)
うまくいかなかった例
original_output <- function(){
a <- matrix(c(100,200,300,400),ncol=2)
filename <- tempfile()
sink(filename)
chisq.test(a,correct=F)
sink()
file.show(filename)
}
うまくいった代わりの方法
original_output <- function(){
a <- matrix(c(100,200,300,400),ncol=2)
filename <- tempfile()
writeLines(capture.output(chisq.test(a,correct=F)),filen...
file.show(filename)
}
sink関数の仕様でしょうか?~
それとも使い方が間違っているのでしょうか?~
どなたか教えていただきたいと思います。よろしくお願いしま...
//
- sinkがstdout(標準出力)に出力してるから当然といえば当...
- 同じく.capture.output() 関数は出力ファイルを指定すれば...
original_output <- function(){
a <- matrix(c(100,200,300,400),ncol=2)
filename <- tempfile()
capture.output(chisq.test(a,correct=F), file = filename)
file.show(filename)
}
- ありがとうございます。問題が解決し、非常にありがたく思...
**貢献パッケージ内のクラス定義へのアクセス [#d50bf819]
>[[林]] (2009-06-20 (土) 08:33:34)~
~
貢献パッケージ内のクラスについて調べたいのですが、うまく...
以下では、Hmiscのlabelledクラスにアクセスしようとしていま...
~
> library(Hmisc)
> age <- c(21,65,43); label(age) <- "Age in Years"
> class(age)
[1] "labelled"
> (env <- environment(label))
<environment: namespace:Hmisc>
> getClass("labelled", where=env)
以下にエラー getClass("labelled", where = env) :
"labelled" は定義されたクラスではありません
~
ただ見るだけならばソースを読めばいいのですが、~
最終的には継承して新しいクラスを作りたいと考えています。~
しかしそれもうまくいきません。~
~
> setClass("labelled2",contains="labelled")
以下にエラー reconcilePropertiesAndPrototype(name, slot...
スーパークラス "labelled" の定義が, クラス "labelled2"...
~
クラス"labelled"の定義が見つけられていないのが原因という...
どのように解決すればよいのでしょうか?~
名前空間の問題だとは思うのですが…。where = envと指定まで...
なにか根本的な勘違いをしている気がします。よろしくお願い...
環境は以下です。~
~
> sessionInfo()
R version 2.9.0 (2009-04-17)
i386-pc-mingw32
//
- Hmisc パッケージの label() 関数は単に label クラス属性...
> str(age)
Class 'labelled' atomic [1:3] 21 65 43
..- attr(*, "label")= chr "Age in Years"
- ありがとうございます。getClass()等はS3には使えないので...
- 継承はsetOldClass("labelled")ののちにsetClass(...)でで...
**median survival timeの比較について [#dfa85447]
> (2009-06-17 (水) 14:59:45)~
~
現在、生存時間解析に関連して、median survival timeの比較...
treatment 4例、control 26例の計30例で、全例打ち切りなしで...
このとき、例えば survfit() コマンドでmedian survival time...
~
方法論としては~
~
Brookmeyer, R. and Crowley, J. J. (1982b). A k-sample med...
~
あたりが思いつきますが、implementしたRのパッケージなどが...
//
- survrec package の survdiffr() とかは? -- [[surg]] &ne...
**階層の深さが違うリスト [#o453756c]
>[[東福寺]] (2009-06-16 (火) 23:25:58)~
~
R2.9.0 をウィンドウズで使用しております。~
とあるプログラムを走らせている中途に、下記のようなリスト...
~
a <- list(matrix(1:4,2), list(matrix(3:6,2), matrix(4:7,...
~
これを、length が4でそれぞれの element が 2x2 のマトリッ...
~
unlist(a, recursive=F)
~
が普通に思いつく方法なのですが、これだと、a[[1]] と a[[3]...
~
できあがりが~
list(matrix(1:4,2), matrix(3:6,2), matrix(4:7,2), matrix...
~
となる方法をご教授願います。~
//
- 副作用ありであんまりきれいじゃないんだけど・・・ b<-NU...
- 同じく今一ですが... relist(unlist(a), lapply(1:4, fun...
- 階層を合わせてunlist. unlist(lapply(a,function(x)if(is....
- いろいろありますね。ありがとうございました。 -- [[東福...
**マトリクスの添え字 [#sc5cbc20]
>[[FFFF]] (2009-06-16 (火) 16:18:39)~
~
あるデータを読み込むと、~
~
EX1= ~
~
WEIGHT HEIGHT~
[1,] 50 150 ~
[2,] 60 160~
~
となっているのですが、これを通常の表記~
~
EX2= ~
~
[,1] [,2]~
[1,] 50 150 ~
[2,] 60 160~
~
~
とするにはどのようすればよろしいでしょうか?~
よろしくお願い致します。~
//
- これは添字ではなく列名ラベルです。-- &new{2009-06-16 (...
> EX1
WEIGHT HEIGHT
[1,] 50 60
[2,] 150 160
> colnames(EX1) <- NULL
> EX1
[,1] [,2]
[1,] 50 60
[2,] 150 160
> colnames(EX1) <- c("WEIGHT","HEIGHT")
> EX1
WEIGHT HEIGHT
[1,] 50 60
[2,] 150 160
**行列*ベクトルの計算 [#y83fffd6]
>[[もくず]] (2009-06-16 (火) 15:59:54)~
~
いつもお世話になっています。~
~
A= [,1] [,2] [,3]~
[1,] A B C
[2,] D E F
~
B= [,1] [,2] [,3]~
[1,] G H I
~
の時、~
~
C= [,1] [,2] [,3]~
[1,] A/G B/H C/I
[2,] D/G E/H F/I
~
となるようにするにはどのような計算式すればよいでしょうか?~
~
C <- A/B~
~
とすると~
~
C= [,1] [,2] [,3]~
[1,] A/G B/I C/H
[2,] D/H E/G F/I
~
となってしまいます。~
//
- 例えば(他にも色々ありそうだが) -- &new{2009-06-16 (...
A/rbind(B,B)
t(t(A)/B)
scale(A,0*B,B)
sweep(A,2,B,FUN="/")
**subset()で抽出したデータのレベルを削除する方法について ...
>[[すろん]] (2009-06-16 (火) 13:07:18)~
~
いつもお世話になっております。~
使用環境は~
R version 2.9.0 (2009-04-17)
powerpc-apple-darwin8.11.1
です。~
以下のようなデータフレーム~
~
> a
a b c d
1 a 0.01905276 1.173279 3
2 b 0.80433105 1.154605 2
3 c 0.06782948 1.043263 NA
4 d 0.12807006 1.945755 1
5 e 0.35224305 1.224513 NA
~
から、subset()を用いて以下のように抽出して、新たなデータ...
> a2 <- subset(a, !is.na(d))
> a2
a b c d
1 a 0.01905276 1.173279 3
2 b 0.80433105 1.154605 2
4 d 0.12807006 1.945755 1
~
この場合、データフレームa2の行数は3列で、length( a2$a )を...
> b
a e
1 a 7.615926
2 b 2.504819
3 d 6.824558
~
と、上記のa2を結合しようとすることを考えます。この場合、m...
> a <- merge(a2,b)
> a
a b c d e
1 a 0.01905276 1.173279 3 7.615926
2 b 0.80433105 1.154605 2 2.504819
3 d 0.12807006 1.945755 1 6.824558
~
しかし、~
> levels(a$a)
[1] "a" "b" "c" "d" "e"
~
とするとおわかりのように、元々のデータのレベルが残ってい...
また、subsetを用いずにデータを抽出した場合も、結果は同様...
a4 <- a[ !is.na(a$d),]
> a4
a b c d
1 a 0.01905276 1.173279 3
2 b 0.80433105 1.154605 2
4 d 0.12807006 1.945755 1
> levels(a4$a)
[1] "a" "b" "c" "d" "e"
何とか、データフレームa2の列aのレベルを"a", "b", "d"にで...
因みに、今はデータフレームを一度テキストファイル等に書き...
//
- drop = T -- &new{2009-06-16 (火) 14:20:09};
- 早速のお返事、ありがとうございます。マニュアルをよく読...
- 昨日のご指摘を受け色々試したところ,以下のようなことが...
> df
lb x y z
1 a 1 2 5
2 b 3 NA 3
3 c 2 3 2
4 d 1 2 3
5 e NA 5 2
6 f 4 4 1
> df2 <- subset( df, df["y"] == 2, drop = TRUE )
> df2
lb x y z
1 a 1 2 5
4 d 1 2 3
> levels(as.factor(df2$x))
[1] "1" # レベルは"1"のみに
> levels( df2$lb )
[1] "a" "b" "c" "d" "e" "f" #削除した行のレベルも残っ...
上記のように,文字列の場合は最初のデータフレームのレベル...
> df$x <- as.factor( df$x )
> df2 <- subset( df, df["y"] == 2, drop = TRUE )
> levels(df2$x)
[1] "1" "2" "3" "4"
> levels(as.factor(df2$y))
[1] "2"
> levels(df2$lb)
[1] "a" "b" "c" "d" "e" "f"
factorの列のレベルも消去する方法を,もう少し考えてみます...
- df2$lb <- factor(df2$lb) 残るのが気持ちが悪いなら, dfsp...
- ありがとうございました。教えていただいた関数dfsp()を実...
**legendの枠の大きさを変更したいのですが [#meb9bfe3]
>[[aabc]] (2009-06-14 (日) 22:30:00)~
~
棒グラフの凡例から文字がはみ出てしまいます。~
このHPとR Helpで隈なく調べてみたのですが、枠の大きさを変...
よろしければご教授下さい。~
本体のversionはR-2.6.2です。~
ご指摘を受けたので、具体的なコードを載せます(6/15(月)...
>df
V1 V2 V3
1 2 15 23
2 13 50 135
3 36 124 371
4 105 214 679
5 161 301 684
6 150 222 403
7 120 152 196
8 65 80 91
9 41 43 30
10 47 32 18
>colnames(df) <- birth.number <- c("0人","1人","2人") #...
>rownames(df) <- marry.at.age <- c("15~18歳","19~20歳","...
"25~26歳","27~28歳","29~30歳","31~32歳","33~34歳...
>barplot(data.matrix(df),col=rainbow(10),horiz=TRUE,main...
xlab="標本数",ylab="出生児数")
>legend(x=1500,y=2.3,marry.at.age,fill=rainbow(10),
title="妻の\n結婚年齢",cex=0.8)
枠そのものを変更できる方法はないでしょうか?
#ref("barplot_and_legend.png")
//
- コードを載せてください. -- [[よろしければ]] &new{2009-...
- legendの枠については、titleに与えている文字の表示は1列...
- legendの枠なんて本質的な問題ではないので、この場合は枠...
- なるほど、確かにtitle引数によってlegendの枠の大きさを間...
> barplot(data.matrix(df),col=rainbow(10),horiz=TRUE,ma...
xlab="標本数",ylab="出生児数")
>legend(x=1500,y=2.3, marry.at.age, fill=rainbow(10),
title=" 妻の結婚年齢 ", cex=0.8) #文字列の両端を1...
>legend(x=750,y=2.3,marry.at.age, fill=rainbow(10),
title=" ", cex=0.8) #空白のスペース
#ref(barplot_and_legend_001.png)
- いくつか表を並べた場合などは, legend(....., text.width=...
- strwidth、使えますね!他のサイズ指定にも役立ちそうです...
**作業中のファイルの名前取得 [#d3b47a29]
>[[ジェットラグ]] (2009-06-11 (木) 19:14:46)~
~
既存のファイル(例えば"hoge.RData")をRguiで開いて作業中...
~
RのバージョンはR-2.9.0,OSはWindowsXPです.~
//
- えーっと, loadしたファイルの履歴をとると言う意味であれば
attach(NULL, name = "JetFunEnv")
assign("loadHistory",
commandArgs()[grep(".RData$",commandArgs(),ignore.case=...
pos="JetFunEnv")
assign("load",
function(file, envir= parent.frame()) {
assign("loadHistory",
c(get("loadHistory",pos="JetFunEnv"),file),
pos="JetFunEnv")
base:::load(file,envir)
},
pos="JetFunEnv")
見たいなのを, .Rprofileに仕込んで, `loadHistory'とタイプ...
- ありがとうございます.後から試して,結果を報告します. ...
- 一つのやり方はファイル中のオブジェクトに該当ファイル名...
#ファイル中のオブジェクトにファイル名をコメントする関数...
> Comment <- function(file.name) {
name <- load(file=file.name) # ファイルからオブジェ...
A <- paste("comment(",name,")='from the file ",file.n...
eval(parse(text=A)) # ファイル名をコメント...
B <- paste("save(",name,",file='",file.name,"')",sep=...
eval(parse(text=B)) } # 再びファイルに保存
> x <- 1:10
> save(x,file="x.data")
> rm(x)
> Comment("x.data")
> load("x.data")
> comment(x)
[1] "from the file x.data"
- ありがとうございます.最初の方法と併せて,試行の結果を...
- 最初にご提示いただいた中にあるcommandArgs()という関数で...
> commandArgs()
[1] "C:\\R\\bin\\RGui.exe" "C:\\temp\\...
となるので,commandArgs()[2]で求めていたファイル名を取得...
> load("c:/temp/hoge.RData")
によってワークスペースをロードした場合には,commandArgs()...
- JetFunEnv環境内のloadHistory変数にload関数を実行するた...
- レスが遅くなり失礼しました.なるほど,そういうことだっ...
**limmaインストール [#j03198b9]
>[[sh]] (2009-06-10 (水) 14:08:58)~
~
'limma'パッケージがインストールできません。アドバイスをよ...
~
> install.packages("limma",dep=T)
Warning message:
In getDependencies(pkgs, dependencies, available, lib) :
package ‘limma’ is not available
> sessionInfo()
R version 2.9.0 (2009-04-17)
i386-apple-darwin8.11.1
//
- CRANにはPackage ‘limma’ was removed from the CRAN repos...
- `source("http://bioconductor.org/biocLite.R") ; biocLit...
- source("http://bioconductor.org/biocLite.R") ; biocLite...
**非線形最小自乗法 nls( ) 関数でのエラーの理由 [#v5aed4b6]
>[[のの]] (2009-06-08 (月) 21:16:42)~
~
次のデータyを,nls()関数で2次・3次多項式で近似し,それ...
y<-c(0.4404,0.2764,0.1124,-0.0516,-0.2156,-0.3796,-0.543...
x<-c(1:8) # 変数~
res1=nls(y~a+b*x,start=c(a=1,b=1),trace=T) # 1次式~
これを実行すると,エラー「繰り返し数が最大値 50 を超えま...
res2=nls(y~a+b*x+c*x^2,start=c(a=1,b=1,c=1),trace=T) # 2...
res3=nls(y~a+b*x+c*x^2+d*x^3,start=c(a=1,b=1,c=1,d=1),tr...
これら2次式,3次式を実行すると,エラー「勾配が特異です」...
~
データは見た感じほぼ直線ですが,上記3つの式で近似して当...
どなたか原因と対策をお教えいただけないでしょうか。どうか...
~
バージョンは,R2.5.0,WindowsXP を使用しています。~
//
- ?nls (「R基本統計関数マニュアル」の263頁)を見ましょう。...
> diff(y)
[1] -0.164 -0.164 -0.164 -0.164 -0.164 -0.164 -0.164
> ye <- y+1e-3*rnorm(length(y)) #人工的な誤差を加えるの...
> res1=nls(ye~a+b*x,start=c(a=1,b=1),trace=T) # 1次式
310.7787600001795 : 1 1
7.94637207633663e-06 : 0.6045071713694352 -0.163966602...
> res2=nls(ye~a+b*x+c*x^2,start=c(a=1,b=1,c=1),trace=T) ...
12261.1517016733 : 1 1 1
7.78438558419458e-06 : 6.040413965366944e-01 -1.636871...
-3.105165551708922e-05
> res3=nls(ye~a+b*x+c*x^2+d*x^3,start=c(a=1,b=1,c=1,d=1)...
604223.0598427523 : 1 1 1 1
7.6193699392589e-06 : 6.048664356480176e-01 -1.6454551...
1.939590111998957e-04 -1.666745679362869e-05
- 単に誤差から式を見積もれないだけじゃないの?誤差がないの...
- 最適化の手法を変えると解が求まりますよ。res1=nls(y~a+b*...
- 皆様,ありがとうございます。解決しました! -- [[のの]] ...
- ?nlsすると*Do not use 'nls' on artificial "zero-residua...
- ご指摘ありがとうございます。そうですね。。 -- [[のの]] ...
- AIC(lm(y~x+I(x^2)+I(x^3)))とかで良いのでは? なに故にnls...
**判別分析による予測について [#j4fd0b18]
>[[yuuuu]] (2009-06-05 (金) 02:55:35)~
~
lda関数によって判別式の算出と算出に用いたデータ自体の判別...
初歩的な質問かもしれませんが,どなたかお分かりの方いらっ...
//
- ?ldaかexample(lda)すると、predict(z, Iris[-train, ])$cl...
- 英語苦手な人は [[R 基本統計関数マニュアル:http://www.i...
**外れ値の棄却について [#q825f18f]
>[[mito]] (2009-06-03 (水) 17:29:59)~
~
こんにちは。~
すみません、初歩的な質問なのですが調べても分からなかった...
糖鎖とタンパク質(または血清やウィルスなど)の結合親和性...
書いています。ヒートマップのクラスタがきれいに出ないので...
そこで列ごと(つまり一つのタンパク質に対する糖鎖の結合親...
使用環境は
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-apple-darwin8.11.1
です。よろしくお願いします。~
//
- 分野特異的なタームが多いと返事が出にくいと思いますよ.要...
x <- matrix(sample(100,50),ncol=10)
y <- t(apply(x,1,function(x) scale(x,center=mean(sort(x)...
# 上下を1つずつ除いた場合
という意味でしょうか? -- [[akira]] &new{2009-06-03 (水) 1...
- 返信ありがとうございます。具体的に書いた方がより良いか...
- 配慮が足りなくてすみません。そうです。上下値を1から2...
- 単に±3SDの外側の値を捨てて、値がでなくなるまで繰...
- すみません。意味がよくわからないのですが、列ごとに上下...
> ex_matrix
Answer1 Answer2 Answer3 Answer4
A 101 120 70 35
B 153 162 88 46
C 89 135 78 24
D 26 49 42 17
E 36 70 30 16
F 167 216 144 71
G 125 143 89 65
があったときに
> apply(ex_matrix,2,sort)
Answer1 Answer2 Answer3 Answer4
[1,] 26 49 30 16
[2,] 36 70 42 17
[3,] 89 120 70 24
[4,] 101 135 78 35
[5,] 125 143 88 46
[6,] 153 162 89 65
[7,] 167 216 144 71
を使ってこのソートした後の1行目と7行目の値を無視して正...
1行目と7行目の値を列ごとに除外した平均と標準偏差が列ご...
- 例を出したので1行目と7行目と書いたのですが、本当はも...
- 私が書いたように妥当性の話だと思います。z変換が妥当なら...
- 「列ごとに上下値を3つずつくらい除外して」というのは「...
- 恣意的です。Z値を求めるときは除外したものを入力値として...
**重み付きロジスティック回帰分析のプログラミング方法 [#id...
>[[初心者]] (2009-06-01 (月) 13:16:17)~
~
はじめまして。~
目的変数が1のデータが141個、0のデータが34個のデータセット...
ですが、目的変数が1と0のデータの数に差があるため、glmパッ...
//
- やりたいことだけじゃなく、デモデータ、やったことを書く...
- 175組のデータを集めたら、目的変数の値が1のものが141組あ...
**正の乱数発生 [#e3abe385]
>[[edora]] (2009-06-01 (月) 02:28:33)~
~
"The R Book"を読んでRでシミュレーションをしてみようと思っ...
以下のように乱数を発生させるサンプルがあるのですがrunif(1...
---サンプル----
RNGkind("Super-Duper")
# 10000個の擬似乱数を正の整数の範囲で生成してinitsという...
inits <- as.integer(runif(10000,0,1)*.Machine$integer.max)
よろしくお願いします。~
//
- .Machine$integer.max = 2^(32)-1 は R が扱える最大正整数...
- 最大正整数が2^(32)-1なんですね。得られる桁数の指定で使...
**p値の指数を変更する方法(p値が0.000000e+00となってしま...
>[[かわべ]] (2009-05-29 (金) 03:03:48)~
~
多重比較検定をTukey法によって行っています.~
青木先生のHP(http://aoki2.si.gunma-u.ac.jp/R/tukey.html)...
source("http://aoki2.si.gunma-u.ac.jp/R/src/tukey.R", en...
dat <- read.table("in.txt",header=T)
tukey(dat$number,factor(dat$No))
というふうに検定を行っていますが
t p
1:2 9.239636 0.000000e+00
1:3 12.311420 0.000000e+00
・
2:3 3.071784 1.206570e-02
・
・
というようにp値が0になってしまうものがでてきます.
サンプル数が大きすぎるため(各群サンプル数110,4群比...
//
//- 使用環境をのせるのを忘れておりましたR version 2.9.0 (...
- R version 2.9.0 (2009-04-17) i386-pc-mingw32 attach...
//- R version 2.9.0 (2009-04-17) i386-pc-mingw32 atta...
//- R version 2.9.0 (2009-04-17) i386-pc-mingw32 atta...
- 数字の出力桁数を最大にするだけですむなら option(digits...
- ありがとうございます.入れてみましたが、 エラー: 関数...
- ちなみに数値の出力桁数って初期設定ではどれくらいなので...
- 失礼 options(digits=22) です。実際は有効桁数は16-17桁で...
**survfitが使えません [#s80082fe]
>[[かわぐち]] (2009-05-28 (木) 22:55:35)~
~
生存分析を行い生存曲線をカプランマイヤー法で描こうと思っ...
event <- c("y","y","y","y","y","n","y","y","n","y","y","...
"y","y","y","y", "n","y","n","y","y","y","y","y","n","n"...
time <- c(16,2,6,5,8,13,4,8,11,1,13,7,16,10,9,8,14,17,14...
15,17,16,14,8)
dat <- Surv(time, event=="y")
res <- survfit(dat)
以下にエラー survfit(dat) :
Survfit requires a formula or a coxph fit as the first ...
とのエラーが出て分析できません。何が間違っているのでしょ...
//
- survfitがformulaかcoxph fitしか取らないと言っています。...
- 返事ありがとうございます。しかし、survfitが要求している...
- 2.9.0 と 2.8.1 とで挙動が違うようですね.2.8.1 では以下...
> library(survival)
要求されたパッケージ splines をロード中です
> event <- c("y","y","y","y","y","n","y","y","n","y","y"...
"y","y","y","y", "n","y","n","y","y","y","y","y","n","n"...
> time <- c(16,2,6,5,8,13,4,8,11,1,13,7,16,10,9,8,14,17,...
13,6,3,15,17,16,14,8)
> dat <- Surv(time, event=="y")
> res <- survfit(dat)
> res
Call: survfit(formula = dat)
n events median 0.95LCL 0.95UCL
30 22 13 8 16
> plot(res)
2.9.0 では,
> dat <- Surv(time, event=="y") ~ 1
としないとダメ.-- [[surg]] &new{2009-05-29 (金) 10:28:20};
- なるほど、それが右側の~1だったのですね。 2.9.0で仕様が...
**Sliding windowによる t-test [#ae20f7f2]
>[[ぴ]] (2009-05-27 (水) 00:19:18)~
~
すみません。どなたかこのやり方をご存知ではないでしょうか?~
例えば、1から100までの数が順に並んでいると考えてくだ...
このとき、仮に20個の数字を一つのwindow sizeとしてこのグ...
つまり、
<比較A>
[1-20]と [21-100]の間のt-test
<比較B>
[2-21]と [1& 22-100]の間のt-test
<比較C>
[3-22]と [1-2& 23-100]の間のt-test
<比較D>
[4-23]と [1-3& 24-100]の間のt-test
<比較E>
[5-24]と [1-4& 25-100]の間のt-test
.
.
.
<比較Z>
[81-100]と [1-80]の間のt-test
として、それぞれのp-valueを求め、最終的にはその中で最も小...
すみませんが、どなたかご存知ではないでしょうか?~
お願いします。~
//
- こういうテストにはきっと何も意味はないよ,と思いつつ・...
x <- rnorm(100)
p <- rep(0,81)
for(i in 1:81){
g <- rep(0,100)
g[i:(i+19)] <- 1
p[i] <- t.test(x ~ g)$p.value
}
-- [[ぷ]] &new{2009-05-27 (水) 01:16:57};
- ありがとうございました。やってみます。
ただ、もしかすると上の場合は、20の要素と全体の100の...
求めたいものは、20の要素と残り80の要素の比較なのです...
よろしくお願いします。 -- [[ぴ]] &new{2009-05-27 (水) 05:...
- 大丈夫です。 -- [[ぷぷぷ]] &new{2009-05-27 (水) 07:40:5...
- ありがとうございます!! -- [[ぴ]] &new{2009-05-27 (水)...
//- ありがとうございます。C言語のprintf等で使える"\n"や"\...
//- 書き込みの衝突が原因で、下に書き込んだはずのコメント...
**barplotで各棒に長い名前を付ける方法 [#h05cd97d]
>[[kddoi]] (2009-05-25 (月) 16:15:08)~
~
棒グラフを作成しようとしております。しかし、個々の棒に付...
pos <- barplot(c(1:7), ylim=c(0,8))
box()
axis(1, at=pos, tick=FALSE, labels=paste("Very long name...
ようやくaxisの代わりにtext(pos, 0, paste("Very long name"...
//
- par(las=2, mar=c(10,4,4,1));barplot(c(1:7), ylim=c(0,8)...
- シンプルで応用の利く方法をありがとうございます。lasの指...
- それでも長い場合はpaste("Very very very \nvery long nam...
- ありがとうございます。C言語のprintf等で使える"\n"や"\t"...
**番号が連続するグループの数を調べたい・・・ [#c7f88451]
>[[ぽち]] (2009-05-24 (日) 00:47:22)~
~
例えば、
x <-c(1,2,3,4,5,6,8,9,10,11,12,13,15,16,17,19,20)~
という配列があったとします。~
ここから、番号が5個以上連続で続いているグループ(1,2,3,4...
//
- 検索でわかる性質の問題ではありません。Rの文法はわからな...
- 8,9,10,11,12,13は6つ続きの1グループと考えるだけでよいの...
- すみません。言葉足らずでした。 「8,9,10,11,12,13は6つ続...
実際のところ、これはブーツストラップの一部で、このような...
そのため、
x <-c(1,2,3,5,6,8,9,10,11,13,15,16,17,19,20)
に対して、「5つ以上連続する番号があるグループ」という条...
よろしくお願いします。
-- [[ぽち]] &new{2009-05-24 (日) 13:44:10};
- これはどう?
> x <- c(1,2,3,4,5,6,8,9,10,11,12,13,15,16,17,19,20)
> y <- rle(diff(x)) #差分の連続のし...
> z <- y$lengths[which(y$values == 1)] #差分1の連続する...
> length(z[z >= 4]) #(基準-1)以上の...
[1] 2
-- &new{2009-05-24 (日) 15:56:57};
- nrow(subset(data.frame(c(rle(diff(x)))), values==1 & le...
- ありがとうございます。 早速、組み込んでやってみます!...
**プロットでデータ群を記号分けしたい [#se82ee47]
>[[初心者。。]] (2009-05-22 (金) 15:43:22)~
~
散布図で2種類のデータ群を色分けではなく、記号分けしたい...
例えば、Aのデータ群を○、Bのデータ群を×で表示したいのです...
初歩的な質問ですが、よろしくお願いします。~
//
- [[matplot>http://www.okada.jp.org/RWiki/?%A5%B0%A5%E9%A...
- pchに記号のベクトルを与えれば良いのでは?
> x <- cbind(matrix(sample(100,32),ncol=2,dimnames=list(...
group=rep(c(1,4),8))
> plot(x[,1:2],pch=x[,3])
ということですか? -- [[akira]] &new{2009-05-22 (金) 19:0...
- akiraさん。回答ありがとうございます。下記の「よろしくお...
- 勉強が不十分なようですね。色分けの方法を知っているなら...
- 「初心者。。」さんのお役に立ててよかったです。ただ、私...
> x <- cbind(x=1:4,y=1:4)
> plot(x,pch=x[,1])
この意味をよく考えれば分かると思います。 -- [[akira]] &ne...
**記載データの散布図での3次元(4次元)表示方法 [#o2ad7e...
>[[よろしくお願いします。]] (2009-05-22 (金) 14:24:41)~
~
Rの初心者です。以下のようなデータを3次元(または4次元)...
> x<-cbind(rnorm(700,mean=11,sd=10),rnorm(700,mean=28,sd...
rnorm(700,mean=1,sd=1),rnorm(700,mean=14,sd=15))~
> y<-cbind(rnorm(600,mean=30,sd=50),rnorm(600,mean=27,sd...
rnorm(600,mean=7,sd=1),rnorm(600,mean=16,sd=21))~
どなたか、よろしくお願いします。~
//
- 「データを3次元(または4次元)表示」が具体的にどうい...
- scatterplot3dじゃだめかな? -- &new{2009-06-01 (月) 14...
**SASからRへのプログラム書き換え [#o42cde74]
>[[もうダメです。。]] (2009-05-22 (金) 08:34:54)~
~
ここでお尋ねしてよいのか迷いましたが、自分で考えてももう...
~
SASの以下のプログラムをRにしなくてはいけません。~
たくさん調べてみたのですが、私はどちらも初心者で、考えが...
以下は、Rで書くと、どのように書き直せるのでしょうか?
proc tpspline data A~
model Y=(X1 X2 X3)/alpha=0.01;
score data=A out=B
output out=C
Run;
場違いな質問をしていたら申し訳ありません。~
//
- 機能的な書き換えだけなら, proc tpsplineに対応するR関数...
- パッケージ「gss」をインストールした後、例えば
以下のRプログラムを実行すれば、推定値のグラフを描く
ところまでやってくれます。
function ()
{
library(gss)
xx1 <- c(1,2,4,3,5,6,5,7,6,8)
xx2 <- c(5,2,1,9,3,1,2,3,9,5)
yy <- c(2,2,1,9,2,1,1,1,2,2)
data1 <- data.frame(x1 = xx1, x2 = xx2, y= yy)
data2 <- list(x12=cbind(xx1, xx2), y=yy)
anova1 <- ssanova0(y~1+x12, data=data2)
ex1 <- seq(from = min(xx1), to = max(xx1), by = 0.1)
ex2 <- seq(from = min(xx2), to = max(xx2), by = 0.1)
ex12 <- expand.grid(ex1, ex2)
data3 <- model.frame(~1+x12, list(x12=cbind(ex12[,1], e...
ey1 <- predict.ssanova0(anova1, data3, inc=c("1","x12"))
eymat1 <- matrix(ey1, ncol=length(ex2))
persp(ex1, ex2, eymat1)
}
SASのalphaというのは推定値の信頼区間を推定するための定数...
ssanova0()を利用する場合は、上のRプログラムならanova1の...
利用すれば、推定値の信頼区間は容易に得られます。--[[竹澤]...
**Rで作った計算プログラミングをVBAやC#用のDLLにするには?...
>[[青空]] (2009-05-17 (日) 11:23:37)~
~
Rは3年度ほど使わせてもらっていますが、最近VBAやC#用のDLL...
//
- 聞いたことないな・・・。Rをコンパイルするってことか? -...
- DLL作成機能はないかなぁ・・・.ですが、実際やったことは...
- Rを裏で立ち上げないと、VBAやVBから直接利用出来ないよう...
- ないってば。見方を変えて、Sならあるのか調べてみたら? -...
**ベン図の面積 [#a7b8b088]
>[[sh]] (2009-05-14 (木) 23:04:29)~
~
個数に比例するように面積を変化させたVenn Diagramを描くに...
//
- symbols()でできるけど、個数と円の面積をそのまま比例させ...
- アドバイスありがとうございます。どうすればよろしいでし...
- Flanney J (1971). “The Relative Effectiveness of Some C...
#ref(VennDiagram.png)
- > 個数と円の面積をそのまま比例させるのはまずい~
と言っているが,間違えている(というか,後では正しいこと...
要するに,「個数を半径(直径)に比例させるのではなく,面...
**Rをエンジンとしたフロントエンドを自作するには? [#r6150...
>[[しまだ]] (2009-05-13 (水) 22:31:36)~
~
Rまだまだ初心者です。筑波大のSDAMのようにデータ処理をRに...
//
- GUI実装のパッケージは色々あると思う。フロントエンドをど...
- Windows版のR-2.7.1に添付されているPDFで「R-exts.pdf」と...
- どうもありがとうございました。まずは御紹介頂いた資料に...
**R のコードのデバッグに使用する開発環境について [#b2da66...
>[[初心者]] (2009-05-11 (月) 00:30:22)~
~
最近 R を使い始めた初心者です。~
R でコードを書いて、デバッグしようと思うのですが、予め設...
browser() でできることに近いのですが、browser() だと CUI ...
Eclipse 上で R を動かしたり、Meadow + ESS で試したりした...
ような機能はないように見えます。~
そもそも、そのような開発をするほどの長さのコードを書かな...
//
- わたしが知る限り初心者さんが記述しているデバッガ以外で...
- [[ess-rdired.el:http://www.okada.jp.org/RWiki/?ESS#z0b3...
- 返信が遅くなってしまい申し訳ございません。ess-rdired.el...
**Rで一から画像を作成する方法 [#xbb162cc]
>[[焼津の半次]] (2009-05-08 (金) 21:46:35)~
~
Rで、一から画像を作成してPNG形式で保存したいのです...
//
- 「一から画像を作成して」の部分がよくわからんが、「PN...
- 画像の保存はbitmap・Jpeg・PNG・windows metafile・pdf・p...
- SVG -- &new{2009-05-09 (土) 13:02:18};
**GLM−エラー [#a1f92a1f]
>[[そのまま]] (2009-05-08 (金) 15:50:59)~
~
一般化線形モデル(GLM)の分析について、以下のようなデータを...
> d02$y
[1] 59.61 33.27 20.27 10.18 11.77 12.88 23.30 14.15 5....
> d02$x
[1] 27.84 27.66 26.90 26.91 27.25 27.24 27.30 27.21 27....
AIC値を求めるとき、
> AIC(glm(y~x,family=poisson,data=d02))
[1] Inf
Warning messages:~
1: In dpois(y, mu, log = TRUE) : non-integer x = 59.610000
2: In dpois(y, mu, log = TRUE) : non-integer x = 33.270000
略
9: In dpois(y, mu, log = TRUE) : non-integer x = 5.100000
10: In dpois(y, mu, log = TRUE) : non-integer x = 0.790000
のようなエラーが出ます。なぜでしょうか?教えてください。~
//
- これは,AIC が出しているウォーニングメッセージではなく ...
従属変数を無理矢理整数にすると以下のようにウォーニング無...
> AIC(glm(as.integer(y)~x,family=poisson,data=d02))
[1] 98.2934
> AIC(glm(round(y)~x,family=poisson,data=d02))
[1] 93.20353
- as.integerを使うことで解決できました。有難うございます...
**エクセルでデータファイルを作る際のエラー [#g1d6838b]
>[[高橋]] (2009-05-08 (金) 00:37:04)~
~
本当に素人です。~
Rで回帰分析を行うために、エクセルで”カンマで区切って数値”...
//
- read.csv使ってますか? -- &new{2009-05-08 (金) 11:23:21};
- あ!すみません。質問の仕方が悪かったみたいですね。解決...
**heatmapの行と列の名前の取り出し方について [#gb667522]
>[[maori]] (2009-05-06 (水) 17:21:29)~
~
たびたび初歩的な質問をすみません。~
糖鎖とタンパク質との反応のheatmapを書いていて、糖鎖の数が...
heatmapの中のlabRowがそれを示しているのだと思ったのですが...
> z <- read.table("test.txt",header=TRUE,sep="\t",row.na...
> z_numeric <- apply(z,c(1:2),as.numeric)
> z_euclid <- dist(z_numeric,method="euclid")
> heatmap(z_numeric,hclustfun= function(z_euclid)
hclust(z_euclid,method="ward"))
です。~
また、ヒートマップの詳しい書き方について学べるページがあ...
使用環境は
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-apple-darwin8.11.1
です。よろしくお願いします。~
//
- x<-heatmap(ほげほげ); labels(x$Rowv) -- [[takahashi]] &...
- 返信ありがとうございます。
> label_z <- heatmap(z_numeric,hclustfun= function(z_euc...
hclust(z_euclid,method="ward"));labels(x$Rowv)
character(0)
> label_z
$rowInd
[1] 1 5 13 19 8 18 6 14 15 3 7 2 9 17 16 12 10 ...
$colInd
[1] 4 3 5 1 2
$Rowv
NULL
$Colv
NULL
となってしまうのですが、何が原因でしょうか。どう解決すれ...
再び質問ですみません。-- [[maori]] &new{2009-05-06 (水) 2...
- heatmap() 関数の引数として keep.dendro = T を追加して実...
- ありがとうございます!取り出すことができました。levelpl...
**plotにおける横軸目盛と関数の値の対応がずれる [#g5baa4d8]
>[[hf]] (2009-05-06 (水) 13:01:44)~
~
二項分布について,
> dbinom(0,3,.5)
[1] 0.125
のように求めた値と,
> plot(dbinom(0:3,3,.5),xlim=c(0,5),ylim=c(0,.5))
でx=0,1,2,3に対する値を求めてプロットしたものとを比べると...
dbinom(x,n,p)でxに与えた値と,plot(dbinom(x,n,p))でグラフ...
使用環境は以下の通りです。
> sessionInfo()
R version 2.8.0 (2008-10-20)
i386-pc-mingw32
よろしくお願いいたします。
//
- plot(0:3, dbinom(0:3,3,.5)) -- &new{2009-05-06 (水) 13...
- ありがとうございました。 -- [[hf]] &new{2009-05-06 (水)...
**R2WinBUGSでモデルファイルの読み込み [#p8659ddf]
>[[tonton1225]] (2009-05-04 (月) 16:14:57)~
~
RからWinBUGSを呼び出し、下記のモデルファイルを読み込むと...
エラーの内容はよく分からない記述になっていて、解読できま...
エラーは無駄に長く、コピペしても意味がないっぽいのでコピ...
WinBUGSのバージョンは1.4.3、WindowsXPです。~
なぜ、モデルファイルを読み込めないのかどなたか教えて下さ...
モデルファイル
model
{
for(i in 1:N) {
data[,i] ~ dmultinom(4,prob)
}
Tau <- 1
alpha1 ~ dnorm(0, Tau)
alpha2 ~ dnorm(0, Tau)
alpha3 ~ dnorm(0, Tau)
alpha4 ~ dnorm(0, Tau)
alpha <- ceiling(abs(c(alpha1,alpha2,alpha3,alpha4)))
prob ~ ddirichlet(alpha)
}
WinBUGSを呼び出す
# パッケージの読込
library(MCMCpack)
library(R2WinBUGS)
# データの作成
Tau.real<-10
alpha.real<-rnorm(4, 0, Tau.real)
alpha.real <- ceiling(abs(alpha.real))
prob.real<-rdirichlet(1,alpha=alpha.real)
data<-rmultinom(n=100,size=4,prob=prob.real)
N<-ncol(data)
# 初期値と保存するパラメータを設定
in1<-in2<-in3<-list(alpha1=1,alpha2=1,alpha3=1,alpha4=1,...
inits<-list(in1,in2,in3)
parameters<-c("alpha1","alpha2","alpha3","alpha4","prob")
# R2WinBUGSを実行
sample.wb<-bugs(
data, inits, parameters,
model.file="model.bug.test.txt",
debug=FALSE,
n.chains=3, n.iter=10000, n.burnin=1000,
codaPkg=TRUE,
bugs.directory="C:/Program Files/WinBUGS14",
working.directory=NULL
)
//
- 投稿書式がなっていなかったので,修正しておきます(初心...
- ありがとうございます。色々と初心者ですみません。 -- [[t...
- 「エラーの内容はよく分からない記述になっていて、解読で...
まあ,これだけ親切に??投稿法について記述しても,初心者...
- エラーの一部ですが、試しに出してみます。よろしくお願い...
incompatible copy
BugsCmds.TextError [000003A1H]
.beg INTEGER 831976856
.end INTEGER 16861596
.name ARRAY 256 OF CHAR "C:/Documents and Settings/sumio...
"C:/Documents and Settings/sumioka/My Documents/program/...
.pos INTEGER 35
.text TextModels.Model [01016F90H]
.v Views.View [010182D0H]
BugsCmds.Parse [00000470H]
.name ARRAY 256 OF CHAR "C:/Documents and Settings/sumio...
"C:/Documents and Settings/sumioka/My Documents/program/...
.s BugsScanners.Scanner
.char CHAR "]"
.nextCh CHAR " "
.real REAL 5.515143454889401E-308
.int INTEGER 1
.pos INTEGER 35
.type INTEGER 0
.len INTEGER 1
.string BugsScanners.String "i"
"i", 0X, "ta", 0X, 0X, "hlet", 0X, "#", 0D4A8X, "#",
1B4BX, 3144X, 0X, 0X, 0D4ECX, "#", 0B64X, 3130X,
0D4C0X, "#", 0D4C0X, "#", 2653X, 3144X, 80D0X, 108X,
0D550X, 117X, 0X, 0X, 0D4D8X, "#", 0D4D8X, "#",
354FX, 3144X, 80D0X, 108X, 0D550X, 117X, 0X, 0X,
0D4FCX, "#", 625EX, 3131X, 0D880X, 104X, 0D4ECX, "#",
0B64X, 3130X, 0X, 0X, 2D60X, 32E7X, 2D74X, 32E7X,
14X, 0X, 0D51CX, "#", 4C97X, "õ", 0E290X,
102X, 2D60X, 32E7X, 2D74X, 32E7X, 14X, 0X, 0DBFCX, "#",
0D43EX, "#", 0D544X, "#", 4CE5X, "õ",
2D60X, 32E7X, 2D74X, 32E7X, 14X, 0X, 0E044X, "#",
0D55CX, "#", 1152X, 32E7X, " ", 0X, "!", 0X, 1FX,
0X, 0X, 0X, 0D554X, "#", 2050X, "ø", 0DBD0X,
"#", 1D4X, "÷", 0D34X, 32E7X, 0X, 32E6X, 6150X,
7372X, "e#", 0D43EX, "#", 0D46CX, "#", 5270X, 3131X,
0X, 0X, 0D4ECX, "#", 0B64X, 3130X, 0X, 0X, 0X,
0X, 8A0X, 116X, 0DBFCX, "#", 0D43EX, "#", 0D494X,
"#", 5270X, 3131X, 0X, 0X, 0D4ECX, "#", 0B64X,
3130X, 0X, 0X, 0X, 0X, 6E0X, 116X, 0DBFCX, "#",
0D43EX, "#", 0D4A8X, "#", 1B4BX, 3144X, 0X, 0X,
0D4ECX, "#", 0B64X, 3130X, 0D4C0X, "#", 0D4C0X,
"#", 2653X, 3144X, 80D0X, 108X, 0D550X, 117X, 0X, 0X,
0D4D8X, "#", 0D4D8X, "#", 354FX, 3144X, 80D0X,
108X, 0D550X, 117X, 0X, 0X, 0D4FCX, "#", 625EX, 3131X,
0D880X, 104X, 0D4ECX, "#", 0X, 0X, 0X, 0X, 0X,
0X, 0X, 0X, 14X, 0X, 0D51CX, "#", 4C97X, "õ",
0E290X, 102X, 0X, 0X, 0X, 0X, 0X, 0X, 0X, 0X,
214X, 314BX, 0D558X, "#", 32D4X, "ø", 0DBD0X,
"#", 1D4X, "÷", 0D538X, "#", 1D4X, "÷", 0DBCFX,
"#", 3X, 0X, 10X, 0X, 1D4X, "÷", 0DBBCX, "#", 0X,
0X, 214X, 314BX
.source POINTER NIL
.textReader TextModels.Reader [010156C0H]
.eot BOOLEAN FALSE
StdInterpreter.CallProc [0000047AH]
.a BOOLEAN FALSE
.b BOOLEAN FALSE
.c BOOLEAN FALSE
.i Meta.Item
.obj INTEGER 4
.typ INTEGER 0
.vis INTEGER 4
.adr INTEGER 854006166
.mod POINTER [32E60000H]
.desc POINTER IllegalAddress000000BCH
.ptr Meta.ArrayPtr [0100AD30H]
.ext Kernel.ItemExt NIL
.imported ARRAY 256 OF CHAR ""
以上が一部です。 -- [[tonton1225]] &new{2009-05-04 (月) 1...
** POSIXlt の bug ? [#v0f6a18c]
>[[surg]] (2009-05-04 (月) 10:16:35)~
~
質問というよりは報告ですが、strptime() で生成した POSIXlt...
> (t <- strptime(paste("1-1-2001 9", 1:20, sep=":"), "%m...
[1] "2001-01-01 09:01:00" "2001-01-01 09:02:00"
"2001-01-01 09:03:00"
略
[16] "2001-01-01 09:16:00" "2001-01-01 09:17:00"
"2001-01-01 09:18:00"
[19] "2001-01-01 09:19:00" "2001-01-01 09:20:00"
> length(t)
[1] 9
そのため、データフレームへの結合で問題が起こります.~
同じサイズのデータフレームには結合できません.~
> d1 <- data.frame(a=1:20)
> d1$b <- t
以下にエラー `$<-.data.frame`(`*tmp*`, "b", value = list...
replacement has 9 rows, data has 20
サイズ9のデータフレームには一応結合できる(warning が出ま...
> d2 <- data.frame(a=1:9)
> d2$b <- t
> d2
a b
1 1 2001-01-01 09:01:00
2 2 2001-01-01 09:02:00
略
8 8 2001-01-01 09:08:00
9 9 2001-01-01 09:09:00
Warning message:
In format.data.frame(x, digits = digits, na.encode = FAL...
壊れたデータフレームです。列が切り詰められるか、または...
データフレーム作成時に入れておけば,問題なし.
> d3 <- data.frame(a=1:20, b=t)
> d3
a b
1 1 2001-01-01 09:01:00
2 2 2001-01-01 09:02:00
略
19 19 2001-01-01 09:19:00
20 20 2001-01-01 09:20:00
ちなみに、as.POSIXlt()を使っても同様.
> (t <- as.POSIXlt(paste("2001-01-01 9:1", 1:20, sep=":"...
[1] "2001-01-01 09:01:01" "2001-01-01 09:01:02"
"2001-01-01 09:01:03"
[4] "2001-01-01 09:01:04" "2001-01-01 09:01:05"
"2001-01-01 09:01:06"
略
[16] "2001-01-01 09:01:16" "2001-01-01 09:01:17"
"2001-01-01 09:01:18"
[19] "2001-01-01 09:01:19" "2001-01-01 09:01:20"
> length(t)
[1] 9
//
- オンラインヘルプは見ましたか?~
Details
There are two basic classes of date/times.
Class "POSIXct" represents the (signed)
number of seconds since the beginning of
1970 as a numeric vector. Class "POSIXlt"
is a named list of vectors representing
sec
0-61: seconds
min
0-59: minutes
hour
0-23: hours
mday
1-31: day of the month
mon
0-11: months after the first of the year.
year
Years since 1900.
wday
0-6 day of the week, starting on Sunday.
yday
0-365: day of the year.
isdst
Daylight savings time flag. Positive if
in force, zero if not,
negative if unknown.
要するに,POSIXlt の要素は9個ということでしょう?
> t[1]
[1] "2001-01-01 09:01:00"
> cat(t[1]$sec,t[1]$min,t[1]$hour,t[1]$mday,t[1]$mon,
t[1]$year,t[1]$wday,t[1]$yday,t[1]$isdst)
0 1 9 1 0 101 1 0 0
何の問題もないように思います(ちなみに,確認した限りでは...
なお,
Details
Both functions are generic: you can write methods to han...
classes of objects, see InternalMethods.
とありますので,「必要な length は,自分で書け」といって...
単純には,例えば以下のようにすればあなたの要求は満たされ...
> length(as.character(t))
[1] 20
必要な情報はほとんどオンラインヘルプから得られると思いま...
- ありがとうございます.コメントがつくとは思ってませんで...
繰り返しになりますが、私が言いたかったのは「POSIXlt オブ...
まあ、bug というよりは仕様なのでしょうね.~
ちなみに
> d1 <- data.frame(a=1:20)
> d1$b <- t
以下にエラー `$<-.data.frame`(`*tmp*`, "b", value = lis...
replacement has 9 rows, data has 20
はダメだけど、
> d1$b <- data.frame(t)$t
なら大丈夫.-- [[surg]] &new{2009-05-04 (月) 20:16:50};
**expression()でsymbol等が表示できなくなりました [#j356ab...
>[[u-kun]] (2009-05-01 (金) 16:23:35)~
~
以前にR-2.8.1のですが、R-2.9.0をインストールしてR User Co...
expression()でmuや%*%等の表示がwindowsのグラフィックデバ...
muはmに%*%は'になってしまいます。~
pdfに出力すればちゃんと表示されます。~
R-2.8.1に戻しても表示されませんでした。~
~
現在の使用環境はwindows XP sp2でRのバージョンは以下の通り...
R version 2.9.0 Patched (2009-04-28 r48429)
i386-pc-mingw32
locale:
LC_COLLATE=Japanese_Japan.932;LC_CTYPE=Japanese_Japan.93...
LC_NUMERIC=C;LC_TIME=Japanese_Japan.932
attached base packages:
[1] stats graphics grDevices utils datasets me...
Rの問題ではなく、私の使用環境の問題でしょうか?
//
- お騒がせしました。解決しました。R User Configurationで...
- 当方でも同じ現象がおきて悩んでいたのですが,どうもRdevg...
**ヒートマップの目盛りの値の変更について [#d933e234]
>[[maori]] (2009-04-28 (火) 21:47:55)~
~
初めて質問させていただきます。~
過去の質問等をみさせていただいてもよくわからなかったので...
heatmapを書いているのですが、元になる値が(正規化はしてい...
マップの色が近くて困っています。~
~
heatmapの内容を変えることにより調節できると思うのですが、...
どうしたら良いか分かりません。~
~
以下が私が入力したコマンドです。
y <- read.table("standarddeviation.txt",header=TRUE,sep=...
y_numeric <- apply(y,c(1:2),as.numeric)
y_euclid <- dist(y_numeric,method="euclid")
pdf("standarddeviation_ward4.pdf",paper="special",width=...
heatmap(y_numeric,scale="column",hclustfun= function(y_e...
margins=c(30,30),col=cm.colors(256),RowSideColors = rc...
cexRow = 0.2 + 1/log10(10), cexCol = 0.2 + 1/log10(10))
dev.off()
よろしくお願いします。~
//
- standarddeviation.txt がどのようなものであるかわからな...
- ↑の方のおっしゃることも尤もですね。整形ルールをちゃんと...
で、ご質問ですが、help(heatmap)でimageの引数をとることが...
> x <- matrix(sample(100,200,re=T),ncol=4)
> range(x)
[1] 1 100
> heatmap(x)
> heatmap(x,zlim=c(0,200))
こういうことを言っているのでしょうか?でも個人的には、無理...
- > ↑さんの言い方も少し冷たいような気が…~
今後の質問のことも考えてのアドバイスですけどね。~
上の方の注意書き「回答者は神通力を持ってはいません。「こ...
また,質問者の真意を推量して答えたつもりが,全然違ったと...
zlim では,極端になるだけなので,グレード表示(グラデエー...
> ところで「?」がつくのは「PukiWikiの仕様」 ~
よーく知っています。 -- &new{2009-04-29 (水) 09:18:15};
- 迅速なコメントありがとうございます。
いろいろ知らないことが多くてすみません。
今出先なので、バージョンは分からないのですがMac OSで4月の...
standarddeviation.txtは物質と物質との反応値を示したものを...
helpを参照して上記のように変更してみたのですが、今度はほ...
大きくしたいのです。
すみません。apply(y,c(1:2),as.numeric)についてですが、研...
す。けれども、いろいろ教えてくださり、本当にありがとうご...
-追記です。バージョンは ~
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-apple-darwin8.11.1
locale:
ja_JP.UTF-8/ja_JP.UTF-8/C/C/ja_JP.UTF-8/ja_JP.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets me...
でした。
-col=rainbow(1000)で大変みやすくなりました。ありがとうご...
**data.frameへのapply適用で数字がis.numeric=FALSEとなる [...
>[[akira]] (2009-04-28 (火) 19:31:45)~
~
いつもありがとうございます。基本的事項で恐縮ですが、理由...
> x <- data.frame("Alpha"=LETTERS[1:3],"Num"=1:3)
> apply(x,2,is.numeric) # x$"Num"がTRUEにならないのはな...
Alpha Num
FALSE FALSE
> apply(x,c(1,2),is.numeric) # x$"Num"がTRUEにならないの...
Alpha Num
[1,] FALSE FALSE
[2,] FALSE FALSE
[3,] FALSE FALSE
> is.numeric(x$"Num") # x$"Num"だけ指定するとTRUE
[1] TRUE
> is.numeric(x$"Num"[1]) # x$"Num"だけ指定するとTRUE
[1] TRUE
となります。~
私の環境は~
> sessionInfo()
R version 2.9.0 Patched (2009-04-24 r48395) i386-pc-ming...
locale:
LC_COLLATE=Japanese_Japan.932;LC_CTYPE=Japanese_Japan.93...
LC_NUMERIC=C;LC_TIME=Japanese_Japan.932
attached base packages:
[1] stats graphics grDevices utils datasets me...
です。ちなみにWindowsのR-2.8.1 Patched、LinuxのR-2.9.0 pa...
//
- apply の第1引数は array で(the array to be used.),...
以下の実行例が参考になるでしょう。~
基本的には apply(foo, 2, bar) は foo が array のときに使...
foo がデータフレームのときには,sapply(foo, bar) を使うべ...
なお,data.frame("Alpha"=LETTERS[1:3],"Num"=1:3) というの...
> apply(x,2,class)
Alpha Num
"character" "character"
> sapply(x,class)
Alpha Num
"factor" "integer"
- なるほど、引数がarrayなのは知っていましたが、今回、意味...
//- 色 -- &new{2010-03-03 (水) 21:31:50};
//あほ!
終了行:
COLOR(green){SIZE(20){初心者のための R および RjpWiki に...
COLOR(red){過去の記事のアーカイブ}。
-[[Q&A (初級者コース)/10]] (元記事が 2008-11-17 より 2...
-[[初級Q&A アーカイブ(9)]] (元記事が 2008-01-06 より 2...
-[[初級Q&A アーカイブ(8)]] (元記事が 2007-07-02 より 2...
-[[初級Q&A アーカイブ(7)]] (元記事が 2007-02-01 より 2...
-[[初級Q&A アーカイブ(6)]] (元記事が 2006-08-24 より 2...
-[[初級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
----
**forループを回避する方法について [#k52b483f]
>[[きむ]] (2010-03-08 (月) 00:50:28)~
~
いつも勉強させていただいてます。~
毎度、基本的なことですみませんが、質問させてください。~
~
現在、以下のような処理をしようとしています。~
具体的には、dataA(45万個のデータ)のxとdataB(2000個程度...
(「if(length(y)==0) y <- 0」は該当しないidがほとんどであ...
~
ii <- 450000
z <- numeric(ii)
for(i in 1:ii){
y <- dataB[dataB$id == dataA$id[i],"y"]
if(length(y)==0) y <- 0
ifelse(y < dataA$x[i], z[i] <- 0, z[i] <- y-dataA$x[i])
}
~
ただ、45万回のforループを処理するため、かなり時間がかかり...
dataAをdataBの共通分(5万個程度)のみ抽出し、処理してから...
applyファミリー等を使えば、forを内部化し、処理を高速化す...
プログラミングのテクニックについて、アドバイスいただけれ...
基本的な質問で申し訳けありませんが、よろしくお願いいたし...
//
- 「メモリ不足でmergeできませんでした」ということですが,...
- アドバイスありがとうございます。ご指摘のとおり、2時間程...
- 当方でテストデータ(45万と2000)を作ってやってみても,...
- z <- sapply(1:nrow(dataA), function(i) max(dataB$y[whic...
- 河童様、コメントありがとうございます。データは以下のと...
dataAの内容(データ数450000):GLが先ほどの例のxです~
mesh.id m5 GL
1 S035E005-21-3-3 21 100
2 S035E005-21-3-3 22 100
3 S035E005-21-3-3 23 100
dataBの内容(データ数2063):FL2が先ほどの例のyです
mesh.id FL2
1 S035E010-14-1-2 21.36078
2 S035E010-14-1-4 20.57547
3 S035E010-14-2-1 20.80305
ちなみに、実際のプログラムです:dataAがm5GL,dataBがm25Vs...
kk <- length(m5GL$mesh.id)
FL <- numeric(kk)
for(i in 1:kk){ #5mメッシュGLと比較してメッシュ別FLを算定
FL2 <- m25Vsh[m25Vsh$mesh.id == m5GL$mesh.id[i],"FL2"]
if(length(FL2)==0) FL2 <- 0
ifelse(FL2 < m5GL$GL[i], FL[i] <- 0, FL[i] <- FL2-m5GL$G...
}
- surg様、コメントありがとうございます。今、再度同じプロ...
- 河童様、やはり会社のパソコン(windowsXP cor2duo 3GHz)...
ユーザ システム 経過
8379.59 15.28 8453.30
- 時間の見積もりは,最初にあなたがデータフレームの構造を...
それと,for ループの中でやることと,外でやることの区別を...
> test <- function()
+ {
+ z <- numeric(ii)
+ for(i in 1:ii){
+ y <- dataB[dataB$id == dataA$id[i],"y"]
+ if(length(y)==0) y <- 0
+ ifelse(y < dataA$x[i], z[i] <- 0, z[i] <- y-dataA$x[...
+ }
+ return(z)
+ }
> set.seed(666)
> ii <- 450000
> dataA <- data.frame(id=sample(ii), x=rnorm(ii))
> num <- 2000
> dataB <- data.frame(id=sample(ii, num), y=rnorm(num))
> system.time(z <- test())
ユーザ システム 経過
80.553 0.488 80.596
> test2 <- function()
+ {
+ z <- numeric(ii)
+ for(i in 1:ii){
+ y <- dataB[dataB$id == dataA$id[i],"y"]
+ if(length(y)==0) y <- 0
+ z[i] <- y
+ }
+ z <- ifelse(z < dataA$x, 0, z-dataA$x) # これはループ...
+ return(z)
+ }
> system.time(z2 <- test2())
ユーザ システム 経過
62.656 0.984 63.291
> all.equal(z, z2) # 答えが同じになるこ...
[1] TRUE
- 河童様、ご指摘のとおりidがfactorになっていました。これ...
- surg様、教えていただいたコードを試したところ、きちんと...
**ESSモード時に自動でauto-completeモードなる方法 [#yc005d...
>[[Emacs超初心者]] (2010-03-07 (日) 04:44:03)~
~
Emacs 23 on Windowsを先日から使い始めました。~
若干、ここで質問するべき事項かどうか微妙なところではござ...
~
ESSとauto-completeを使用しているのですが、ESSモード時にい...
(global-auto-complete-mode t)
や
(add-hook 'ess-mode-hook
'(lambda ()
(auto-complete-mode)))
をしてみましたが、自動でオンになりませんでした。~
ESSモード時もしくは.Rファイルを開いたら、自動でオンにする...
//
- 上記のような設定は必須です。その上で、auto-complete.el...
(setq ess-mode-load-hook
'((lambda ()
(require 'auto-complete)
(when (boundp 'ac-modes)
(setq ac-modes
(append ac-modes
(list 'ess-mode ))))
(global-auto-complete-mode t)
)))
などと書けば、auto-complete.el自体を編集しないでもOKです...
- ありがとうございます! 上記ではうまくいきませんでした...
(when (boundp 'ac-modes)
(setq ac-modes
(append ac-modes
(list 'ess-mode))))
でうまくいきました。ac-modesがキーワードなんですね。あり...
**PLS回帰用のNIRデータの構造 [#s57e3b89]
>[[にわか]] (2010-03-04 (木) 00:18:15)~
~
winXPで2.10.1を使っています~
NIRのデータでPLS回帰をしようと思っていろいろ調べていると...
NIRのデータが波長ごとに列変数になっているように見え、表示...
ところがnames(yarn)をしますと、~
[1] "NIR" "density" "train"~
で、列変数が3つしかなく、NIR.1〜NIR.268が全てNIRに代表さ...
これはどういう構造のデータフレームなのでしょうか。また、...
よろしくご教示のほどお願いします。~
//
- 僕自身もplsを昔使ったことがあるので。データはリストの形...
- 早速のコメント有り難うございます。 -- [[にわか]] &new{2...
-str(yarn)やってみました。 -- [[にわか]] &new{2010-03-04 ...
-同様の構造のデータを作るために、たとえば以下のようにして...
y <- c(1, 2, 3)
x <- matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), nr...
attr(x, "dimnames") <- list(NULL, NULL)
ZZZ <- list(NIR=x, a=y)
これで一応、plsr(a ~ NIR, 2, data=ZZZ・・・・) のように、...
- yarn と同じ構造にしたいなら,structure(list(NIR=x, a=y)...
- 河童の屁さん、有り難うございます。=で思っていたものがで...
- row.names==seq_len(nrow(x)) になってましたね。== を = ...
**多数の分割に耐えうるカラーパレットを追加するパッケージ ...
>[[cex]] (2010-03-03 (水) 18:54:40)~
~
CRANからRColorBrewerをインストールしたのですが,色の分割...
~
そこで,多数(100程度)の分割に耐えうるカラーパレットを追...
もしご存じの方がいらっしゃれば,ご教示お願いします.~
//
- そもそも,100色も識別できるとは思えませんが,標準である...
- ありがとうございます.やはり,自分で作るしかないのでし...
- 一応、gplotsと言うパッケージの中の関数にあるrich.colors...
**CSVデータの読み込み [#a1ffda13]
>[[まるこ]] (2010-03-02 (火) 20:14:55)~
~
R初心者です。~
~
Rのバージョンは2.10.1、OSはVISTAです。~
~
クラスター分析がしたくて、
data <- read.table("xxx.csv", header=TRUE, sep=",")
d <- as.dist(data)
ans <- hclust(d, method="ward")
plot(ans, hang=-1)
というスクリプトを教えていただきました。~
データはあらかじめ作り、「カレントディレクトリ」に入れる...
「カレントディレクトリ」というのは、Rが入っているフォルダ...
D\Program Files\R-2.10.1 や、その中の「bin」や「doc」に...
エラーメッセージは、
In file(file, "rt") :
ファイル 'rensyuu.csv' を開くことができません: No suc...
> d <- as.dist(data)
以下にエラー as.vector(x, mode) :
cannot coerce type 'closure' to vector of type 'any'
> ans <- hclust(d,method="ward")
以下にエラー hclust(d, method = "ward") : オブジェクト...
> plot(ans,hang=-1)
以下にエラー plot(ans, hang = -1) : オブジェクト 'ans'...
となります。~
~
それで、CSVファイルの保存場所が間違っているのだと思い、1...
data <-read.table(file.choose(), header=TRUE, sep=",")
として、ファイルを選び、実行しました。~
すると、またエラーメッセージが出ました。
警告メッセージ:
1: In storage.mode(m) <- "numeric" : 強制変換により NA ...
2: In as.dist.default(data) : 正方行列ではありません ~
> ans <- hclust(d,method="ward")
以下にエラー hclust(d, method = "ward") :
外部関数の呼び出し(引数 11) 中に NA/NaN/Inf があります
> plot(ans,hang=-1)
以下にエラー plot(ans, hang = -1) : オブジェクト 'ans'...
過去ログで、データを新しいブックに貼り付けたらNAが消えた...
それもやってみましたが、解決しません。~
CSVファイルの保存場所の件と、2番目の方法でエラーにならな...
よろしくお願いいたします。~
//
- 1番目の回答。?Rのアイコンのプロパティの作業フォルダを...
- ありがとうございます!?でやってみましたが、結局「開くこ...
- わー!できました!行の名前(A列)に文字列があるのがいけ...
- ここで話してる内容って見てると不安になるんだけど、でき...
**タイムラグ処理をしたデータを時間がズレたままCSVファイル...
>[[森の熊五郎]] (2010-03-01 (月) 23:54:09)~
~
下記のプログラムを使って、修理の件数予測をしようと思って...
手法は簡単で、過去の製品の前年度比実績推移をもとに直近の...
過去と同じ推移になると想定して予測をします。~
2002年に出したAモデルから2007年に出したFモデルを...
Aモデルに比べFモデルは60ヶ月遅れて出しました。2002年のモ...
修理データは出荷後3年のデータですので、2007年モデルにとっ...
せっかくの計算結果をcsvに落とし、みんなに見せようと思って...
CSVに書き込む方法はありますか?ご教示ください。
repair <- read.csv("Repair2005_10.csv", header=TRUE)
N2002A <- ts(repair$X2002A, start=c(2005, 4), frequency=...
N2003B <- ts(repair$X2003B, start=c(2005, 4), frequency=...
N2004C <- ts(repair$X2004C, start=c(2005, 4), frequency=...
N2005D <- ts(repair$X2005D, start=c(2005, 4), frequency=...
N2006E <- ts(repair$X2006E, start=c(2005, 4), frequency=...
N2007F <- ts(repair$X2007F, start=c(2005, 4), frequency=...
R2002A <- lag(N2002A/lag(N2002A, k=-12), k=-64)
R2003B <- lag(N2003B/lag(N2003B, k=-12), k=-52)
R2004C <- lag(N2004C/lag(N2004C, k=-12), k=-40)
R2005D <- lag(N2005D/lag(N2005D, k=-12), k=-28)
R2006E <- lag(N2006E/lag(N2006E, k=-12), k=-16)
R2007F <- lag(N2007F/lag(N2007F, k=-12), k=- 4)
w7 <- rep(1, 7)/7
MDA <- filter(R2002A, filter=w7, sides=2)
MDB <- filter(R2003B, filter=w7, sides=2)
MDC <- filter(R2004C, filter=w7, sides=2)
MDD <- filter(R2005D, filter=w7, sides=2)
MDE <- filter(R2006E, filter=w7, sides=2)
MDF <- filter(R2007F, filter=w7, sides=2)
MRESULT <- data.frame(MDA, MDB, MDC, MDD, MDE, MDF)
write.csv(RESULT, "RESULT200510.csv", row.names=TRUE)
//
- 余計な情報にまぎれて,あなたが何を質問したいかがよくわ...
上のプログラムは,= を <- にしたり,"," の後にスペースを...
> MRESULT=data.frame(MDA,MDB)
> write.csv(RESULT,"RESULT200510.csv",row.names=TRUE)
以下にエラー inherits(x, "data.frame") : オブジェクト ...
となります。つまり,期待する結果が得られないといっている...
質問するには,状況を再現できる,読みやすいプログラム,な...
「そんな単純な事ことじゃない」ということでしたら,以下の...
> set.seed(666)
> repair <- data.frame(X2002A=1:120, X2003B=1001:1120)
> head(repair)
X2002A X2003B
1 1 1001
2 2 1002
3 3 1003
4 4 1004
5 5 1005
6 6 1006
> N2002A <- ts(repair$X2002A, start=c(2005, 4), frequenc...
> N2003B <- ts(repair$X2003B, start=c(2005, 4), frequenc...
> R2002A <- lag(N2002A/lag(N2002A, k=-12), k=-64)
> R2003B <- lag(N2003B/lag(N2003B, k=-12), k=-52)
>
> w7 <- rep(1, 7)/7
> MDA <- filter(R2002A, filter=w7, sides=2)
> MDB <- filter(R2003B, filter=w7, sides=2)
> MRESULT <- data.frame(MDA, MDB)
> head(MRESULT)
MDA MDB
1 NA NA
2 NA NA
3 NA NA
4 5.444898 1.011952
5 3.944898 1.011940
6 3.278231 1.011928
- 追記します。複数の時系列データを時間軸をあわせて統合す...
- 河童の屁さま、おはようございます。貴殿の例ではMDAがMDB...
- MRESULT <- rbind(MRESULT[rep(1, 12),], MRESULT) とすれ...
- 河童の屁さま、ありがとうございます。ただ、data.frame文...
**ライセンスが「ファイル」形式のパッケージのインストール ...
>[[きむ]] (2010-02-18 (木) 19:05:21)~
~
いつも勉強させていただいております。~
~
モデルを用いたクラスター分析をしようとパッケージ「mclust...
by using mclust, or by using any other package that invo...
you accept the license agreement in the mclust LICENSE f...
and at http://www.stat.washington.edu/mclust/license.txt
そこで、上記サイトに行って「license.txt」ファイルをダウン...
(とりあえず上記ライセンスでテストし、使えそうであれば正...
~
これまで、パッケージのライセンスがファイル形式のものを使...
~
設定方法をご存知の方がおられましたら、教えてください。~
よろしくお願いします。~
//
- ライセンスファイルをちゃんと読みましょう。 -- &new{201...
- 私もやってみましたけど、2.10.1版 windows XPで同じ現象...
- コメントありがとうございます。ただ、今回の質問は、ライ...
とりあえずAcademic Licensingで試用したいと思いましたが、 ...
- というか、上記メッセージがでていた時点で、ライセンス設...
**cannot shut down device 1 [#a2f4ca4d]
>[[くま]] (2010-02-18 (木) 10:17:57)~
~
これまで正常に起動していたRcmdr上で、dev.off()を実行する...
エラー:cannot shut down device 1 (the null device)
が出るようになってしまいました。インストールしているRcmdr...
//
- それはデバイスが開いている状態でシャットダウンできない...
- おっしゃるとおりです。plot.new()をしてから、やれば大丈...
**hclustの要素プロット順の変更方法 [#xf6a2b40]
>[[ken]] (2010-02-16 (火) 22:07:15)~
~
クラスタ解析をRで実施するにはいくつかの関数があるようです...
hclustでデンドログラムをプロットする際に要素を列の平均の...
~
私が行っている操作は以下の通りです。
set.seed(567)
x <- round(matrix(rnorm(50),ncol=5),3)
d <- dist(x)
cl <- hclust(d,method="complete")
plot(cl, sub="none", main="hclust Dendrogram", hang=-1)
目的としているプロットは次の操作で得られています。~
しかし、rect.hclustで加工ができないので悩んでいます。
dc <- as.dendrogram(cl)
Colv <- colMeans(x)
ddc <- reorder(dc, Colv)
plot(ddc, main="as.dendrogram Dendrogram")
何卒、アドバイスをいただけますようお願いいたします。 ~
//
**一致するIDに1を入れる [#t6d85cb7]
>[[ざーさい]] (2010-02-15 (月) 08:43:19)~
~
ある疾患に罹患した人のID8桁のリストがあり、罹患した人そう...
//
- match -- &new{2010-02-15 (月) 09:05:34};
- とりあえず思いつくのはこんなところ
> data <- data.frame(id = as.character(10000001:10000010))
> id.list <- c("10000002", "10000005", "10000007")
> data$dis <- 0
> data$dis[data$id %in% id.list] <- 1
> data
id dis
1 10000001 0
2 10000002 1
3 10000003 0
4 10000004 0
5 10000005 1
6 10000006 0
7 10000007 1
8 10000008 0
9 10000009 0
10 10000010 0
もっと簡単な方法もあるかも -- [[surg]] &new{2010-02-15 (...
- matchでうまくできなかったのですが、どうもありがとうござ...
- 自己レスですが、IDのリストをpasteで整数から文字に変換し...
- match を使うなら,surg さんの提示した例の,4行目を data...
また,3,4 行目を data$dis <- 1-is.na(match(data$id, id.li...
**関数"is"を見つけることができませんでした [#m874c884]
>[[くま]] (2010-02-12 (金) 06:41:57)~
~
RはXPで使っていましたのである程度は分かっているつもりでし...
関数"is"を見つけることができませんでした~
というエラーメッセージが出て計算できなくなってしまいまし...
なお、操作はRcmdr上から行っており、その他の計算は支障なく...
//
- 下の方に同じような現象についてのスレッドがあります。目...
- 難しそうなので、これまで使っていたパソコンからR-2.8.1の...
- windows7だったからじゃないの? -- &new{2010-02-12 (金)...
- 当方,Windows7 Ultimate, R-2.10.1,Rcdmr1.5-4で, An...
**季節変動&週次変動の時系列データの日次分析方法について ...
>[[Rは初心者]] (2010-02-11 (木) 00:04:12)~
~
修理受付の予測をするために、Rを勉強を始めました。~
「Rによる時系列分析入門」を片手に悪戦苦闘の毎日です。~
修理の件数は、季節変動があり、週変動もあります。~
すなわち、~
�修理は冬より夏に多く、~
�火曜日にピークがきて週末にかけて台数が落ち込む~
という傾向があります。~
これは~
�夏場の温度によって部品が壊れやすくなる~
�お店に修理に出すのが週末で物流TATを考えると、...
ということが原因です。~
~
日毎の修理受付件数データを蓄積し、Rを使って予測までをし...
月次のデータをもとに季節変動を抽出する方法、例えば、月次...
REP = read.csv("TESTDATA.csv", header=TRUE)
RNUM = ts(REP$num, start=c(2008, 4), frequency=12)
bunkai = decompose(RNUM, type="multiplicative")
plot(bunkai)
として季節変動を分解する方法までは勉強しました。~
~
これを日次データをもとに、週変動と季節変動を求める方法を...
RNUM = ts(REP$num, start=c(2008, 4), frequency=12)
のように、年・月しか入れることができず、
Start=c(2008, 1, 4)
のように年月日をいれることができない。~
また日次でやると、祝日(修理職場も休みなので入荷がゼロ)...
~
予測まではまだまだですが、このような場合、どのように分析...
//
- 予測をしたいのですか?でしたら,重回帰分析をすればよい...
- http://sun.econ.seikei.ac.jp/~kawaji/classroom-02/dat3/...
- 早速のアドバイスありがとうございます。参考サイトを確認...
- 何も,曜日,祝日と季節のデータだけから予測するなんて言...
- ものすごく重たそうな課題ですね。いくつかの課題がごっち...
- 色々アドバイスを頂きましてありがとうございます。修理と...
- 「frequency」に1年の平均データ数(営業日数)を入れる方...
- まあ,かなり難しい問題なんでしょうね。ある理論関数で片...
- 色々アドバイスを頂きましてありがとうございます。経験と...
**一方のパラメータによって制限される最適解の求め方につい...
>[[nat]] (2010-02-07 (日) 02:37:21)~
~
こんにちは。R初心者です。いつも拝見させていただいていま...
~
ある式を最小化する2つのパラメータをoptimを使って求めよう...
2つのパラメータx1, x2のうち、x2はx1によって最適解の範囲が...
f <- function(par, B, u) {
x1 <- par[1]
x2 <- par[2]
(x1 / B + x1 / (B - x1) ) - (x1^u + x2^u)
}
おおよそ以下のような値を代入します。
B <- 10e+5
u <- -0.7
Q <- B / 10
f を最小化し、かつx1 + x2 <= Qとなるようなx1, x2を出して...
constrOptimなども試しましたが、よくわかりませんでした。
optim(fn=f, par=c(0, 1), B1=B1, u=u, lower=c(0, 0),
upper=c(Q, Q), method="L-BFGS-B")
このやり方だと、「かつx1 + x2 <= Q」の部分が満たされない...
~
ご教授よろしくお願いします。~
//
- 上のを,そのまま入力しても,動きもしないのですけど(も...
- よくわからないが,こんなことがしたい?
> f <- function(par, B, u) {
+ Q <- B / 10
+ x1 <- par[1]
+ x2 <- par[2]
+ if((x1 + x2) > Q) 1e+10
+ else (x1 / B + x1 / (B - x1)) - (x1 ^ u + x2 ^ u)
+ }
>
> optim(c(1, 1), f, B = 10e+5, u = -0.7)
$par
[1] 1.542165e-37 1.258702e+00
$value
[1] -5.865545e+25
$counts
function gradient
501 NA
$convergence
[1] 1
$message
NULL
-- [[surg]] &new{2010-02-07 (日) 08:22:17};
- 例えばこんな風にしてみると,一応収束はするみたいだけど...
> f <- function(par) {
+ x1 <- par[1]
+ x2 <- par[2]
+ if (x1+x2 > Q) x2 <- (Q-x1)*0.9 # 例えばこんな...
+ (x1 / B + x1 / (B - x1) ) - (x1^u + x2^u)
+ }
> B <- 10
> u <- 0.7
> Q <- B / 10
> optim(c(0,1), f)
$par
[1] 0.3143118 0.6856882
$value
[1] -1.148777
$counts
function gradient
113 NA
$convergence
[1] 0
$message
NULL
- 失礼ながら surg さんの実行例は収束していない -- [[河童...
- 「こんなことがしたい?」にその意味を込めたつもりでした...
- 「質問通りの u <- -0.7 では収束しませんよね」~
そうなんですよ。元のままだと par の初期値 c(0,1) で f の...
- 迅速な返答ありがとうございます。 ~
自分なりに簡略化して最初に投稿したのですが、収束するかを...
~
河童の屁さん、surgさんの最適解の求め方だと、x1+ x2 >Qとな...
~
私が求めたいのは、x1 + x2 > Q となることが無いことを前提...
- > 私が求めたいのは、x1 + x2 > Q となることが無いことを...
だから,x1 + x2 <= Q になるように,制約条件を付けたんです...
> 自分なりに簡略化して最初に投稿したのですが~
簡略化したんですか?簡略化したつもりで,問題が変わってし...
- > 河童の屁さん、surgさんの最適解の求め方だと、x1+ x2 >Q...
私のは違いますよ.x1 + x2 > Q の場合は最適解に決してなら...
- 河童の屁さんのようにifで条件をつけてやってみました。 ~
ifで条件をつけなかった場合と比べると、x1+x2 > Qとならない...
その解も検証してみたら尤もらしいので、この方法でやってみ...
今後例を出す時は計算できるかをきちんと確認した上で投稿す...
大変助かりました。河童の屁さん、surgさん、ありがとうござ...
**Rでの重要度判定について [#d9f58be6]
>[[syo]] (2010-02-06 (土) 17:11:34)~
~
Rにてテキストマイニングの勉強をしている初心者なのですが、...
//
- > Rで語に対するTF-IDF判定や重要度判定を行いたい~
なぜ,コメントが付かないのでしょうかねえ。質問が曖昧だか...
- RMeCabとかKH Coderなんかはいかがでしょう。 -- &new{201...
**install.packageができません [#eea72038]
>[[yoou]] (2010-02-05 (金) 01:15:42)~
~
Rで学ぶデータマイニングで、自宅のvistaを使い勉強してるの...
install.packages("relimp")でJapan(Tokyo)を選ぶと以下のエ...
--- Please select a CRAN mirror for use in this session ...
警告:unable to access index for repository ftp://ftp.ec...
download.packages(pkgs, destdir = tmpd, available = avai...
no package 'relimp' at the repositories
どうしたら解決できるでしょうか。
//
-なぜにして contrib/2.4 なんでしょう?インストールしてい...
- Rは2.4.1です。aizuでもエラーがでたので、hyogoにしたら無...
**rgdal.soエラー Error in dyn.load [#x6664ce8]
>[[mittyo]] (2010-02-03 (水) 09:48:44)~
~
はじめて投稿します。~
RでGRASSのデータを使いたくて、spgrass6をインストールしよ...
~
エラーは以下の通りです。
Error in dyn.load(file, DLLpath = DLLpath, ...) :
共有ライブラリ '/root/R/i686-pc-linux-gnu-library/2.10/r...
/root/R/i686-pc-linux-gnu-library/2.10/rgdal/libs/rgdal....
Error : package 'rgdal' could not be loaded
ERROR: lazy loading failed for package ‘spgrass6’
rgdal.soに問題がありそうなので、Rでlibrary("rgdal")を実行...
> library("rgdal")
要求されたパッケージ sp をロード中です
Error in dyn.load(file, DLLpath = DLLpath, ...) :
共有ライブラリ '/root/R/i686-pc-linux-gnu-library/2.10...
/root/R/i686-pc-linux-gnu-library/2.10/rgdal/libs/rgdal....
エラー: 'rgdal' に対するパッケージもしくは名前空間のロ...
> Error in dyn.loadError in dyn.load
と同様のエラーが出ました。~
~
rgdalを入れなおそうと思い、
install.packages("rgdal", dependencies=TRUE)
を実行し、再度
library(rgdal)、install.packages("spgrass6", dependencie...
を実行しましたが、同様の結果でした。~
~
環境ですが、
OS:Vine Linux 5.0
R:version 2.10.0 (2009-10-26)
です。~
~
ご教示のほどよろしくお願い致します。~
//
- 追記です。最新のR-devel_2010-02-01.tar.gzを再度インスト...
- おぉVineな人。rgdalのインストールは本当に成功しています...
- gdalのバージョンは1.6.2 です。 -- [[mittyo]] &new{2010-...
- gdalを1.6.3に変更しなおして、もう一度Rをインストールし...
- すみません、ご指摘の通りrgdalのインストールがうまくいっ...
* Installing *source* package ‘rgdal’ ...
gdal-config: gdal-config
checking for gcc... gcc -std=gnu99
checking for C compiler default output file name... a.out
:
SNIP
:
** building package indices ...
* DONE (rgdal)
ダウンロードされたパッケージは、以下にあります
‘/tmp/RtmpvHL96d/downloaded_packages’
'.Library' 中のパッケージの HTML 索引を更新します
> library("rgdal")
要求されたパッケージ sp をロード中です
Error in dyn.load(file, DLLpath = DLLpath, ...) :
共有ライブラリ '/usr/local/lib/R/library/rgdal/libs/r...
/usr/local/lib/R/library/rgdal/libs/rgdal.so: undefine...
エラー: 'rgdal' に対するパッケージもしくは名前空間の...
Note: proj/conus not foundの部分が気になるのですが… -- [[...
- proj.4が入っていないとか。とりあえずRから離れて、gdalと...
- そもそも /usr/local/lib/R/library/rgdal/libs/rgdal.so ...
- すみません、rgdal.soはあったのですが、gdalとproj.4のイ...
**指定した要素の度数を表示する [#oe42dd32]
>[[sui]] (2010-01-30 (土) 10:00:23)~
~
いつもお世話になり、ありがとうございます。~
下記につきまして長くなりますが、ご教示の程、よろしくお願...
HT <- rep(0:1, c(10, 20))
cHT <- factor(HT, levels=0:1)
group <- c("A","B","A","B","A","B","A","B","A","B","A",
"B","A","B","A","B","A","B","A","B","A","B",
"A","B","A","B","A","B","A","B")
df <- data.frame(HT, cHT, group)
上記のようなデータフレームを仮定します。(HT=1は高血圧あり...
列の要素が整数の場合(列:HT)は目的とするgroup毎の高血圧あ...
> for(i in 1) { # 解析する列の入力
df <- df # データフレーム名の入力
g<-group # group の所にグループ変数の列名
cat(names(df)[i],
by(df[, i], g, sum),
(chisq.test(table(factor(df[, i], levels=0:1), df$g)...
}
HT 10 10 0.6985354 # group 毎の高血圧ありの度数とカイ2乗...
最終の目標は class() 関数で列の要素を判別して if を用い、...
カテゴリカルデータを用いて上記のように group 毎の高血圧あ...
//
- 既存の function を使うのも手でしょう.
require(Hmisc)
summary( group ~ HT + cHT, data=df, method='reverse', te...
デフォルトで continuity correction 無しの カイ2乗検定を...
フィッシャーにも変えられますが,ややめんどくさかった記憶...
~
- 御曹司さん、ありがとうございます。これも確かに便利な関...
- for ループの中で妙なことをやっていたりして,やりたいこ...
まず,0/1 データが integer でも factor でも,group 別に 1...
table 関数を使って,2行目を取り出すというのが簡単でよいと...
> table(HT, group)[2,]
A B
10 10
> table(cHT, group)[2,]
A B
10 10
次は,データによって検定法を選択して実行することですね。...
> df$x <- rnorm(30)
> head(df)
HT cHT group x
1 0 0 A -0.64007308
2 0 0 B 0.34494342
3 0 0 A -0.59577331
4 0 0 B 0.05745206
5 0 0 A -1.02755942
6 0 0 B 0.41386607
> for (i in c(2, 4)) {
+ x <- df[, i]
+ if (class(x) == "factor") {
+ tbl <- table(x, group)
+ cat(colnames(df)[i], tbl[2,], chisq.test(tbl)$p.valu...
+ } else if (class(x) == "numeric") {
+ cat(t.test(x ~ group)$p.value, "\n")
+ } else {
+ stop("error")
+ }
+ }
cHT 10 10 0.6985354
0.3210783
こんなもんでしょうかね。 -- [[河童の屁]] &new{2010-01-30 ...
- 上の御曹司さんの解は,あなたの求めているものと違うと思...
- tableの2行目を取り出すと言うのが、最も知りたかった所で...
**リピータ状況把握の方法 [#rcaf75c7]
>[[森の熊太郎]] (2010-01-28 (木) 15:22:19)~
~
現在、コールセンタの利用者のリピータ状況を調べたいと思っ...
一人ひとりにユニークな番号(会員番号:重複なし)をつけてい...
月に何万件と問い合わせがきます。問い合わせのたびにログを1...
それらのファイルをもとに、例えば
1月 2月 3月 4月
X0011 X23243 X3454 X46738
X0023 X43534 X3456 X78987
のように横に月、たてにログ毎の会員番号を記載した表を作り...
コール数 ユーザ数 累計コール数 累計ユー...
1月 23456 19876 23456 19876
2月 25677 20343 49133 34020
のように累計ユーザ数を調べたい。~
つまり、ユーザは同月内でも複数回コールをし、また翌月もコ...
Excel2007があれば、ピボットテーブルで簡単に出来るかと思い...
//
- おおもとのデータのファイル構造はどうなってるんでしょう...
**2群の比較を繰り返し行う [#f4d698d2]
>[[sui]] (2010-01-22 (金) 20:37:37)~
~
初めて投稿いたします。Rは始めたばかりで初歩的な質問かもし...
a <- c(1:10)
b <- c(11:20)
c <- c(21:30)
d <- c(31:40)
group <- c("X", "X", "X", "X", "X", "Y", "Y", "Y", "Y", ...
df <- data.frame(a, b, c, d, group)
以上のようなデータフレームを仮定します。
グループXとY間でパラメータ a, b, c, d の平均値に差がある...
//
- sapply(df[,1:4], function(z) t.test(z~df$group)) という...
for 文を使うのは R らしくないとか,その他なんとかかんとか...
推奨されるようやらなかったからといって,実行時間が何年も...
以下のようにやるとできますが,どの変数に対する解かを表示...
> for (i in 1:4) print(t.test(df[,i]~df$group))
Welch Two Sample t-test
data: df[, i] by df$group
t = -5, df = 8, p-value = 0.001053
alternative hypothesis: true difference in means is not ...
95 percent confidence interval:
-7.306004 -2.693996
sample estimates:
mean in group X mean in group Y
3 8
以下略
- 早速の回答ありがとうございました。for文を用いた例の方が...
- for文を使った結果に「必要に応じて変数名を表示する」とあ...
- 以下のように for (...) { } の { } の中には,何でも書...
for (i in 1:4) {
cat("=================\n")
cat("variable:", names(df)[i], "\n")
print(t.test(df[,i]~df$group))
}
- 河童の屁さん、本当にありがとうございました。 -- [[sui]]...
**分散を指定して標本を抽出する。 [#sacf0646]
>[[T-A]] (2010-01-22 (金) 00:29:41)~
~
何度もすみません。~
先ほど正規乱数を母集団として標本を抽出してその平均値を出...
母集団とその標本平均の集団の分散が等しいものがほしいので...
x <- rnorm(100)~
y <- (x-mean(x))/sd(x)~
w <- 5*y+50~
のようにして分散が25、平均50のデータを作って~
そこから標本平均の集団も分散が25に近似するように抽出する...
replicate(200, mean(sample(w, 10)))~
のようにして母集団から標本を抽出して平均値を求めることを2...
よろしければご教授ください。~
//
- 無理やり分散を25にしちゃいけませんか? -- [[王監督]] ...
w <- rnorm(200, 50,sd=5)
h <- replicate( 5, sample(w,10, replace=F) )
hh <- t(t(h)/apply(h,2,sd)*sd(w))
- 25近似よりも25の方がいいです。言葉足らずですみません・...
- 途中でコメント入れてしまいました。王監督さんありがとう...
- そのようなエラーは出ませんが...「その標本平均値の集...
- やりたいことがはっきりわからないですね。~
> 分散が25、平均50のデータを作ってそこから標本平均の集団...
「標本平均の集団の分散」というのは「標本平均の標準誤差の...
N(50, 5^2) から n 個の標本を抽出する場合,標本誤差は 5/sq...
あなたがどういうことをやりたいのか,ちゃんと記述できてい...
- 言われて気づきました・・・。そうでした。統計学の未熟者...
**Rserveのアソシエーション分析でエラー [#me06d6b9]
>[[Mame]] (2010-01-21 (木) 16:57:38)~
~
たびたびすみません。~
下でRserveについて質問したものです。~
(まだ解決に至っておりませんが、できましたら報告します)~
~
パッケージのarulesを利用して、アソシエーション分析をした...
~
参考にしているのは、金明哲先生の~
http://www1.doshisha.ac.jp/~mjin/R/200611_40.pdf~
です。~
~
書いたコードは、
Rconnection c=new Rconnection((args.length>0)?args[0]:"1...
c.voidEval( "library(arules)" );
//データを作ります
RList l = new RList();
l.add( new REXP( new String[] {"パン","牛乳","ハム","果...
l.add( new REXP( new String[] {"ソーセージ","ビール","...
l.add( new REXP( new String[] { "弁当","ビール","オムツ...
l.add( new REXP( new String[] {"弁当","ビール","オレン...
//リストの作り方がよくわからなかったので
//データフレームにしてらかリストに変換しました
//下記ではエラーが出ました。
//String m = "data1 <-list(c(\"パン\",\"牛乳\",\"ハム\"...
"c(\"パン\",\"オムツ\",\"ビール\",\"ハム\"),"+
"c(\"ソーセージ\",\"ビール\",\"オムツ\"),"+
"c(\"弁当\",\"ビール\",\"オムツ\",\"タバコ\"),"+
"c(\"弁当\",\"ビール\",\"オレンジジュース\",\"果物\")...
//c.voidEval( m );
c.assign( "data1", REXP.createDataFrame(l));
c.voidEval( "data1 <- list(data1)");
//REXP x = c.eval( "class(data1)" );
//System.out.println( x ); <= listとでます。
//この下でエラー(voidEval failed)になります。
c.voidEval( "data.tran <- as(data1,\"transactions\")");
以上です。~
~
よろしければご教授のほどよろしくお願いいたします。~
//
**RでPrefixSpan [#zb07ae8f]
>[[松田紀之]] (2010-01-21 (木) 14:59:28)~
~
PrefixSpanをRで組み始めたのですが,うまく再帰的に書けずに...
//
**スペースの数による文字列の取り出しについて [#fa60e7c0]
>[[aoi]] (2010-01-21 (木) 11:47:48)~
~
たびたびすみません。よろしくお願いします。~
条件に一致する文字列を取り出したいと思っています。~
~
例えば
> exex_2
[,1] ...
[1,] "a b dxe" ...
[2,] "abcde" ...
[3,] "a1v2 c4" ...
[4,] "a1 b2 c3" ...
[5,] "banana ringo kiwi orange kodama"
のような文字列の行列があったときに、スペース区切りで一番...
一番はじめの要素を取り出すのは
> sub(" .*","",exex_2)
[,1]
[1,] "a"
[2,] "abcde"
[3,] "a1v2"
[4,] "a1"
[5,] "banana"
で出来たのですが、2番目、3番目の要素を取り出すことが出...
目標としては2番目の要素でしたら
[,1]
[1,] "b"
[2,]
[3,] "c4"
[4,] "b2"
[5,] "ringo"
3番目の要素でしたら
[,1]
[1,] "dxe"
[2,]
[3,]
[4,] "c3"
[5,] "kiwi"
のように取り出せたら、と考えています。 ~
Rの正規表現やHelpを読ませていただいたりしてしばらく考えた...
~
また ~
sessionInfo()~
R version 2.8.1 (2008-12-22)
i386-apple-darwin8.11.1
~
です。よろしくおねがいします。~
//
- strsplit() -- &new{2010-01-21 (木) 11:55:36};
- 該当要素がないときに NA となるけど,以下のようなもので...
> sapply(strsplit(exex_2, " "), "[", 1)
[1] "a" "abcde" "a1v2" "a1" "banana" "5"
> sapply(strsplit(exex_2, " "), "[", 2)
[1] "b" NA "c4" "b2" "ringo" NA
> sapply(strsplit(exex_2, " "), "[", 3)
[1] "dxe" NA NA "c3" "kiwi" NA
> sapply(strsplit(exex_2, " "), "[", 4)
[1] NA NA NA NA "orange" NA
> sapply(strsplit(exex_2, " "), "[", 5)
[1] NA NA NA NA "kodama" NA
> sapply(strsplit(exex_2, " "), "[", 6)
[1] NA NA NA NA NA NA
- NAで大丈夫です。ありがとうございます! -- [[aoi]] &new{...
**RServeを使ったグラフの生成 [#v3c35146]
>[[Mame]] (2010-01-21 (木) 10:09:14)~
~
はじめて投稿させていただきます。~
R、RServeともに初心者ですがよろしくお願いします。~
~
現在、RServeをつかってグラフの画像を生成したいのですが、...
・RServeのjava-oldの中のexsample を参考にしています。~
・plot は、画像が生成され中にプロットがされていました。~
・histogram は、画像そのものは生成されるのですが、白の背...
・Rのコマンドラインからは、histogramで画像を生成すること...
~
■環境~
R version 2.10.1~
Rserve version 0.6.1~
Eclipse version 3.5.1~
OS:Windows7(windows2000でも同じ結果でした)~
~
ご教授のほど、よろしくお願いいたします。~
~
■以下ソースコード
import org.rosuda.JRclient.*;
public class HelloWorld {
public static void main(String args[]) {
try {
Rconnection c=new Rconnection((args.length>0...
//histogramを使うために読み込みます
c.voidEval( "library(lattice)" );
c.voidEval("x <- iris");
REXP xp=c.eval("try(jpeg(\"test.jpg\"))");
if (xp.asString()!=null) {
System.out.println("Can't open jpeg grap...
REXP w=c.eval("if (exists(\"last.warning...
if (w.asString()!=null) System.out.print...
return;
}
//下のplot は描画できます。
//c.voidEval("plot(Sepal.Length, Petal.Lengt...
//背景が白い画像だけが出来上がります。
c.voidEval( "histogram(~ Sepal.Length, data=...
c.voidEval("dev.off()");
c.close();
} catch(RSrvException rse) {
System.out.println("Rserve exception: "+rse....
} catch(Exception e) {
System.out.println("Something went wrong, bu...
e.getMessage());
e.printStackTrace();
}
}
}
//
**正規乱数の母集団から標本を取り出し標本平均を求めること...
>[[T-A]] (2010-01-21 (木) 01:49:07)~
~
R初心者の者です。~
あまりの初心者でコマンドのし方がわからないのでよろしけれ...
~
正規乱数100個を母集団として作り、大きさ10の標本を非復元抽...
~
x <- rnorm(100)~
y <- sample(x,10)~
mean(y)~
ここまではたどり着けたんですが、次に進めず困っています。~
こんな感じでmean(y)を100個ほしいんですが・・・~
//
- sapply(1:100, function(t) mean(sample(x, 10))) -- [[sur...
- replicate(100, mean(sample(x, 10))) -- [[河童の屁]] &ne...
- surgさん、河童の屁さん本当にありがとうございます。 -- [...
**主成分分析の散布図の成分を変えたい [#iad8220a]
>[[kum]] (2010-01-16 (土) 19:57:41)~
~
主成分分析の結果をbiplot(PC)で表すと第1主成分が横軸、第...
editでbiplotの中身をそれらしく変更したりしましたができま...
どなたかご教授ください。~
//
- 毎度のことですが,? biplot.princomp または ? biplot.prc...
> editでbiplotの中身をそれらしく変更したりしましたが~
biplot.default じゃないし,わけもわからずそれらしく変更し...
biplot.default ではなく biplot.princomp が使われるという...
以前の質問で,biplot.default の方を直すように解答したのは...
- お答えくださってありがとうございます。
> biplot3 <- stats:::biplot.princomp
> biplot3 <- edit(biplot3)
として
> function (x, choices = 1L:3L,scale = 1, pc.biplot = FA...
> biplot.default(t(t(scores[, choices])/lam), t(t(x$load...
とbiplot.princompを変更後
> suffix <- 1:100
> biplot3(PC,suffix=suffix)
としましたが [以下にエラー t(x$loadings[, suffix]) : 選...
- 困りますね。choices は "length 2 vector specifying the ...
scores と loadings から 必要な行と列を choices と suffix ...
biplot.princomp だけを直すのでは,全体の配置の中で選択し...
スケールの決め方が違うけど,先に修正した biplot2 を使うの...
例えば,第1,第3主成分をプロットしたいなら,
choices <- c(1, 3)
biplot2(PC$scores[,choices], PC$loadings[,choices], suff...
のようにすればよいのですから。biplot3 に choices 引数を追...
- biplot.princomp と biplot.default をまとめて,新しい引...
a <- princomp(iris[ ,1:4]) # 動作確認用 princomp オブジ...
以下の2図を比較してちゃんと動くことを確認
biplot(a, choices=c(1,3)) # 本来の biplot.princomp で全...
biplot3(a, choices=c(1,3), suffix=c(23, 101, 123)) # 3 ...
ちょっと長くなるけど -- [[河童の屁]] &new{2010-01-16 (土)...
biplot3 <- function (x, choices = 1L:2L, scale = 1, pc.b...
var.axes = TRUE, col, cex = rep(par("cex"), 2),
xlabs = NULL, ylabs = NULL, expand = 1, xlim = NULL,...
arrow.len = 0.1, main = NULL, sub = NULL, xlab = NUL...
suffix = NULL, # add 前の定義はちょっとまずかったの...
...)
{
# add start # biplot.princomp の部分,一部変更
if (length(choices) != 2)
stop("length of choices must be 2")
if (!length(scores <- x$scores))
stop(gettextf("object '%s' has no scores", depar...
domain = NA)
if (is.null(suffix)) # biplot.princomp に追加
suffix <- 1:nrow(scores)
loadings <- x$loadings # 変更
lam <- x$sdev[choices]
if (is.null(n <- x$n.obs))
n <- 1
lam <- lam * sqrt(n)
if (scale < 0 || scale > 1)
warning("'scale' is outside [0, 1]")
if (scale != 0)
lam <- lam^scale
else lam <- 1
if (pc.biplot)
lam <- lam/sqrt(n)
x <- t(t(scores[, choices])/lam) # biplot.defau...
y <- t(t(loadings[, choices]) * lam) # biplot.defau...
# add end
# これ以降は biplot.default
n <- nrow(x)
p <- nrow(y)
:
# text(x, xlabs, cex = cex[1L], col = col[1L], ...) # ...
text(x[suffix,], xlabs[suffix], cex = cex[1L], col = ...
:
**関数read.shapeが使えません [#uf302073]
>[[G-T]] (2010-01-15 (金) 11:58:25)~
~
プログラム言語をRで初めて学んでいます。~
かなりの初心者なので、質問内容に至らない点があるかと思い...
~
今回牧山先生の解説(http://www1.doshisha.ac.jp/~mjin/R/20...
その際に使われるmaptoolsパッケージの"read.shape"という関...
「エラー: 関数 "read.shape" を見つけることができません...
きちんとmaptoolsパッケージを呼び出してから実行しています...
~
これはmaptoolsパッケージが中途半端にしかインストールでき...
それを確認・修正する方法をご教授いただければ幸いです。~
~
※アプリケーションが古いのかと思い、再度Rをversion 2.10.1...
※念のため使用環境を掲載いたします。~
> sessionInfo()~
R version 2.10.1 (2009-12-14) ~
i386-pc-mingw32 ~
~
locale:~
[1] LC_COLLATE=Japanese_Japan.932 LC_CTYPE=Japanese_Japa...
[3] LC_MONETARY=Japanese_Japan.932 LC_NUMERIC=C ...
[5] LC_TIME=Japanese_Japan.932 ~
~
attached base packages:~
[1] stats graphics grDevices utils datasets met...
~
other attached packages:~
[1] maptools_0.7-29 lattice_0.17-26 sp_0.9-47 forei...
~
loaded via a namespace (and not attached):~
[1] grid_2.10.1 tools_2.10.1~
//
- 補足です。関数"Map2poly"も同様に使うことができませんで...
- 「これはmaptoolsパッケージが中途半端にしかインストール...
- library(help=maptools) とやってご覧なさい。read.shape ...
- 仰る通りでした。いくつかの関数がなくなっているようです...
- 金先生の「maptoolsのクラス・オブジェクト」の稿を見てい...
library(maptools)
Map<-readShapePoly("C:/GISdata/gunma.shp")
plot(Map)
- もし、わからないことがあれば名指ししていただければ、お...
- >Okinawa様 丁寧な解説ありがとうございます。教えていた...
- maptoolsdemo.txtをS4クラス用に作り直してみますので、少...
- ちなみに、readShapePolyで作成されたクラスは、Map2polyで...
- >Okinawa様 お返事が遅くなりました、ご回答ありがとうご...
- [[空間的なデータの分析]]の地図作成練習用データ(Windows...
- >Okinawa様 ありがとうございました、参考にさせていただ...
**文字列の検索について [#n936a39b]
>[[aoi]] (2010-01-14 (木) 12:38:13)~
~
いつも丁寧に答えてくださり本当にありがとうございます。~
拙い質問で申し訳ないのですが、よろしくお願いします。~
grep関数で文字列の検索を行っています。~
~
糖鎖の構造についての文字列の検索を行っているのですが、~
例えば以下のような構造だったら~
Fuca1-2Galb1-4GlcNAcb1-2Mana1-3(Fuca1-2Galb1-4GlcNAcb1-2M...
~
末端の構造、つまり最初のFucだけ取り出したいと思っています...
上記のような構造でしたら~
grep("^Fuc",mixmix_rownames)
のように出すことが出来るのですが~
ただ、grepの正規表現にひっかかってしまって~
例えば~
a-D-Gal-Sp8~
だと~
Galを出したいのですが~
grep("^Gal",mixmix_rownames)
で出すことが出来ません。~
また、~
[3OSO3][6OSO3]Galb1-4[6OSO3]GlcNAcb-Sp0~
のような構造でもGalを出したいのですが、出すことが出来ませ...
~
grep("[3OSO3]",mixmix_rownames,fixed=TRUE)
にすると正規表現を無視することが出来るので、文字列が一致...
そうすると末端構造(最初のGal)だけを取り出すことが出来ま...
~
ちなみに~
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-apple-darwin8.11.1
です。~
~
よろしくお願いします。~
//
- 「末端構造(最初のGal)」というようなことが,一般の言葉...
- grep("([^[:alnum:]]|^)Gal", foo) とかかな? 何をもって最...
- こんな感じかしら.
> mixmix_rownames <- c(
+ "Fuca1-2Galb1-4GlcNAcb1-2Mana1-3(Fuca1-2Galb1-4GlcNAcb...
+ "a-D-Gal-Sp8",
+ "[3OSO3][6OSO3]Galb1-4[6OSO3]GlcNAcb-Sp0"
+ )
>
> grep("^([A-z]-|\\[\\w*\\])*Fuc", mixmix_rownames, perl...
[1] 1
> grep("^([A-z]-|\\[\\w*\\])*Gal", mixmix_rownames, perl...
[1] 2 3
>
「これでは網羅できていない」に100カノッサ -- [[surg]] &ne...
- 皆さん言っておられることは,オンラインヘルプ ?grep を参...
- 迅速なコメント本当にありがとうございます!コメントが遅...
補足させていただきます。
Fuca1-2Galb1-4GlcNAcb1-2Mana1-3を例にするとFucがフコース...
N-アセチルグルコサミン、Manがマンノースというように糖鎖を...
単糖を取り出したいのです。
[3OSO3][6OSO3]Galb1-4[6OSO3]GlcNAcb-Sp0の場合は[3OSO3][6O...
a-D-Gal-Sp8だとa-D-は省きたい、という意味です。よろしくお...
-- [[aoi]] &new{2010-01-14 (木) 23:26:36};
- やはり、あなたの返事は何の情報も与えない。糖鎖の配列や...
- 文字列と解釈した場合に糖鎖の文字列が多数あった場合に、...
- イメージとしてはこんな感じです。
grep("^Man",mixmix_rownames,value=TRUE)
[1] "Mana1-3(Mana1-6)Manb1-4GlcNAcb1-4GlcNAcb-Sp13" ...
[2] "Mana1-2Mana1-2Mana1-3Mana-Sp9" ...
:
[19] "Mana1-3(Galb1-4GlcNAcb1-2Mana1-6)Manb1-4GlcNAcb1-4...
[20] "[3OSO3][6OSO3]Manb1-4[6OSO3]GlcNAcb-Sp0"
[21] "b-D-Man-Sp8"
この内1から19は今も出せているのですが、20と21は出せて...
- 提案された3つの案は,どれもちゃんとあなたの望む結果を出...
- [[バイオインフォマティクスでの利用について:http://www.o...
- すみません。理解して、やってみている途中です。1から19に...
- PerlやRubyで書いたことが無いのです。Cはやったことがあっ...
- 「わざわざRを使う作業なのかなあ」と仰いますが,R でもで...
- ご意見、至極、同感です.そして、裾野が広がり、Rならでき...
私たちの分野では、配列解析はbioperlやbiorubyが充実してお...
**RODBCのSQL文(sqlQuery)でテーブル名の一部を別の変数か...
>[[hassyy]] (2010-01-14 (木) 04:09:07)~
~
長いタイトルで申し訳ありません。よろしくお願い申し上げま...
~
Windows版R(ver2.9.0)にRODBC_1.3-1をインストールして作業...
RからAccess2003で作成したmdb内のクエリの結果に接続して、...
下記のように記載し、問題なくクエリに接続できて、必要なデ...
conndb <- odbcConnectAccess("Data.mdb")
dat <- sqlQuery(conndb, "select * from [query1]")
上記例のquery1の他に同じレイアウトのクエリが数種類あり、...
conndb <- odbcConnectAccess("Data.mdb")
list <- c(query1, query2,,,,query11)
for (i in list){
dat <- sqlQuery(conndb, "select * from [i]")
** datに対する処理 **
}
のような感じでソースをかけるとよいと思ったのですが、上記...
どのようにすればよろしいのでしょうか?~
//
- 未検証ですが、こうかな? -- &new{2010-01-14 (木) 08:4...
conndb <- odbcConnectAccess("Data.mdb")
list <- 1:11
for (i in list){
tablename<-paste("query",i,sep="")
qtext<-paste("select * from ",tablename,sep="")
dat<-sqlQuery(conndb,qtext)
#** datに対する処理 **
}
- ありがとうございます! SQL文のオブジェクトを作って実行...
**biplotで特定のデータだけを表示したい [#n842984c]
>[[kum]] (2010-01-13 (水) 21:52:01)~
~
失礼かと思いますが、わからない点があるので連続で投稿させ...
~
例えばcsvファイルに100個のデータがあるとして、biplotで表...
ご教授ください。~
//
- 全部のデータを読み取って,そのうちの特定の行だけを使え...
- 素早いお答えありがとうございます。私の説明不足でしたが...
- > biplot(PC)[,1:100] とすると NULL という文字と全て載...
~
思いつきで,いい加減な指定をあれこれやってみても無理ですよ...
? biplot してみましたか?~
biplot の最初の二つの引数の最初のものが,主成分得点ですか...
> ans.prcomp <- prcomp(iris[,1:4]) # 例として iris デー...
> suffix <- c(45, 6, 78, 90, 99, 113, 145) # 描画したい...
> biplot(ans.prcomp$x[suffix,], ans.prcomp$rotation, xla...
- ご教授なされたのと同様にして
> PC <- princomp(~A+B+C+D+E+F+G+H, cor=TRUE,data=X)
> suffix <- c(2,3,4,5,6,7,8,9,10)
> biplot(PC$x[suffix,], PC$rotation, xlabs=suffix)
としたのですが「エラー dimnames(x) <- list(xlabs, dimname...
- ? princomp または str(princomp の返すオブジェクト) をし...
- princompの場合、主成分得点は x ではなく scores に入っ...
> suffix <- 2:10
> biplot(PC$scores[suffix,], PC$rotation, xlabs=suffix)
としたところ「以下にエラー 1L:p : 引数の長さが0です」と...
- ? princomp 熟読のこと。variable loadings は loadings に...
- 下の
> biplot(PC$scores[suffix,], PC$loadings, xlabs=suffix)
と書いたところ表示できました。熱心にご教授くださって感謝...
- そのようにするには、今の場合プログラムをいじるしかない...
まず、元のプログラムを別の名前にコピーして
biplot2 <- stats:::biplot.default
プログラムを編集する
biplot2 <- edit(biplot2)
この後、編集ウインドウで以下の2か所を追加・変更
function (x, y, var.axes = TRUE, col, cex = rep(par("cex...
xlabs = NULL, ylabs = NULL, expand = 1, xlim = NULL,...
arrow.len = 0.1, main = NULL, sub = NULL, xlab = NUL...
suffix=suffix, # 追加
:
# text(x, xlabs, cex = cex[1L], col = col[1L], ...) 変更
text(x[suffix,], xlabs[suffix], cex = cex[1L], col =...
編集されたプログラムを保存する。
実際に関数を呼び出すのは以下のようにする。関数名、引数の...
biplot2(PC$scores, PC$loadings, suffix=suffix)
- 重ね重ねありがとうございます。これで研究を進めることが...
**biplotで表示した図の保存の方法 [#z514b218]
>[[kum]] (2010-01-13 (水) 18:03:45)~
~
初めまして,kumと申します。~
~
研究で主成分分析を行うことになったのでRを導入し,結果も得...
そこで,biplot(PC)で描かれた図を保存してレジュメに貼ろうと...
このwikiの「R による EPS 画像の作成とその LATEX への取り...
Y <- biplot(PC) や Y <- PC として data(Y) としたとこと...
どなたか解決法をご教授ください。~
//
- WindowsでRguiを使っているならばファイルメニューから保存...
- お答えありがとうございます、dev.copy2epsで無事保存する...
**【項目反応理論】既知のパラメータを使って能力値推定 [#y4...
>[[parade]] (2010-01-13 (水) 17:44:36)~
~
潜在特性モデル・項目反応理論のパッケージltmを使って、ある...
このパラメータを使って、別の集団Bの成員の能力値を推定した...
~
また、初めに求めたパラメータのうちのいくつかだけを使って...
~
どうぞよろしくお願いいたします。~
//
**丸投げですみません。 [#o813aa05]
>[[gomen]] (2010-01-11 (月) 16:47:33)~
~
自由評価(0〜100点)のレビューサイトで、Aさん平均点6...
ただし、この時の各作品の平均点の上昇に対する~
影響力はBさんの方がAさんより凄く高くなります。~
簡単に書くと、同じ審査員なのに影響力が凄く違うと不平等な...
でも、処理方法をマスター出来そうに無いので誰か協力してく...
~
目的、本当の価値が知りたい。~
自由点数だと平均点60の70点(少しおもしろいに相当する)...
(現実の差 平均点60で100作=計6000点と平均点8...
~
以下、理論~
Aさんは平均点60点なので60点の作品というのは平凡な作品に...
仮に推定順位50位とします。~
Bさんは平均点80点なので80点の作品というのは平凡な作品に...
同じく推定順位50位にするべきと思います。~
後は最高点と最低点ですが、ABどちらにしても、それが推定順...
~
処理方法のルール~
後は点数の書かれたボールを、その0〜50位の仮想ゲージと...
(同様の分離により、32分割する事も可能と思いますが、補...
点数の種類が少ない時(5〜8個以下と思う)は0〜101位...
点数の種類が1種類の時は50位にしかならないので無効とし...
~
使用データー~
CSVファイルから、会員IDはあるけれど会員番号が振られ...
作品数1万ぐらい、会員数1.5万ぐらい、総カルテ数50万ぐ...
//
//- 標準化得点(偏差値)でも使えばいかがかな? -- [[河童...
- あのう、、よく分からない中でテキトーなことを書くのはど...
それから、スキルがまったく無いなら処理は業者へ頼まれた方...
- SQLでも可能っぽいのでSQLで協力者さがします。 -- [...
**ポアソン回帰と負の二項回帰 [#if2325bb]
>[[初心者]] (2010-01-10 (日) 23:14:19)~
~
「回数」が被説明変数になるデータをポアソン回帰と負の二項...
//
- これは質問ではありませんね.自分で勉強しなさい. -- &n...
- 金先生のページでいうと、 http://www1.doshisha.ac.jp/~mj...
- どうもご丁寧にありがとうございました。金先生のページを...
**マルチアンサーのクロス集計は可能でしょうか? [#u9bb6d61]
>[[勉強中]] (2010-01-07 (木) 18:00:10)~
~
よろしくお願いします。~
~
アンケートを実施して、結果をEXCELにまとめる際に、マルチア...
1つのカラムに 「2,3,5」 のようにまとめているとします。~
~
例えば
id Q1 Q2 Q3
1 2 1,3,7,9,10 1
2 3 2,5 1
3 4 3 1
4 1 4,6 1
5 2 6,7 2
6 3 10 2
7 3 3,4 2
8 4 2,5,6,7,8,9 2
9 1 1,2,4 2
10 3 5,7 2
こういった際に、Rでクロス集計は可能でしょうか?~
~
まだアンケート実施前で、できればRでやりたいのですが、集計...
~
R 2.9.2~
windows XP sp3~
~
よろしくお願いします。~
//
- 「マルチアンサーのクロス集計」というのが,どういうこと...
Q2 <- data.frame(t(sapply(a$Q2, function(s) {
val <- numeric(10)
sufix <- as.integer(unlist(strsplit(as.character(s), ",...
val[sufix] <- 1
return(val)
})))
実行後の Q2 は以下の通り
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
1 1 0 1 0 0 0 1 0 1 1
2 0 1 0 0 1 0 0 0 0 0
3 0 0 1 0 0 0 0 0 0 0
4 0 0 0 1 0 1 0 0 0 0
5 0 0 0 0 0 1 1 0 0 0
6 0 0 0 0 0 0 0 0 0 1
7 0 0 1 1 0 0 0 0 0 0
8 0 1 0 0 1 1 1 1 1 0
9 1 1 0 1 0 0 0 0 0 0
10 0 0 0 0 1 0 1 0 0 0
- 迅速なご回答ありがとうございます。参考にさせて頂き、プ...
**複数のデータセットにフィットするために [#hcff0cab]
>[[Tiana]] (2010-01-05 (火) 17:39:26)~
~
はじめまして,留学生のTianaです.~
~
lm関数を使って重回帰解析を行っています.~
質問の便宜上,以下の回帰式を使用させていただきます.~
z=c+ax+by~
ただし,zは応答変数,x,yは説明変数,a,b,cは回帰係数です.~
~
lm(z〜x+y,data=dataset1)のようにすれば,dataset1に基づい...
求めたいのは,各々のデータセットの最適解ではないかもしれ...
~
この問題を解決する方法はどなたかご存知でしょうか?~
日本語が下手で失礼な文面はあったかもしれませんが,教えて...
~
よろしくお願い致します.~
//
- すべてのデータセットをまとめて,lm 関数を使えばよいと思...
例えば,データセットが3つあれば,~
alldata <- rbind(dataset1, dataset2, dataset3)
lm(z〜x+y,data=alldata)
のようにする。~
あなたの望をかなえるためには,以下のように optim 関数を使...
> # テストデータとして,このようなデータセットを作り
> data1 <- structure(list(x = c(47.8, 48.2, 62.6, 31.1, ...
+ 48.4, 59.4, 60.4), y = c(65.5, 34.7, 57.5, 46.3, 46, 6...
+ 50.3, 58.5, 45.4), z = c(62, 52.2, 57.1, 46.3, 35.1, 5...
+ 48.8, 64.9, 50.3)), .Names = c("x", "y", "z"), row.nam...
+ -10L), class = "data.frame")
> #
> data2 <- structure(list(x = c(56.1, 43.3, 39.5, 52.5, ...
+ 56.1, 62.5, 58), y = c(49.6, 46.8, 54.3, 38.4, 34.5, 6...
+ 65.2, 49.9, 41), z = c(60.1, 45, 44.1, 31.2, 38.2, 60,...
+ 56.7, 64.2, 50.2)), .Names = c("x", "y", "z"), row.nam...
+ -10L), class = "data.frame")
> #
> data3 <- structure(list(x = c(50.5, 50.7, 60.8, 49.5, ...
+ 39.5, 57), y = c(60.4, 55.3, 58.1, 32.6, 62.3, 43.5, 3...
+ 46.3, 54.1), z = c(39.7, 51.7, 62.1, 36.2, 54.5, 56.8,...
+ 53.7, 51.7, 61.8)), .Names = c("x", "y", "z"), row.nam...
+ -10L), class = "data.frame")
> #
> # 残差平方和の和を求めるために,このような関数を定義して
> func <- function(par)
+ {
+ c <- par[1]
+ a <- par[2]
+ b <- par[3]
+ return(sum(
+ (data1$z-c-a*data1$x-b*data1$y)^2+
+ (data2$z-c-a*data2$x-b*data2$y)^2+
+ (data3$z-c-a*data3$x-b*data3$y)^2
+ ))
+ }
> #
> # このように optim 関数を使えばば,解が求まります
> ans1 <- optim(c(1,1,1), func)
> options(digits=20)
> ans1$par # 順に,Intercept, a, b の値
[1] 5.1494284959399153 0.4486484068519486 0.448418485576...
> #
> # 全部のデータを一緒にして lm をやるとちょっと違う解に...
> ans2 <- lm(z~x+y, rbind(data1, data2, data3))
> ans2$coefficients # 順に,Intercept, a, b の値
(Intercept) x y
5.1698189750573782 0.4486579549173459 0.4480422838232404
# しかし,違いが出るのは収束判定が甘いからというのが一つ...
# 以下のようにすれば,全部のデータを一緒にして lm をやっ...
> ans3 <- optim(c(1,1,1), func, control=list(reltol=1e-1...
> ans3$par
[1] 5.1698211304708774 0.4486577795757830 0.448042459712...
図に描いてよく考えれば,別々のデータセットに同じ回帰平面...
以下の図を,赤,青,黒の3枚に分解したグラフと比較すればお...
&ref(fit.lm.png);
- ご丁寧な回答,ありがとうございました.いくつか更なる質...
- > 今回扱うデータは時系列データなので,rbindを使うこと...
例えば,EuStockMarkets のような,mts クラスのデータセット...
> 初期値の指定によっては,推定結果はかなり大きく異なった...
適切な初期値を与えるためには試行錯誤が必要でしょう。~
というか,結局は,全部のデータセットをひとまとめにして lm...
> lm関数の実行結果のように,残差,p値,修正済み決定係数...
できません。得られたパラメータから,自分で計算しなければ...
- 早速なご回答,誠にありがとうございます.~
zi,xi,yiをそれぞれ時刻iにおける売上,客数,商品在庫数とし...
x,y,z三者の関係を周期1日でみますと,2つのデータセットでは...
データセット2つをrbindでつなげて推定すれば,二日間を通し...
rbindを使って求めた結果は,「一日における三者関係」ではな...
ご意見をお待ちしております.~
よろしくお願い致します. -- [[Tiana]] &new{2010-01-06 (水...
- そもそも,時間は独立変数に入れていないのでしょう?だっ...
連続する日時の独立変数と従属変数は元のままの順に並んでい...
以下に,テストデータと実行プログラムとその結果を掲示して...
> data1 <- structure(c(60.7, 63.8, 62.8, 59.5, 50, 54.3,...
+ 118.2, 142.7, 101.8, 78.8, 51.7, 56.3, 90.1, 125.9, 16...
+ 179, 134.6, 100.3, 69.1, 39.4, 31.2, 26.8, 26.8, 31.2,...
+ 31.2, 33.6, 36, 40.8, 47.6, 51.2, 42.7, 29.2, 32.4, 34...
+ 50.8, 60.2, 67.8, 72.9, 60.4, 27.6, 34, 26.7, 21.3, 27...
+ 23.8, 27.5, 25, 23.5, 27.8, 38.7, 33.9, 56.5, 21.5, 24...
+ 25.2, 32.5, 29.2, 20.7, 37.1, 27.5, 19.3, 22, 14.6, 10...
+ 3L), .Dimnames = list(NULL, c("z", "x", "y")), .Tsp = ...
+ 1), class = c("mts", "ts"))
>
> data2 <- structure(c(60.9, 43.5, 42, 55.3, 61.4, 61.4,...
+ 107.4, 79.8, 85.4, 74.2, 47.1, 66.5, 73.7, 98.7, 159.1...
+ 128.9, 95.7, 65.5, 45, 34.8, 28.4, 28.4, 34.8, 37.6, 3...
+ 45.6, 49.4, 51.2, 42.8, 46.4, 44, 29.2, 24.4, 24, 33.6...
+ 62.7, 64.9, 40.4, 32.9, 14.8, 14, 18.4, 19.5, 18.1, 25...
+ 22.4, 22.9, 20.1, 29.5, 46.2, 31.3, 33, 26.4, 23.9, 20...
+ 13.7, 17.7, 34.3, 45.8, 38.2, 30.2, 20.4, 12.1, 9.1), ...
+ 3L), .Dimnames = list(NULL, c("z", "x", "y")), .Tsp = ...
+ 1), class = c("mts", "ts"))
>
> data1
Time Series:
Start = 1
End = 24
Frequency = 1
z x y
1 60.7 31.2 21.3
2 63.8 26.8 27.5
3 62.8 26.8 23.3
略
23 69.1 34.0 14.6
24 39.4 26.7 10.6
>
> alldata <- data.frame(rbind(data1, data2))
> ans.lm <- lm(z ~ x+y, alldata)
> plot(alldata$z, type="l")
> lines(fitted.values(ans.lm), col="red")
> summary(ans.lm)
Call:
lm(formula = z ~ x + y, data = alldata)
Residuals:
Min 1Q Median 3Q Max
-35.4932 -14.6937 0.3991 9.1139 41.6834
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -19.1196 8.7029 -2.197 0.0332 *
x 2.3930 0.2396 9.986 5.43e-13 ***
y 0.5314 0.3407 1.560 0.1259
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1...
Residual standard error: 18.07 on 45 degrees of freedom
Multiple R-squared: 0.7988, Adjusted R-squared: 0.7898
F-statistic: 89.32 on 2 and 45 DF, p-value: < 2.2e-16
&ref(lmfit2.png);
- 分かりやすいご説明ありがとうございました.やっと疑問を...
- > 2つのデータセットの順番を変えて推定しても結果はほぼ...
lm の結果は,「ほぼ一致する」のではなく,「完全に一致」し...
- >zi,xi,yiをそれぞれ時刻iにおける売上,客数,商品在庫数...
- 多重共線性があるかないかは,質問者のデータによるでしょ...
- たびたびすみません.時刻を独立変数とした場合はどうすれ...
- 結局,全部のデータを使えばよいと言うことがわかったでし...
上の data1, data2 をこの順で繋いで,23 個のダミー変数を付...
d <- data.frame(diag(24)[,-1])
colnames(d) <- paste("H", 1:23, sep="")
alldata <- rbind(data.frame(data1, d), data.frame(data2,...
ans.lm <- lm(z ~., alldata)
plot(alldata$z, type="l")
lines(fitted.values(ans.lm), col="red")
summary(ans.lm)
結果
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.6278 16.9593 -0.096 0.9244
x 1.6980 0.3435 4.943 6.05e-05 ***
y 0.5798 0.4462 1.299 0.2073
H1 -4.8058 14.1831 -0.339 0.7379
H2 -12.3011 14.2281 -0.865 0.3966
H3 -11.8486 14.2191 -0.833 0.4136
H4 -13.1716 14.3102 -0.920 0.3673
H5 -10.1022 14.2485 -0.709 0.4858
H6 -10.4521 14.5318 -0.719 0.4796
H7 2.0627 15.2537 0.135 0.8937
H8 6.3584 18.0933 0.351 0.7286
H9 18.7776 16.0356 1.171 0.2541
H10 4.0706 18.9812 0.214 0.8322
H11 7.7339 14.9545 0.517 0.6102
H12 14.5447 14.2227 1.023 0.3176
H13 -9.8345 14.1444 -0.695 0.4942
H14 2.6706 14.1637 0.189 0.8522
H15 6.2902 14.4251 0.436 0.6670
H16 20.5260 15.3697 1.335 0.1954
H17 44.2918 18.1046 2.446 0.0229 *
H18 33.4838 21.1097 1.586 0.1270
H19 40.3405 17.7626 2.271 0.0333 *
H20 23.2166 15.3865 1.509 0.1456
H21 36.2390 14.4325 2.511 0.0199 *
H22 10.1858 14.6057 0.697 0.4929
H23 -5.2729 15.0943 -0.349 0.7302
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1...
Residual standard error: 14.12 on 22 degrees of freedom
Multiple R-squared: 0.9399, Adjusted R-squared: 0.8717
F-statistic: 13.77 on 25 and 22 DF, p-value: 1.880e-08
&ref(lmfit3.png);
- たびたびすみません.時刻を独立変数にした場合はどうすれ...
- 上にあなたが昨夜書いた質問があり,直前のコメントがそれ...
**対応分析について [#ffcd116f]
>[[ろんどん]] (2010-01-04 (月) 13:01:14)~
~
R 2.10.0にて対応分析をしようとしています。~
エラーが出て、エラーの意味がよくわかりません。~
エラーの意味と、対策方法を教えて頂きたく思います。~
~
データは、9個の物に対して18の質問項目について答えても...
8 8 6 7 6 6 4 6 9
6 7 6 6 6 7 4 7 6
2 1 2 7 1 1 1 1 6
0 0 1 7 0 2 0 0 6
0 0 0 2 0 0 0 0 13
0 0 0 11 0 2 1 0 9
1 5 7 5 4 3 1 5 4
0 1 0 2 0 0 2 3 8
1 3 3 8 3 5 2 4 9
2 3 4 5 3 4 3 3 8
0 0 0 2 0 1 0 2 9
6 5 2 0 2 2 9 10 2
0 0 0 0 0 0 0 2 5
0 1 1 1 1 0 1 1 4
1 1 1 2 1 1 1 2 2
2 2 3 4 7 7 9 9 10
2 2 2 7 2 4 3 3 7
1 2 3 3 2 2 2 2 4
~
以下プログラムです。
> library(ca)
要求されたパッケージ rgl をロード中です
> w<-read.table("C:/deta1.txt")
> Sdata<-matrix(0,18,9)
> for(i in 1:18){Sdata[,i]<-w[,i]}
以下にエラー `[.data.frame`(w, , i) : undefined columns...
> cor<-ca(Sdata,9)
> x<-matrix(0,27,18)
> x[1:18,1:18]<-cor$rproj
以下にエラー x[1:18, 1:18] <- cor$rproj :
置き換えるべき項目数が,置き換える数の倍数ではありま...
> x[19:27,1:18]<-cor$cproj
以下にエラー x[19:27, 1:18] <- cor$cproj :
置き換えるべき項目数が,置き換える数の倍数ではありま...
> plot(x[,3],x[,4],type="n")
> text(x[,3],x[,4],labels=c("A","B","C","D","E","F","G",...
"N","O","P","Q","R","1","2",...
> abline(0,0,0,0)
ご教授よろしくお願い致します。~
//
- for(i in 1:18) {Sdata[,i]<-w[,i]} の w[,i] などは,w の...
それと,ca が返す要素に $rproj とか $cproj というのはない...
abline の使い方も変です。~
結局,以下のプログラムでよいのでは? -- [[河童の屁]] &ne...
library(ca)
w <- read.table("C:/deta1.txt")
Sdata <- w # 代入する意味はないと思うが
cor <- ca(Sdata, 9)
x <- rbind(cor$rowcoord, cor$colcoord)
plot(x[, 3], x[, 4], type="n")
text(x[, 3], x[, 4], labels=c(LETTERS[1:18], 1:9)) # こ...
abline(h=0, v=0) # 要するに座標軸を描きたかった?
また,ca の plotメソッドが使えるのだから,一番簡単にやり...
&ref(plot-ca.png);
- 河童の屁様早速のご回答、わかりやすいご説明ありがとうご...
**バイオインフォマティクスでの利用について [#v16dd752]
>[[MiK]] (2009-12-29 (火) 09:28:09)~
~
Rを使ったバイオインフォマティクスに関する質問です、Rの質...
~
IPI(International Protein Index)のデータベース内のipi番号...
~
私の知っている範囲では、BiomRtパッケージの中からgetBMを使...
getBM(attributes = c("ipi","pfam"), filters = "ipi", val...
mart=useMart("ensembl",dataset="ggallus_gene_ensem...
この場合、
ipi pfam
IPI00883220 PF04818
という値が返ってきます。これはIPI00883220がipiと同時にens...
~
しかし、たまに正常に働かないipi番号が存在します。~
例えばvalue="IPI00883261"に変えて上記のプログラムを動かすと
ipi pfam
IPI00883261 PF01111
という値が期待されますが、実際には~
[1] ipi pfam
<0 rows> (or 0-length row.names)
と返ってきてしまいます。~
~
これは、IPI00883261がipiデータベースには存在するが、ensem...
~
そこで、この問題を回避するために直接ipiのデータベースを参...
//
- ライブラリはbiomaRtが正しいです。で、ご質問ですが、ense...
あなたがperlかrubyが使えるなら[[ここ:http://www.ebi.ac.uk...
今回のような単純作業なら[[これ:http://www.ebi.ac.uk/Tools...
- ありがとうございます。参考にしてみます。一見したところ...
- データベスがどのような構造になっているのかよくわかりま...
> set.seed(11111)
> data.base <- data.frame( # データフレームの例(1万行)
+ ipi=sprintf("IPI%08i", sample(99999999, 10000)),
+ pfam=sprintf("PF%05i", sample(99999, 10000)))
> head(data.base) # こんな風な構造になっている(する)
ipi pfam
1 IPI50144832 PF35844
2 IPI97023278 PF04626
3 IPI78760034 PF42298
4 IPI90222583 PF08148
5 IPI81417775 PF11722
6 IPI79989218 PF66366
> ipi <- c("IPI43502178", "IPI55223826", "IPI46947973",
+ "IPI98703034", "IPI49743044") # 5 個の ipi コ...
> lapply(ipi, function(x) data.base[data.base[,1] == x,]...
[[1]]
ipi pfam
7733 IPI43502178 PF34214
[[2]]
ipi pfam
3813 IPI55223826 PF36706
[[3]]
ipi pfam
1138 IPI46947973 PF39932
[[4]]
ipi pfam
6900 IPI98703034 PF00650
[[5]]
ipi pfam
1835 IPI49743044 PF48089
- タンパクに限らず、bioinformaticsではperl&MySQLが多い印...
**時系列データのグラフ化 [#md6aced1]
>[[はぜ]] (2009-12-22 (火) 11:56:00)~
~
初心者です。~
投稿ミス等ありましたらご容赦ください。~
横軸に日付、縦軸に数量をとった折れ線グラフを作成していま...
とりあえずグラフはできたのですが、調査期間中毎日データを...
データのない期間があると、その期間の前後の点が線で結ばれ...
データのない期間は数量0として扱いたいのですが、どなたかい...
元データには、データのない日付は入力されていません。~
OSはWindowsXP、Rヴァージョンは2.10.0です。~
よろしくお願いします。~
//
- うまい方法を探すのに時間を費やすより,簡単確実なプログ...
今はどんなプログラムで描いているのか分からないのだけど,...
もうちょっとエレガントなプログラムも書けるだろうけど,そ...
x <- structure(c(14601, 14602, 14603,
14605, 14606, 14607, 14608, 14609, 14610,
14615, 14616, 14617, 14618, 14619,
14621, 14622, 14623), class = "Date")
y <- c(23L, 24L, 44L, 25L, 13L, 12L, 11L, 13L, 29L,
45L, 30L, 42L, 39L, 38L, 31L, 13L, 19L)
plot(x, y, xaxt="n")
axis.Date(1, x, format="%m-%d")
for (i in 1:(length(x)-1)) {
if (x[i+1]-x[i] == 1) segments(x[i], y[i], x[i+1], y[i+...
}
&ref(oresen.png);
- 「データのない期間は数量0」と言うのは調査の結果が0だっ...
xx<-seq(min(x),max(x),"day")
yy<-rep(NA,length(xx))
yy[xx%in%x]<-y
plot(xx,yy,type="b") # 欠損値は線で結びません.
で良いのです. -- &new{2009-12-22 (火) 13:01:47};
- コメントありがとうございます。
お二人のご指摘から自分の間違い&説明不足に気付きました。...
どのような調査を行っているかというと、野外にビデオカメラ...
ですので、連続で観察はしているのですが、観察されなかった...
このデータから日付ごとに個体数を集計してグラフ化させたい...
集計にはtapply関数を使いました。
現状では以下のようなプログラムになっています。
たびたびお手数をおかけして申し訳ありませんが、よろしくお...
ana <- d.sub[d.sub$SP== "a",]
ana.sub <- data.frame(tapply(ana$DATE, ana[, c("Date",...
ana.sub[is.na(ana.sub)] <- 0
ana.sub$total <- ana.sub$d + ana.sub$u
ana.sub$DATE <- as.Date(rownames(ana.sub))
rownames(ana.sub) <- 1:nrow(ana.sub)
ana.sub$ID <- rownames(ana.sub)
cumulative.t <- c()
cum.t <- 0
for(i in 1:nrow(ana.sub)) {
d.sub <- ana.sub[ana.sub$ID == i,]
sub.t <- d.sub$total
cum.t <- cum.t + sub.t
cumulative.t <- c(cumulative.t, cum.t)
}
ana.sub$cum.t <- cumulative.t
plot(ana.sub$DATE, ana.sub$cum.t, col ="red", type ="l...
axes = FALSE,las =1,
xlim = c(as.Date("2009-08-01"), as.Date("2009-12-...
ylim = c(0, max(ana.sub$cum.t)*1.1),
ylab ="", main = "")
lines(ana.sub$DATE, ana.sub$total, col = "blue")
lines(ana.sub$DATE, ana.sub$d, col ="orange")
lines(ana.sub$DATE, ana.sub$u, col = "green")
axis(1, at = as.Date(v.date), labels = F, pos = 0)
axis(2, las = 1, pos = as.Date("2009-08-01")) -- [[...
- 要するに一日あたり観察数を集計するという,折れ線図を描...
観察対象を察知したときにその日付と時刻が記録されると。。。
例えば以下のようなデータですね
> head(t)
[1] "2009-08-01 05:20:30 JST" "2009-08-01 06:10:34 JST" ...
[4] "2009-08-01 10:50:19 JST" "2009-08-01 22:41:56 JST" ...
これを日付単位に何件であったか集計する。と。~
まず,日付の部分(この例だと,1文字目から10文字目まで)を...
d <- substr(t, 1, 10)
それを table 関数で集計するだけ。では?
> table(d)
d
2009-08-01 2009-08-02 2009-08-04 2009-08-05 2009-08-08
5 6 5 4 3
以下略
あとは,先ほどのコメントにある方法で,table(d) を縦軸(頻...
長いプログラムだけ見せられても,テストデータがないと実行...
- ありがとうございます。早速試して見ます。投稿法、次回か...
**行列の回転 [#naa19a94]
>[[GYOU]] (2009-12-21 (月) 23:47:04)~
~
こんにちは。~
Rには行列を時計回りや反時計回りに回転する関数は無いのでし...
例えば~
1 2
3 4
という行列を時計回りに90度回転して~
3 1
4 2
という具合です。~
過去ログを探しましたが、グラフの文字列を回転する話ばかり...
//
- 自作するというほどのことでもなくない? -- [[にせ河童]] ...
m <- matrix(1:16, 4, byrow=T)
n <- m
for(i in 1:ncol(m)){ n[i,] <- rev(m[,i]) }
for(i in 1:ncol(m)){ n[,i] <- rev(m[i,]) }
- 基本的には t(apply(m, 2, rev)) で時計回り90度回転,appl...
このやり方だと,正方行列でない場合もちゃんと回転できます...
- 例文の紹介ありがとうございます。確かに1~2行でできますね...
**次の図を見るためには<Return>キーを押して下さいと表示さ...
>[[ai]] (2009-12-14 (月) 23:45:42)~
~
抽象的な質問で申し訳ありませんが,plot(ほにゃらら)とコマ...
次の図を見るためには<Return>キーを押して下さい:
と連続して表示される4つの図をepsに保存したいのですが,~
par(mfrow=c(2, 2))
を使っても,最初の図しか保存されません。~
どうしたらすべての図,または,3番目といったひとつの図をep...
//
- 最初に par(ask=FALSE) もしくは devAskNewPage() とした...
- 手動で保存するのではなく自動で保存したいんですよね。フ...
個人的には pdf の方が好きですが,postscript の代わりに pd...
x <- rnorm(100)
y <- rnorm(100)
a <- lm(y~x)
postscript("test%i.ps", width=300, height=200, onefile=F...
plot(a)
dev.off()
- 300 inch x 200 inchは大きすぎるのでは。元質問者の方の「...
- おっしゃるとおりですね。postscript はインチで指定するの...
par(ask=TRUE/FALSE) は "its use is deprecated in favour o...
> x <- rnorm(100)
> y <- rnorm(100)
> a <- lm(y~x)
> plot(a)
ページ変更を確認するまで待機中... # Windows 版でも同じ...
ページ変更を確認するまで待機中... # 変わったのだろうか
ページ変更を確認するまで待機中... # スクリーン・デバイ...
ページ変更を確認するまで待機中... # 「クリックまたはENT...
> devAskNewPage() # FALSE なのに聞いてくる
[1] FALSE
いつから変わったのかな。 -- [[河童の屁]] &new{2009-12-15 ...
- 自動で保存したいんですよね>はいそうです。河童の屁さん,...
**plot(ksvm)について [#a6e585db]
>[[lemon]] (2009-12-14 (月) 13:44:20)~
~
kesvmでplot(data.ksvm,data=x.cl[,1:2])の出力結果の意味が...
図の▲や●はデータを示すと思われるのですが、図の右側の濃淡...
説明が載っているところがあればお教え下さい。~
//
- ? plot.ksvm -- &new{2009-12-14 (月) 15:45:02};
- 有難うございます。分類が確からしいところが濃くなるとい...
**ダイナミックパネルデータ分析について [#mf03d24a]
>[[TAK]] (2009-12-14 (月) 11:12:06)~
~
R初心者です。~
マザーズなどの上場企業のデータから、ダイナミックパネルデ...
~
元データ(サービス.txt)
firm yr ROE PCM 対数資産合計 対数売上高合計 流動比率 負...
自己資本比率 無形資産比率 ジャスダック マザーズ ヘラク...
2003 2004 2005 2006 2007 2008
4 2005 8.14 0.826719577 2.894869657 3.480581787 158.13 1...
40.64 0.25477707 1 0 0 0 0 1 0 0 0
4 2007 20.76 2.829175122 3.47070443 3.923088515 205.42 8...
54.41 0.50744249 1 0 0 0 0 0 0 1 0
4 2004 37.79 3.044496487 2.85672889 3.329397879 170.66 1...
41.09 0.139082058 1 0 0 0 1 0 0 0 0
4 2006 38.67 3.814822174 3.197556213 3.70182693 159.65 1...
42.77 0.57106599 1 0 0 0 0 0 1 0 0
5 2008 5.2 2.394227616 3.875697762 3.484157424 111.38 42...
15.49 0.013313806 1 0 0 0 0 0 0 0 1
プログラム
library(plm)
SA <- read.table("サービス.txt", header=T)
SA <- plm.data(SA, index=c("firm", "yr"))
attach(SA)
form1 <- ROE~対数資産合計+対数売上高合計+流動比率+負債比...
emp.gmmSA = pgmm(dynformula(form1, lag=list(1,0,0,0,0,0,...
model="twosteps", gmm.inst=~ROE,lag.gmm=c(2,...
表示されるエラー
以下にエラー FUN(X[[4L]], ...) : 添え字が許される範囲外...
//
- 5行だけのデータですか?行数(データ数)が少なすぎるから...
- ありがとうございます。しかし、実際のデータでは1786行で...
- 解決しました。年が飛び飛びなのでうまく分析できなかった...
**複数ファイル作成および展開方法 [#c6329249]
>[[出口]] (2009-12-10 (木) 19:32:48)~
~
1ファイル内に47都道府県別のデータが混在しているものを、...
下記のプログラムですと、ToDohFuKenが47のものだけが、x.iの...
for ( i in 1:47) {
x.i<- subset(Gr.Area, ToDohFuKen==i)
# Gr.Areaは、作業するもののデータフレーム
# ToDohFuKenは、Gr.Areaデータフレーム内に存在する変数名
}
期待する成果としては、X1、X2、X3、・・・X47と、47のデータ...
//
- あなたのやりたいことは,d <- split(Gr.Area, Gr.Area$ToD...
以下のプログラムを実行して見てください。Gr.Area と d を表...
「1ファイル内に47都道府県別のデータが混在」というのがよ...
(Gr.Area <- data.frame(x1=rnorm(47), x2=rnorm(47), ToDoh...
(d <- split(Gr.Area, Gr.Area$ToDohFuKen))
どうしても x1, x2, ... のようにしたければ
for ( i in 1:47) {
eval(parse(text=sprintf("x%i<- subset(Gr.Area, ToDohFu...
}
一行でやるなら
eval(parse(text=sprintf("x%i<- subset(Gr.Area, ToDohFuKe...
- ご教授ありがとうございます。ファイルを分割して配布する...
**manovaのエラー [#me72f2df]
>[[迷える黒い羊]] (2009-12-10 (木) 17:59:04)~
~
たぶん初歩的な問題(データ上の問題)だとは思うのですが、m...
エラーの意味をご教授願えませんでしょうか?
以下にエラー `contrasts<-`(`*tmp*`, value = "contr.Treat...
関数 "is" を見つけることができませんでした
//
- エラーメッセージだけでなく,関連する行を含めてプログラ...
- 失礼しました。 -- [[迷える黒い羊]] &new{2009-12-10 (木)...
- 以下の関連行の中で、all_ldaは変数61、サンプル数83、spec...
なお、nのサンプル数は61、pのサンプル数は22です。 -- [[迷...
> attach(all_lda)
> all_lda_ma<-manova(cbind(A,B)~species)
以下にエラー `contrasts<-`(`*tmp*`, value = "contr.Treat...
関数 "is" を見つけることができませんでした
- 再現しませんねぇ。以下のプログラムをコピーして,Rコンソ...
set.seed(11111)
all_lda <- data.frame(A=rnorm(83), B=rnorm(83),
species=rep(factor(c("n", "p")), c(61, 22)))
attach(all_lda)
all_lda_ma <- manova(cbind(A, B) ~ species)
summary(all_lda_ma)
detach(all_lda)
以下のような結果が表示されると思うんですけど
Df Pillai approx F num Df den Df Pr(>F)
species 1 0.019969 0.81504 2 80 0.4463
Residuals 81
- プログラムまでありがとうございます。家のDeskTopPCでは、...
- 「NotePCでは2.10.0、Rcmdr1.5-3がインストール」で,Rcmdr...
- Rcmdrを使わなくても出てしまいます。コンソールの実行結果...
> is
エラー: オブジェクト 'is' がありません
- 普通は,is を入力すると関数定義が表示されるんですけど(...
- 2.10をインストールをし直したら、is関数も表示され、manov...
- Rcmdrのオプションを付けないですのままで立ち上げると計算...
**組合せの数の関数について [#r74090f1]
>[[R初心者]] (2009-12-10 (木) 10:09:13)~
~
R初心者です。~
Rで「組合せの数」を求める関数かパッケージをご教示ください...
Excelのcombin関数に相当するものがありますでしょうか。~
数学記号でnCr(n:総数,r:抜き取り数)と表示されるものです...
どうぞ,よろしくお願いします。~
//
- choose(n, r) -- [[surg]] &new{2009-12-10 (木) 10:52:57};
- ご教示ありがとうございます。感謝,感謝です。 -- [[R初心...
**Rで相乗平均を使った手法がありますか [#da9c4087]
>[[sakura]] (2009-12-10 (木) 06:32:15)~
~
素朴な初心者質問です。具体的でなくて済みません。平均値に...
//
- 「平均値に相乗平均を使うRのパッケージ(ライブラリー)...
相乗平均とは幾何平均と同じものですね?以下のような関数を...
それとも,例えば平均値の差の検定を行う t.test 関数みたい...
geomean <- function(x, ...) exp(mean(log(x), ...))
使用例
> geomean(c(2,6,3,9))
[1] 4.242641
> geomean(c(1,2,3, NA), na.rm=TRUE)
[1] 1.817121
**データのタイミングを合わせる方法について [#x52a4d76]
>[[takahashi]] (2009-12-09 (水) 21:02:16)~
~
初心者です。よろしくお願いします。~
~
例えば
x <- c(1:14)
y <- c(-8, -13, -16, -15, -12, -6, 0, 9, 15, 33, 48, 46,...
と言った、曲線(に近いデータ)があったとします。~
この曲線で、xが0から14までを20等分された値、つまりx0 = 0,...
医学の循環器の研究で、各心拍の長さがことなることと、デー...
またデータの曲線は、関数で表せないものが多いです。~
凄く単純なことに思えますが、どうしても良いプログラムがで...
//
- 目次の中から,[[任意のX軸と曲線との交点(Y値)の値の算...
x <- 1:14
y <- c(-8, -13, -16, -15, -12, -6,
0, 9, 15, 33, 48, 46, 32, 24)
ans <- spline(x, y)
ans2 <- spline(x, y,
xout=seq(0, 14, length=21))
plot(x, y)
lines(ans$x, ans$y)
points(ans2$x, ans2$y, pch=19,
col=2, cex=0.7)
legend("bottomright",
c("観察値", "予測値"),
pch=c(1,19), col=c("black", "red"))
&ref(spline2.png);
- ありがとうございました。早速この方法でトライしてみます...
**snowライブラリのエラー [#d0d95023]
>[[のざわ]] (2009-12-09 (水) 01:10:31)~
~
お世話になります。~
~
R-2.10.0でOSはopensolaris2009.06です。~
~
以下のようなプログラムを作り実行させると
Error in unserialize(node$con) : error reading from conn...
と、こんなエラーが帰ってきて、並列計算できません。~
何が悪いのでしょうか?
library(snow)
cl <- makeCluster(4, type = "SOCK")
test.p <- function(a,b) {
return((a+b))
}
clusterExport(cl, "test.p")
//
- タイミングの問題はありそうです, cl <- makeCluster(4, ty...
- はい同じ結果でした。。 -- [[のざわ]] &new{2009-12-11 (...
- lam-mpi(メンテされてない)もしくはopenmpi(遅い)の何れか...
- Rmpiを入れると、Rmpi.soがロード出来ないと怒られます。問...
- 今頃やってみましたが, R上では "Rscript --args MASTER=ho...
**csvファイルを読ませたらなぜかデータがNAに [#q30f1a4b]
>[[はぜ]] (2009-12-08 (火) 16:32:16)~
~
R始めたばかりです。~
excelで作ったデータシートをcsv形式に変換させてread.csv("...
元のexcelファイル、csvファイルとも調べましたが空白にして...
nrow("ファイル名")で行数を調べたところ、行数が実際のデー...
OSはWindowsXP、Rヴァージョンは2.10.0です。~
どなたか解決策をご存知でしたらよろしくお願いします。~
//
- そのファイルのエンコーディングは何でしょうか?Windows版...
エンコーディングが何であるかわからないということなら,rea...
あまり大きなファイルでないなら,ここにアップロードしてみ...
> データが全く入力されていない末尾の空白行何行かもNAとし...
それはちょっとねぇ,csv ファイルの作り方に問題があるので...
- お騒がせしてすみません。原因は不明ですが、元のexcelファ...
- コメントありがとうございます。当面の問題は解決しました...
**ニューラルネット(nnet)の構造について [#n61d07c6]
>[[mako]] (2009-12-08 (火) 14:15:32)~
~
いつも参考にさせていただいています。~
現在、ニューラルネットパッケージnnetの関数(nnet)を用い...
~
nnetを用いて学習はできるのですが、出力される重みwtsの構造...
P <- matrix(sample(seq(-1,1,length=100), 100, replace=FA...
target <- P^2
result <- nnet(P, target, size=4, maxit=100)
y <- predict(result, P)
plot(P,y, col="blue", pch="+")
points(P,target, col="red", pch="x")
また、WEKAによるニューラルネットワーク機能で描けるような...
~
ヘルプやリファレンス等調べましたが見つけられませんでした。~
このような質問をするところではないかも知れませんが、ご存...
//
- 結果を見るには summary をするのが常套手段では(オンライ...
「ネットワーク構造を描画する」件ですが,ニューラルネット...
「nnet() で作った neural network の例 (作図は久保の自作関...
> summary(result)
a 1-4-1 network with 13 weights
options were -
b->h1 i1->h1
7.08 -7.27
b->h2 i1->h2
-1.15 -6.52
b->h3 i1->h3
7.54 7.06
b->h4 i1->h4
1.85 -8.71
b->o h1->o h2->o h3->o h4->o
14.84 -6.58 6.52 -9.10 -6.20
> result$wts
[1] 7.081986 -7.272869 -1.148621 -6.524123 7.536072 ...
[7] 1.854337 -8.707560 14.843569 -6.577558 6.517180 -...
[13] -6.203486
- さっそくのアドバイスありがとうございます。オンラインヘ...
- 描画に関する情報もありがとうございます!参考にさせてい...
- summary.nnet という関数があるかなと思えば,nnet:::summ...
- アドバイスありがとうございます。あるかな?と思ったらこ...
**特定の時間が経過したら自動でプログラムを終了させたい [#...
>[[Saito]] (2009-12-07 (月) 21:57:38)~
~
いつもお世話になっております。~
色々と調べ、試行錯誤しましたが、上手くできないので質問さ...
あるプログラムを走らせていて、ある時間が経過しても終了し...
自分ではstopifnot()、proc.time()、breakを上手く使えばよい...
stopifnot(rnorm(1e+07)
proc.time()[3] > 1)
のような感じで、rnormに1秒以上かかるようなら、プログラム...
もしどなたか方法をご存知でしたら、ご教授願えないでしょう...
//
- system.time(rnorm(1e7))[1] > 1 では駄目ですか。 -- &ne...
- 回答ありがとうございます。ただ、そのコードですと、例え...
> system.time(rnorm(1e8))[1]
user.self 20.63
くらいかかるようです。この状況で上記のコードを試すと、1秒...
1秒を越えた時点で計算が中断するようなプログラムがあれば助...
- そのプログラムを起動する前に proc.time() を呼んでその...
prog <- function()
{
s <- proc.time()[3]
repeat {
if (proc.time()[3]-s > 10) return(rnorm(100))
}
}
prog()
- >経過時間を測るプログラムがそのプログラムの実行を監視...
回答ありがとうございます。おそらく、これが私が求めている...
河童の屁さんが紹介してくださったprog関数は、つまり、一度r...
監視・制御というようなプログラムは作ったことがなく、作り...
- Windows の場合はよくわからないけど,UNIX の場合なら,fo...
- 別スレッド作る方法とかありませんかね? -- &new{2009-12...
- 河童の屁さん、どうもありがとうございました。R上ではfork...
**Rが64bitでしか動きません [#e53abc79]
>[[修士論文執筆中]] (2009-12-06 (日) 12:53:08)~
~
はじめまして.修士論文執筆中と申します.~
ある時からRの32bitバージョンが起動しなくなってしまいまし...
~
私はマックブックで OS X ver.10.6.2,CPUは2.4GHz Intel Cor...
本来ならば32bitでしか起動しないはずですし,こないだまでそ...
~
Rcmdrをインストールしようにもbitがあわないからか全く起動...
~
ちなみにR64bitからは次のようなデータを得られました.~
~
> sessionInfo()~
R version 2.10.0 (2009-10-26) ~
x86_64-apple-darwin9.8.0 ~
~
locale:~
[1] ja_JP.UTF-8/ja_JP.UTF-8/C/C/ja_JP.UTF-8/ja_JP.UTF-8~
~
attached base packages:~
[1] stats graphics grDevices utils datasets met...
~
どうすれば32bitで起動するようになるでしょうか?~
アドバイスをお願いいたします.~
//
- Mac 版の R は,http://r.research.att.com/ にあるように...
というわけで,いつの頃にか,なぜかはしらねど,64bit 起動...
Mac OS X GUI
Version Build ...
Mac OS X GUI rev. 5528 for R 2.10.x tiger-Deployment ...
Mac OS X GUI rev. 5528 for R 2.11.x tiger-Deployment ...
Mac OS X GUI rev. 5528 for R 2.10.x leopard-Leopard ...
Mac OS X GUI rev. 5528 for R 2.10.x leopard-Leopard64...
Mac OS X GUI rev. 5528 for R 2.11.x leopard-Leopard ...
Mac OS X GUI rev. 5528 for R 2.11.x leopard-Leopard64...
**悪化要因の分析方法 [#c8c978f3]
>[[悩みの多い熊五郎]] (2009-12-05 (土) 21:51:34)~
~
修理受付データを分析して、解約を減らす方法を検討していま...
データとしては以下のようなデータが集計されています。
修理受付No 部品1 部品2 部品3 部品4 部品5 修理価...
001 PartA PartB 100...
002 PartA PartZ PartC 450...
003 PartV PartA PartB 300...
004 PartD PartS PartB 600...
・・・・・・・・・・・・・・・・・・・・・・・・・・・...
999 PartZ 800...
この調査をし対策をしたいと考えております。アドバイスをお...
//
- R でできるかどうかを考える前に,「統計学」でできるかど...
可能性としては,判別分析でしょうね。判別分析というのは,...
なお,一般的に統計学手法でこのデータを扱うときには,あな...
修理受付No PartsA PartsB PartsC ... PartsZ 修理価格 修...
001 1 1 0 ... 0 1000 修理
002 1 0 1 ... 1 4500 修理
003 1 1 0 ... 0 3000 解約
004 0 1 0 ... 0 6000 解約
:
999 0 0 0 ... 1 8000 修理
また,修理か解約かはどのパーツが使われたかだけに依存して...
(投稿法も調べてからにしてくださいね。直しておきますから...
**ネットワーク分析について [#jabb4f63]
>[[sibu]] (2009-12-03 (木) 17:11:21)~
~
こんにちは、私はネットワーク分析でテキストマイニングを行...
テキストデータを形態素解析し、MLTPを用いて名詞に限定...
> at<-read.csv("c:/temp/a.csv",head=FALSE)
Warning message:
In read.table(file = file, header = header, sep = sep, q...
'c:/temp/a.csv' の readTableHeader で不完全な最終行が...
というエラーが出てしまい、データを出力しようとしても~
> at[1:30,]
[1] ミマ\021爍ア <NA> <NA> <NA> <NA> <...
[8] <NA> <NA> <NA> <NA> <NA> <...
[15] <NA> <NA> <NA> <NA> <NA> <...
[22] <NA> <NA> <NA> <NA> <NA> <...
[29] <NA> <NA>
という風になり、データを解析できません~
なぜこのようなエラーが出るのでしょうか? ご意見お聞かせ...
//
- そのエラーの原因は,入力ファイルの最後の EOF が最終行の...
なお,最近のバージョンでは,ファイルの末尾が,改行+EOF に...
- 河童の屁さんの言う通りファイル形式が間違っていたのかと...
**contourplotの軸の目盛りを内側にしたい [#r2e79b06]
>[[Saito]] (2009-12-01 (火) 17:53:41)~
~
いつもお世話になっています。~
過去の投稿、ネットを確認しましたが、見当たらなかったので...
例えば~
library(lattice)
contourplot(volcano)
で表示される四方の軸の目盛りを内側表示したいのですが、ど...
plotであれば、~
plot(1, 1, tcl=0.5)
とでもすればできるのですが。contourplotがやっている描画方...
~
ちなみにR-2.9.2、WindowsXPです。~
どうぞよろしくお願い致します。~
//
- contourplot(volcano,scales=list(tck=-1)) -- &new{2009-...
- おお、なるほど、tckのほうで軸を書いてしまうというのは思...
**タイはタイのままの並び替えの方法 [#gee77959]
>[[おむすび]] (2009-11-30 (月) 21:26:10)~
~
行列をつくって,それぞれの値を順番に置き換えたいのですが...
m<-matrix(c(2, 5, 1, 5, 10, 2, 10, 20, 5),nrow=3)
たとえば,rankでやると,~
m2<-matrix(rank(m),nrow=3)
これを1から7にしたいのです。~
~
ついでに,orderだと順番が違うのはなぜですか?~
//
- このようにしたいのですが。 ~
> m2
[,1] [,2] [,3]
[1,] 2 3 4
[2,] 3 4 5
[3,] 1 2 3
1から5でした。すみません。 -- [[おむすび]] &new{2009-11-3...
- > orderだと順番が違うのはなぜですか?~
確かに,オンラインヘルプの説明はわかりにくいかもしれない...
> order(c(4,2,1,5,3))
[1] 3 2 5 1 4
という例を考察すればよいでしょう。一番小さい1は3番目,2番...
一方 rank は順位付けを行うけど,同順位をどう扱うかは ties...
> x <- c(1,2,2,3,3,3,3,4,5)
> rank(x, ties.method="average") # これが,デフォルト(...
[1] 1.0 2.5 2.5 5.5 5.5 5.5 5.5 8.0 9.0
> rank(x, ties.method="first")
[1] 1 2 3 4 5 6 7 8 9
> rank(x, ties.method="random")
[1] 1 2 3 4 7 5 6 8 9
> rank(x, ties.method="max")
[1] 1 3 3 7 7 7 7 8 9
> rank(x, ties.method="min") # これが世間でよく行われる...
[1] 1 2 2 4 4 4 4 8 9
とにかく,オンラインヘルプをよくお読みになることをおすす...
また,投稿法についても,編集ウインドウの下にある「テキス...
- 河童の屁さん,ご丁寧にありがとうございます。しかし私の...
> m2
[,1] [,2] [,3]
[1,] 2 3 4
[2,] 3 4 5
[3,] 1 2 3
こんなのになりませんか? -- [[おむすび]] &new{2009-11-30 ...
- たとえば,以下のようにすればよいでしょう。 -- [[河童の...
> m <- matrix(c(2, 5, 1, 5, 10, 2, 10, 20, 5), nrow=3)
> values <- as.numeric(names(table(m)))
> m2 <- m
> for (i in 1:length(values)) {
+ m2[m2 == values[i]] <- i
+ }
> m2
[,1] [,2] [,3]
[1,] 2 3 4
[2,] 3 4 5
[3,] 1 2 3
- コマンドの意味を理解するのにしばらく時間がかかりました...
**matplotでx軸に日付データを表示したい [#af481e1b]
>[[kobayashi]] (2009-11-29 (日) 22:19:04)~
~
以下のようにデータを作り、エクセルのシリアル値であるDay(...
Day <- c(33000, 36000, 39000)
Value1 <- 1:3
Value2 <- 4:6
x <- data.frame(Value1, Value2)
newDay <- as.Date(Day, origin="1900/01/01")
plot(newDay, x[, 1], type="l")
matplot(newDay, x[, 1], type="l")
> x
Value1 Value2
1 1 4
2 2 5
3 3 6
> newDay
[1] "1990-05-09" "1998-07-26" "2006-10-12"
すると、plotではx軸は日付データになってくれるのですが、ma...
原因及び解決方法を教えていただけないでしょうか。~
//
- newDay の as.integer( ) は,as.integer(newDay) ==> 7433...
で,matplot でも日付を目盛りラベルとして描こうと思うなら...
matplot(newDay, x[, 1], type="l", xaxt="n")
axis(1, at=newDay, label=as.Date(newDay, origin="1970/01...
# 単に,axis(1, at=newDay, label=newDay) でよいようだ。...
**テキストマイニングについて [#wc7ffc13]
>[[sisisi]] (2009-11-25 (水) 10:20:58)~
~
始めまして、私はテキストマイニングについて勉強しているも...
最近は大学の講義データの講師の音声データと授業のスライド...
このような異なる二つのデータをテキストを分析するときはど...
どうかご意見お聞かせ下さい。~
//
- 「思うようにデータが集まらない」というのと、「どのよう...
- 返信が遅れて申しわけありません。愚痴のような事を言って...
**SIMCA分析 [#l8c39f2e]
>[[kao]] (2009-11-24 (火) 15:00:05)~
~
~
Rで、soft independent modeling of class analogy(SIMCA)...
パッケージがあるのであれば、教えていただけないでしょうか。~
よろしくお願いします。~
//
- Metabonomic というパッケージがあるようだ。説明は~
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2774703/
にある。ただし,あなたの目的にあうものなのかは知らない。 ...
**Rで、トランスログ [#c5e09a3d]
>[[tsuyoshi]] (2009-11-21 (土) 18:25:42)~
~
初心者です~
Rで、トランスログ生産関数分析をしたいです。~
どなたかご存知でしたら教えていただけると幸いです。~
//
- 疑問点が曖昧なので、返事を出しにくいのじゃないでしょう...
**傾いた tick mark [#i1f32a6d]
>[[柳沢]] (2009-11-20 (金) 03:16:30)~
~
こんにちは.windows で R 2.9.0 を使っています.~
~
例えば plot(c(1,22)) を描いたとします.そのとき y-axis の...
~
plot(c(1,22), yaxt='n')
text(rep(1,length(z<-axTicks(2))), z, '|', srt=-45)
~
が一番求めるものに近いのですが,xaxs='i' としない場合, ...
~
どうぞよろしくお願いします.~
//
- 自分でつっこみです. text を使うと図の外に描けないので...
- plotする前にx軸の値が分からない(座標が分からない)なん...
- tick-mark を自分で書きたい(画像,文字,線?)と言う意味で...
plot(c(1,22), yaxt='n')
axis(2,tick=F)
par(xpd=T)
text(rep(par()$usr[1]-strwidth("|"),length(axTicks(2)))...
par(xpd=F)
こんな感じは参考になるかも -- &new{2009-11-20 (金) 11:15...
- どうもありがとうございました。サンキュー。 -- [[柳沢]] ...
**Date型の演算について [#b7b2c56d]
>[[R初心者]] (2009-11-18 (水) 00:58:33)~
~
as.Date("2009-11-1")の1ヶ月後や2ヶ月後をRで計算できないも...
1日後だったら、as.Date("2009-11-1")+1で簡単に計算できるの...
tail(seq(as.Date("2008-1-1"), len=2, by="1 month"), 1)~
しか思いつかなかったので、質問させていただきました。~
この方法だと、as.Dateの部分が日付のベクトルだとうまくいか...
何か良い方法があれば教えていただければと存じます。~
//
- よい方法を求める前に,「一ヶ月後」の定義をはっきりさせ...
> test <- function(str)
+ {
+ str2 <- tail(seq(as.Date(str), len=2, by="1 month"), 1)
+ cat(sprintf("%s %i\n", str2, difftime(as.Date(str2), ...
+ }
> test("2009-01-01")
2009-02-01 31
> test("2009-01-31") # 一ヶ月後は31日後になっている
2009-03-03 31
> test("2009-02-01") # 一ヶ月後は28日後になっており,
2009-03-01 28 # 2月になっての一ヶ月後は1月最終日...
日付にベクトルを与えられないというのは本質的なものではな...
> func <- function(str)
+ {
+ sapply(str, function(str2) as.character(seq(as.Date(s...
+ }
> func(c("2009-01-01", "2009-01-31", "2009-02-01"))
2009-01-01 2009-01-31 2009-02-01
"2009-02-01" "2009-03-03" "2009-03-01"
あるいは,as.POSIXct を使うと,引数がベクトルの場合でも指...
> as.POSIXct(c("2009-01-01", "2009-02-01"))+60*60*24*30
[1] "2009-01-31 JST" "2009-03-03 JST"
- 返信が遅くなってすみません。 日付の定義ですが、当面のと...
**デンドログラム、またヒートマップのデンドログラムの高さ...
>[[aoi]] (2009-11-17 (火) 17:35:07)~
~
いつも丁寧に教えてくださり、本当にありがとうございます。~
~
実験データをもとにしてヒートマップとデンドログラムを書い...
~
heatmap 関数のmargins=c(5,5)も変更してみたり、pdfのサイズ...
~
ちなみにコサイン距離の関数は~
http://rbloger.blog51.fc2.com/blog-entry-26.html~
より利用させていただき
cosine.function <- function(x) { # 列ベクトルのコサイン...
col.similarity <- matrix(NA, ncol=ncol(x), nrow=ncol(x...
for (i in 1:ncol(x)) {
for (j in 1:ncol(x)) { # コサイン距離の算出
col.similarity[i, j] <- (x[, i] %*% x[, j])/(sqrt(...
}
}
rownames(col.similarity) <- colnames(x) # 列名の付与
colnames(col.similarity) <- colnames(x) # 行名の付与
return(col.similarity) # コサイン距離の行列を返す
}
転置してheatmapの関数に組み込むようにheatmap関数を変更し...
~
また
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-apple-darwin8.11.1
です。よろしくお願いします。~
//
- この関数を使って,どのようなデータを使ったらどんな風に...
「長過ぎて裏返ってしまう」というのさえ,どういうことなの...
- ありがとうございます。失礼しました。データ自体は糖鎖と...
例えば
Answer1 Answer2 Answer3
A 1 2 3
B 5 10 15
C 89 135 78
D 26 49 42
E 36 70 30
F 167 216 144
G 125 143 89
H 145 229 1110
I 13 5 11
J 58 61 49
K 77 91 25
といったようなデータでこれでA,B,C・・・に当たる物が糖鎖で
Answer1,Answer2・・・に当たる物がサンプルでこれが400行、3...
&ref(mixmix.txt);~
サンプルだとうまくいくのですが、データが大きくなるとデン...
&ref(mmscf_hclust.png);~
この長さを調節するには関数のなかのどこを調節すればいいの...
- Quartz ウィンドウに描いたのですか?plot, hclust のオプ...
それはさておき,解決策を。~
mixmix.txt は,列名が不適切だったり,行あたりの変数の個数...
プリントできるかどうかは気にせず(というか,そんなおおき...
以下のようにして書かれたファイルを何らかのソフト(Adobe R...
set.seed(123456789)
x <- matrix(sample(0:1, 400*300, replace=TRUE), 400) # 4...
pdf("dendrogram.pdf", width=150, height=6) # width, heig...
plot(hclust(as.dist(cosine.function(x))), hang=-1)
dev.off()
&ref(dendrogram.png);
- 何とかデータファイルを読めました。1列目が名前になってい...
x <- read.table("mixmix.txt", header=TRUE, sep="\t")
pdf("dendrogram2.pdf", width=100, height=5)
plot(hclust(as.dist(cosine.function(t(x[,-1])))), hang=-1)
dev.off()
なお,蛇足ではあるが,ブログから参照したという関数は無駄...
> cosine.function2 <- function(x)
+ {
+ x <- as.matrix(x)
+ ss <- 1/sqrt(colSums(x^2))
+ col.similarity <- t(x) %*% x*outer(ss, ss)
+ colnames(col.similarity) <- rownames(col.similarity) ...
+ return(col.similarity)
+ }
> system.time(a1 <- cosine.function(t(x[,-1]))) # 二重...
ユーザ システム 経過
14.962 0.070 14.894
> system.time(a2 <- cosine.function2(t(x[,-1]))) # 圧倒...
ユーザ システム 経過
0.046 0.002 0.048
> all.equal(a1, a2) # 言う...
[1] TRUE
- ありがとうございます!出来ました。hangを解除したらまた...
- ありがとうございます。やってみます。大変感謝です。 -- [...
**求根、といえばいいのでしょうか [#c506344b]
>[[b.b.]] (2009-11-17 (火) 14:49:43)~
~
Height ~ SI * (1 + exp (8.285 -1.22 * log(60 + 16.195) -...
(1 + exp(8.285 -1.22 * log(Age + 16.195) -...
という非線形関数で、AgeとHeightが分かっている場合に、SIの...
//
- uniroot 関数を使います。
> root <- function(Height, Age) {
+ uniroot(function(SI) SI * (1 + exp(8.285 -1.22 * ...
+ (1 + exp(8.285 -1.22 * ...
+ Height, c(0.01, 1e10))
+ }
> root(8.889316, 50)
$root # これが答え
[1] 10
$f.root
[1] -1.202766e-08
$iter
[1] 5
$estim.prec
[1] 6.103516e-05
Height, Age, SI のうちの任意の 2 変数の値を与えれば,残...
> root <- function(Height=NULL, Age=NULL, SI=NULL) {
+ Height.function <- quote(SI * (1 + exp(8.285 -1.22 * ...
+ (1 + exp(8.285 -1.22 * ...
+ if (sum(sapply(list(Height, Age, SI), is.null)) != 1)...
+ if (is.null(Height)) {
+ Height <- eval(Height.function)
+ }
+ else if (is.null(Age)) {
+ Age <- uniroot(function(Age) eval(Height.function)-H...
+ }
+ else if (is.null(SI)) {
+ SI <- uniroot(function(SI) eval(Height.function)-Hei...
+ }
+ return(c(Height=Height, Age=Age, SI=SI))
+ }
> root(Height=8.889316, Age=50) # SI を求める
Height Age SI
8.889316 50.000000 10.000000
> root(SI=10, Age=50) # Height を求める
Height Age SI
8.889316 50.000000 10.000000
> root(Height=8.889316, SI=10) # Age を求める
Height Age SI
8.889316 50.000013 10.000000
**Cox比例ハザードモデルで生存期間を推定したい [#zca3b1a9]
>[[akira]] (2009-11-16 (月) 21:34:21)~
~
library(survival)のcoxphで作成したモデルを使ってpredict.c...
> fit <- coxph(Surv(time, status) ~ age + ph.ecog + stra...
> head(lung)
inst time status age sex ph.ecog ph.karno pat.karno me...
1 3 306 2 74 1 1 90 100 ...
2 3 455 2 68 1 0 90 90 ...
3 3 1010 1 56 1 0 90 90 ...
4 5 210 2 57 1 1 90 60 ...
5 1 883 2 60 1 0 100 90 ...
6 12 1022 1 74 1 1 50 80 ...
> predict(fit,type="lp") #これは線形回帰の係数と思ってます
> predict(fit,type="expected") #これはモデルに使ったデー...
> predict(fit,newdata=lung[1,]) #これはtype="lp"を返しま...
# predict(fit,newdata=lung[1,],type="expected") #生存期...
type="lp"からリスクスコアは出せると思うのですが、log h(t)...
そもそも、理解を間違っているのでしょうか?~
//
- あなたが付けたコメントとオンラインヘルプの説明が微妙に...
type: the type of predicted value.
Choices are the linear predictor ("lp"),
the risk score exp(lp) ("risk"),
the expected number of events given the covariates and...
and the terms of the linear predictor ("terms").
- ありがとうございます.helpを読み違えてました.でも、それ...
# lungのinst==1だけで動作を理解してみました.
x <- subset(lung,subset=inst==1,select=c("time","status"...
cxfit <- coxph(Surv(time, status) ~ age + ph.ecog,x) # C...
all(exp(predict(cxfit,type="lp")) == predict(cxfit,type=...
predict(cxfit,type="terms") # log h(t) = a + b1x1 + b2x2...
predict(cxfit,type="expected") # ここの返り値で思考が止...
ヘルプの「the expected number of events given the covaria...
# で、predict.coxphで1つ目のデータを推定してみました.
y <- x[1,]
predict(cxfit,y,type="lp"); predict(cxfit,type="lp")[1] ...
# predict(cxfit,y,type="risk"); predict(cxfit,type="risk...
predict(cxfit,y,type="terms"); predict(cxfit,type="terms...
# predict.coxphはlp, risk, termをそれぞれ推定することは...
Cox比例ハザードはlog h(t) = a + b1x1 + b2x2 + ... + bnxn ...
- 自己レスです.思い違いを指摘してほしいので書きます.~
目的は「生存時間データを学習データにして未知のデータを判...
1. 特定時間のstatusでCox比例ハザードモデルを作る(イベント...
2. 未知データでpredict.coxphする~
3. リスクを計算して、risk>1ならイベントあり、risk<=1なら...
と理解したのですが、「3」がすごく不安です. -- [[akira]] &...
- 時間tに依存しないのは,h(t) ではなく, h(t)/h0(t) です ...
- ありがとうございます.やっぱり、ちゃんと理解していないで...
かなり混乱しているのですが、~
predict.coxphのtype="risk"は R = b1x1 + b2x2 + ... + bnxn...
考えていた判別は
library(survival)
x <- subset(lung,subset=inst==1,select=c("time","status"...
y <- x[1,]
cxfit <- coxph(Surv(time, status==1) ~ age + ph.ecog,x) ...
predict(cxfit,y,type="risk") # yのstatusが「1」となるリ...
5
1.027764
y$status
[1] 2
#「predict(cxfit,y,type="risk")が1より大きいが、y$status...
と思っていたのですが -- [[akira]] &new{2009-11-17 (火) 21...
- b1x1 + b2x2 + ... + bnxn は lp (linear predictor) で、t...
- surgさん、ありがとうございます.質問内容が「統計学なんで...
扱うデータはtime、status、変数を持ち、上のスクリプトを使...
このとき、「cxfit」はデータ「x」のageとph.ecogを変数にし...
で、今はstatus=2/status=1なので「z>=1ならstatus=2になるリ...
- predict(type="risk")が返す値(exp(lp))はハザード比です...
- ありがとうございます.なんとなく分かってました.これ以上...
**テキストマイニングのネットワーク分析について教えてくだ...
>[[sibu]] (2009-11-16 (月) 15:01:39)~
~
私はネットワーク分析でテキストマイニングを行おうとしてい...
ー structure(.External("dotTclObjv", objv, PACKAGE = "tc...
[tcl] bad screen distance "R_call 01C0BFF8 1.38998e+213...
というエラーが出て分析することができないのです。~
Rについては初心者でこのエラーが何を意味するかわかりません~
どうかこのエラーの意味を教えてください。~
ちなみに今回のネットワーク分析ではigraphとtcltkを使ってい...
//
- 何をどうやってこのエラーがでたかも書いておくとよいと思...
1.38998e+213 などという数値(何を表す数値か知りませんが)...
これだけの情報でも的確なコメントができるスーパーマンもい...
- 質問したものですが、無事分析を終えることができました。...
**Mantel-Haenszel testついて教えてください [#k8ec54d8]
>[[sakura]] (2009-11-15 (日) 18:37:09)~
~
epiRにあるcmh.testとmantelhaen.test(stats)では微妙に結果...
//
- どのようなデータをどのように適用したら,どのような結果...
=====少し時間経過がありまして~
epiR に cmh.test は,ないのじゃないかと思うのですけど,ま...
もう少し勉強した河童
cmh.test {lawstat} R Documentation
The Cochran-Mantel-Haenszel Chi-square Test
Description
This function performs the Cochran-Mantel-Haenszel (CMH)...
procedure tests independence of two variables in each st...
on the levels of a third variable. This procedure is wid...
law cases, in particular, on equal employment and discri...
biopharmaceutical studies (Agresti, 2002; Gastwirth, 198...
mantelhaen.test {stats} R Documentation
Cochran-Mantel-Haenszel Chi-Squared Test for Count Data
Description
Performs a Cochran-Mantel-Haenszel chi-squared test of t...
nominal variables are conditionally independent in each ...
there is no three-way interaction.
単に,オンヘルプをコピーしただけの河童でした。~
=====少し時間経過がありまして~
で,もうちょっとやってみて,両者の違いがこんな具合だと言...
> cmh.test(blackhire
Cochran-Mantel-Haenszel Chi-square Test
data: blackhire
CMH statistic = 145.840, df = 1.000, p-value = 0.000, MH...
0.477, Pooled Odd Ratio = 0.639, Odd Ratio of level 1 = ...
Ratio of level 2 = 0.378, Odd Ratio of level 3 = 0.508, ...
level 4 = 0.357, Odd Ratio of level 5 = 0.209, Odd Ratio...
0.412, Odd Ratio of level 7 = 0.250, Odd Ratio of level ...
> mantelhaen.test(blackhire)
Mantel-Haenszel chi-squared test with continuity correc...
data: blackhire
Mantel-Haenszel X-squared = 145.2466, df = 1, p-value < ...
alternative hypothesis: true common odds ratio is not eq...
95 percent confidence interval:
0.4225550 0.5395037
sample estimates:
common odds ratio
0.4774621
カイ二乗値が 145.84 と 145.2466 の違いなんですね??たい...
=====少し時間経過がありまして~
さてね〜〜〜 プログラムを読んで,見まして,追加しますよ...
つまりは,デフォルトで連続性の補正をするかどうかの違いじ...
mantelhaen.test で,連続性の補正をしないように指定すると...
> mantelhaen.test(blackhire,correct=FALSE)
Mantel-Haenszel chi-squared test without continuity cor...
data: blackhire
Mantel-Haenszel X-squared = 145.8403, df = 1, p-value < ...
alternative hypothesis: true common odds ratio is not eq...
95 percent confidence interval:
0.4225550 0.5395037
sample estimates:
common odds ratio
0.4774621
このような確認は,必要だと思う人(ユーザ)が自分でやるこ...
- cmh.test はlawstat ライブラリでした。申し訳ありません。...
- > 連続性の補正の意味が呑み込めないでいるところです~
検定統計量がとびとびの値しかとらないのを,連続分布である...
- >2×2分割表のイエーツの補正(連続性の修正)
には採用の是非について考え方がいろいろあるようですが、、...
//- http://www.jiji.com/jc/c?g=tha_30&k=2009111600085no -...
- 2009/04/19(日)に「chisq.test()の出力について」という...
Alan AgrestiのCategorical data analysis(second edition)を...
//- 何が言いたいのかよくわからないコメントだし,「コメン...
**行名の参照によるデータフレームのハンドリング [#a8ba0cc6]
>[[きむ]] (2009-11-13 (金) 19:14:43)~
~
少しづつRを使い始めています。~
過去のQ&AやTipsを見たのですが、見つけきれませんでしたので...
~
以下の様な2つのデータフレームがある場合、DB1(の行名)の...
(例の場合、a,c,eだけのデータフレームにしたい)
DB1 <- as.data.frame(matrix(1:10,ncol=2))
rownames(DB1) <- letters[1:5]
DB2 <- as.data.frame(matrix(101:110,ncol=2))
rownames(DB2) <- letters[c(1,3,5,7,9)]
行名ではなく、要素であれば参照する方法はQ&Aで確認できたの...
~
(ついでに、)同様に、行名でDB1に、DB2の値をリスト参照・...
(DB1のa,c,eにDB2の要素値を追加する:EXCELのVLOOKUPのイメ...
~
以上、~
かなり基本的な質問かと思いますが、よろしくお願いいたしま...
//
- ?"%in%" ?match -- &new{2009-11-13 (金) 19:43:27};
- さっそくの回答ありがとうございました。DB3 <- DB1[rownam...
- DB3 <- cbind( DB1[rownames(DB1) %in% rownames(DB2),], D...
- 色々なやり方があるでしょうけど,二つのデータフレームの...
- DB3 <- data.frame( DB1[rownames(DB1) %in% rownames(DB2)...
- merge関数についても調べてみます。とっかかりをいただきあ...
- DB3 <- data.frame( DB1[rownames(DB1) %in% rownames(DB2)...
> DB1
V1 V2
a 1 6
b 2 7
c 3 8
d 4 9
e 5 10
> DB2
W1 W2
c 102 107
g 104 109
i 105 110
a 101 106
e 103 108
> db1 <- data.frame(ID=rownames(DB1), DB1)
> db2 <- data.frame(ID=rownames(DB2), DB2)
> db3 <- merge(db1, db2)
> rownames(db3) <- db3[,1]
> db3 <- db3[-1]
> db3 # 正しい答えは,これです
V1 V2 W1 W2
a 1 6 101 106
c 3 8 102 107
e 5 10 103 108
- たまたま並び順が同じだから、、ということですね?(DB2の...
- かっぱ様ありがとうございます。↑は式欄を入力いただく前に...
- db3 <- merge(db1, db2) ではうまくいかなかったので、db3...
- by は要らないはずですけど(指定した方が間違いはないけど...
- 手抜きをして元の列名が同じ、元のDB1とDB2で実行していま...
**イベント発生時刻のリストからヒストグラムを作りたい [#ce...
>[[motok]] (2009-11-13 (金) 14:37:25)~
~
あるイベントが発生した時刻を "2009.11.13 14:32" の形で1...
このデータファイルから例えば5分刻みのイベント発生頻度を...
mydata <- read.table("test.dat", sep=",")
names(mydata) <- c("event")
attach(mydata)
x <- strptime(event, format="%Y.%m.%d %H:%M")
として文字列を時刻オブジェクト(?)にしたところで立ち往生し...
なにかヒントを頂けるととてもうれしいです。~
# FAQでないことをいのりつつ。~
//
- cut して table で数えて plot したら? -- [[フォルテ]] &...
- て言うかさ、自分が書いたのがちゃんと表示されているかチ...
- HTML タグを使ったつもりなんでしょうね。で,直し方もわか...
- テストデータを適当に作ってやってみる。あなたがファイル...
ランダムな時間データを作る方法を探すのが面倒だったので,S...
as.POSIXct("2009-11-13 12:45:35 JST") + sample(10, 5, re...
のようにするほうが,再現性を保証するためにはよいだろうけ...
> x <- sort(Sys.time()-sample(3600, 2000)-10000, replace...
> head(x) # 以下のようなフォーマットです(このほかにも許...
[1] "2009-11-13 12:45:35 JST" "2009-11-13 12:45:36 JST" ...
[4] "2009-11-13 12:45:39 JST" "2009-11-13 12:45:41 JST" ...
> y <- difftime(x[-1], x[-2000], units="secs") # 時間の...
> head(y)
Time differences in secs
[1] 1 2 1 2 2 1
> hist(y, breaks=c(seq(0, 20, by=1))) # 階級幅はお好きな...
- もろもろ至りませんですみません。どうも有り難うございま...
**変数の多い主成分で、第一主成分への寄与率の大きい変数を...
>[[主成分分析初心者]] (2009-11-10 (火) 17:03:08)~
~
Rコマンダーを使用し、主成分分析を行ってます。手順は、コ...
変数が多くなり(40変数)どれが、有効な変数なのか、苦戦し...
現在は、コマンダーで出た、
Dataset <- sqlQuery(channel = 1, select * from [Sheet3$])
.PC <-
princomp(~変数1+変数2+・・・・+変数40,
cor=TRUE, data=Dataset)
unclass(loadings(.PC)) # component loadings
.PC$sd^2 # component variances
summary(.PC) # proportions of variance
remove(.PC)
をもとに、エディターで、
princomp(~○○, cor=TRUE, data=Dataset)
○○部分を書き換えやっていましたが、40変数より39、38・・・...
出来ましたら、組み合わせ的に、40変数より、変数39の時の計...
//
- 確認したいのですが,40 個の変数があって,その中から 1 ...
まず,毎回正直に主成分分析をする必要はないです。固有値固...
また,データから 1 つずつ変数を抜いて毎回相関係数を求める...
そして,その操作を sapply 関数を使って組み立てればよいで...
1 行でも書けますが,ちょっと馬鹿丁寧に書いてみましょう。
set.seed(123456789) # 毎回同じデータが得られる...
d <- matrix(rnorm(4000), 100) # 100x40のデータ行列(デー...
r <- cor(d) # すべての変数を使って相関係数行列を計算し...
sapply(1:40, # 1 番目から 40 番目の変数に対して順に以下...
function(i) {
r2 <- r[-i, -i] # i 番目の変数を除いたときの相関...
v <- eigen(r2)$value # 固有値ベクトルを v に付値
return(v[1]/39) # 1 番目の固有値を 39 で割ったも...
}
)
答えは以下のようになります
[1] 0.06285943 0.06326298 0.06333256 0.06192062 0.06229...
中略
[37] 0.06249882 0.06298219 0.06305921 0.06190447
なお,このプログラムは,元の 40 個の変数が欠損値を含まな...
上のプログラムの d に,エクセルから読み込んだデータの,余...
でも,これをやることで,重要な変数が選別できるかどうかは...
- 主成分分析で,主成分の個数と分析に含まれる変数を選択す...
まず,全部の変数を使って主成分分析を行う。固有値が1より大...
主成分負荷量を求め(R で計算される loadings は,固有ベク...
有用な変数だけを使い,決めた主成分の個数まで主成分を求め...
どこやらにあった prcomp2 をデフォルトで使うと,固有値1以...
- 早速のお返事ありがとうございます。小生の文章が不十分で...
- 要するに,使う変数の全ての組み合わせ(変数が1の場合を除...
- いつもお返事ありがとうございます。途方もない計算数なの...
- いずれ,このような回答が欲しいといわれるのではないかと...
> パソコンでは、現実的でないのでしょうか~
先ほどの数値どれほどかわかりますか?一回の主成分分析が 1/...
http://aoki2.si.gunma-u.ac.jp/R/index.html にあるプログラ...
繰り返しますが,このプログラムは実行しない方が良いでしょ...
計算時間のことはともかく,このやり方では重要な変数を選ぶ...
set.seed(987654321) # 乱数初期化
nv <- 10 # 変数の個数(ほどほどにしないと,死...
d <- matrix(rnorm(100*nv), 100) # 100xnv データ行列
r <- cor(d) # 元の相関係数行列
var.no <- paste("V", 1:nv, sep="") # 変数番号(どの変数...
n <- 2^nv # 組み合わせの数
bincomb <- matrix(FALSE, nrow=n, ncol=nv) # 組み合わせの...
for (j in 1:nv) {
bincomb[, j] <- rep(c(rep(FALSE, n/2^j), rep(TRUE, n/2^...
}
bincomb <- bincomb[-1,] # どの変数も使われない場合を除く
n <- n-1
result <- numeric(n) # 結果の保存
vars <- character(n) # 分析に使った変数名の保存
for (i in 1:n) {
sel <- bincomb[i,] # どの変数が使われたかの論理ベクトル
vars[i] <- paste(var.no[sel], collapse=",") # 変数名記録
if (sum(sel) >= 2) {
result[i] <- eigen(r[sel, sel])$val[1]/sum(sel) # 結果...
}
else {
result[i] <- NA
}
}
RESULT <- data.frame(vars, result) # 結果をデー...
o <- order(RESULT$result, decreasing=TRUE) # 寄与率の大...
RESULT[o,] # 表示
以下のようなものが1023行も出ます
vars result
72 V4,V7 0.6079310385256367
260 V2,V8 0.5864172084814746
514 V1,V9 0.5793448970957535
36 V5,V8 0.5781238621539512
272 V2,V6 0.5730279383691933
:
959 V1,V2,V3,V5,V6,V7,V8,V9,V10 0.1507698641888030
1015 V1,V2,V3,V4,V5,V6,V8,V9,V10 0.1506910833840152
1023 V1,V2,V3,V4,V5,V6,V7,V8,V9,V10 0.1392082155345871
以下ゴミの行が変数の個数分続く
- あ〜〜,質問のタイトルだけ見ていて,「第一主成分への寄...
- 大変有難うございます。もやもやが、すっきりしました。業...
**R + eclipse + StatET のデバッグについて [#k90c227b]
>[[初心者]] (2009-11-08 (日) 11:41:34)~
~
R + eclipse + StatET を導入して、無事、eclipse 上で R の...
ブレークポイントを置いてデバッグするということはできませ...
(ブレークポイントはおけるのですが、デバッグモードで R を...
これは設定が足りないだけなのでしょうか、それともそこまで ...
R : 2.10.0, eclipse : 3.5.1, StatET : 0.8.0~
よろしくお願いします。~
//
**階層型データフレームの作成 [#s05e377d]
>[[きむ]] (2009-11-05 (木) 19:38:58)~
~
かなりの初心者です。~
windowsXPでRのver2.9.0を仕様しています。~
~
データフレームのラベル設定に関する質問です。~
いくつかのデータフレームを結合して一つのデータフレームに...
~
イメージしているのは、例えばライブラリ[kohonen]のサンプ...
spectra,composition, temperature, trainingといったカテゴ...
(data(nir)とすることで、nir$spectra等でのハンドリングが...
~
例えば、以下のA、BというデータフレームからCを作成する場合...
(ex C$A,C$Bという形でハンドリングしたい)~
(データセットのラベルはC$A.a, C$A.b, のように)~
~
A <- data.frame(a=c(1, 2, 3), b=c(0, 0, 0))~
B <- data.frame(a=c(4, 5, 6), b=c(1, 1, 1))~
C <- cbind( A, B )~
~
単純に上記のようにデータフレームを作成・結合し、paste関数...
(そもそも上記「nir」はdata関数が使えますが、上記で作成し...
(←作成したデータフレームをデータセットとして設定しないと...
~
以上、~
かなりまとまりのない質問ですみません。要は「nir」のような...
//
- えーと、見てみたところnirはdata.frameではないわけですが…
library(kohonen)
data(nir)
class(nir)
nirのようなlistがつくりたい、ということであれば、
A <- data.frame(a=c(1, 2, 3), b=c(0, 0, 0))
B <- data.frame(a=c(4, 5, 6), b=c(1, 1, 1))
(C <- list(A=A, B=B))
でよろしいかと。
それとも、きむさんが必要としてるのは
C <- cbind(A, B)
names(C) <- c("A.a", "A.b", "B.a", "B.b")
みたいなものなのかな。
nirのような「list」が得たいのか、C$A.a, C$A.b…のようなラ...
- 早々のアドバイス、ありがとうございます!「nir」はlistで...
- すみません。上記は、nir <- as.data.frame(nir)とした「ni...
- もう,片付いた問題なのかしらねども,C を作るのに cbind ...
> A <- data.frame(a=c(1, 2, 3), b=c(0, 0, 0)) # コメント...
> B <- data.frame(a=c(4, 5, 6), b=c(1, 1, 1))
> C2 <- data.frame(A, B) # データフレームの結合には,dat...
> C2 # のように,同じ名前の列名は修飾されるの...
a b a.1 b.1
1 1 0 4 1
2 2 0 5 1
3 3 0 6 1
> C2$a # C2$a と
[1] 1 2 3
> C2$a.1 # C2$a.1 は,別物なんだ
[1] 4 5 6 # でもね,その違いは些細なものなんだから...
**任意のX軸と曲線との交点(Y値)の値の算出 [#n2209c51]
>[[coro]] (2009-10-31 (土) 01:50:23)~
~
初心者です。このような質問をするのは恥ずかしい限りです。~
windowsXPでversion2.3.0を使用しております。~
~
作成した曲線と任意のX軸と曲線との垂直交点の値(Y値)を求...
例えば、
V <- c(84,80,76,68,59,50,44,38,35,33,32,34,37,41,49,63,7...
plot(V,type="b")
abline(v=12.5)
上記にてX軸12.5のときのY値を算出するにはどのようにすれば...
//
- まずお聞きしたいのは,「作成した曲線」と仰っているが,...
後者の場合には,なにか特別の曲線を意図しているのでしょう...
- さっそくのお返事ありがとうございます。Y値を予測したいと...
- 「Y値を予測したい」ということは最初の質問でわかっていま...
- お返事ありがとうございます。あるソフトを用いて上記の値...
- 「求める方法を探しております」と書いているので,「ある...
- 上記のコードだと、Rではxに1-18 (Vの数値の個数) をとり、...
- ↑いや,だからね,「そのソフトでどういう式でフィッティン...
- なかなか,話がスムーズに進まないので,こんな回答でも。...
> x <- 1:18
> V <- c(84,80,76,68,59,50,44,38,35,33,32,34,37,41,49,63...
> plot(x, V,type="p")
> ans <- spline(x, V, n=100)
> lines(ans, col="red")
> spline(x, V, n=100, xout=12.5)
$x
[1] 12.5
$y
[1] 35.44528
> library(splines)
> ans2 <- interpSpline(x, V)
> predict(ans2, 12.5)
$x
[1] 12.5
$y
[1] 35.44523
attr(,"class")
[1] "xyVector"
&ref(spline.png);
- 引越しでネット回線使えず返事遅れて申し訳ありませんでし...
**並列計算の計算経過の進行具合を表示させるには [#b0600927]
>[[Saito]] (2009-10-29 (木) 14:57:19)~
~
いつもお世話になっています。~
今日は並列計算中の途中経過を表示(例えば全体の何%終わった...
M <- NULL
for (i in 1 : 1000) {
M[i] <- rnorm(1, i, 10)
cat(paste((i/1000)*100, "%"), "\n")
}
とでもすれば、今、全体の何%ほど完了しているのか見ることが...
library(rlecuyer)
library(snow)
f <- function(n){
a <- rnorm(1, n, 1)
b <- rnorm(1, n, 2)
return(c(a=a, b=b))
}
cl <- makeSOCKcluster(c("localhost", "localhost"))
clusterSetupRNG (cl,seed=12)
clusterExport(cl, "f")
system.time(ff <- parSapply(cl, 1:10,
function(x){return(f(1))
cat(paste((x/25)*100, "%"), "\n")
})
)
計算結果はきちんと保存されていくのですが、進行具合が上手...
どなたか、このような場合に上手く進行具合を表示させる方法...
なお、環境はR-2.10.0、WindowsXP(SP3)です。どうぞよろしく...
//
- ぱっとみ、catがreturnのあとになってるからな気がします。...
- 返信ありがとうございます。catとreturnの場所を変えてみま...
system.time(ff <- parSapply(cl, 1:10,
function(x){
cat(paste((x/25)*100, "%"), "\n")
return(f(1))
})
)
- makeSOCKclusterの引数にoutfile=""を加えましょう。The op...
- なるほど。確かにこうすれば、ワーキングディレクトリにcat...
cl <- makeSOCKcluster(c("localhost", "localhost"), outfi...
ただ、欲をいえば、合計が100%になるような表示だと見易くて...
どうやらxの関数だと上手くいかないので今は、
system.time(ff <- parSapply(cl, 1:10,
function(x){
cat(paste((1/10)*100, "%"), "\n")
return(f(1))
})
)
のようにしていますが、これだとcat.txtの中身は
starting worker for localhost:10187
Type: EXEC
要求されたパッケージ rlecuyer をロード中です
Type: EXEC
Type: EXEC
10 %
10 %
10 %
10 %
10 %
となってしまい、10%の数を数えなければ進行状況がわかりませ...
まぁこのくらいの数なら数えればいいんですが、もっと多くな...
これが自動で合計100%表示になるような処理の仕方があればご...
- すみません、自己レスです。xの関数だと上手くいかなかった...
cl <- makeSOCKcluster(c("localhost", "localhost"), outfi...
clusterSetupRNG (cl,seed=12)
clusterExport(cl, "f")
system.time(ff <- parSapply(cl, 1:10, function(x){
cat(paste((x/10)*100, "%"), "\n")
return(f(1))
})
)
そのcat3.txt内の出力結果。
starting worker for localhost:10187
Type: EXEC
要求されたパッケージ rlecuyer をロード中です
Type: EXEC
Type: EXEC
60 %
70 %
80 %
90 %
100 %
ただ、60%からスタートしているのが気にかかります。片方のコ...
system.time(ff <- parSapply(cl, 1:100,
function(x){
cat(paste((x/100)*100, "%"), "\n")
return(f(1))
})
)
結果。-- [[Saito]] &new{2009-10-29 (木) 17:44:38};
starting worker for localhost:10187
Type: EXEC
要求されたパッケージ rlecuyer をロード中です
Type: EXEC
Type: EXEC
51 %
<snip>
50 %
100 %
- outfileはクラスタ(シングルコア)を想定してた時代の物(...
require(snow)
cl <- makeCluster(2)
clusterSetupRNG (cl,seed=12)
pbar.open<-function(cl)
{
dummy<-winProgressBar(paste(cl$host,cl$rank),"0%",0,10...
close(dummy) # これはおまじない
assign("pb",
winProgressBar(paste(cl$host,cl$rank, "!!下にも...
"0%",
0, 100, 0),
envir=.GlobalEnv)
NULL
}
pbar.close<-function(cl)
{
close(get("pb",envir=.GlobalEnv))
NULL
}
clusterExport(cl, "pbar.open")
clusterExport(cl, "pbar.close")
f <- function(n){
a <- rnorm(1, n, 1)
b <- rnorm(1, n, 2)
return(c(a=a, b=b))
}
clusterExport(cl, "f")
dummy<-clusterApply(cl,cl,pbar.open)
ff <- parSapply(cl,
1:10,
function(x){
setWinProgressBar(pb,
(x/10)*100,
label=paste((x/10)*...
Sys.sleep(5)
return(f(1))
})
clusterCall(cl,pbar.close)
stopCluster(cl)
おまじない以外は自分で調べてみてください.
- すごいですね!まさかこんな風に表示できるとは思っていま...
**出力された結果のコピー&ペースト [#k69b78ca]
>[[R使用開始3日目]] (2009-10-29 (木) 13:24:28)~
~
Rを使用して3日目の初心者です。よろしくお願いします。~
~
得られたデータについて、Rでクロス集計を行い、その結果をEx...
data<-read.table("sample.csv", header=T, sep=",")
data[,3] <- factor(data[,3], levels=1:5, labels=c("AG", ...
data[,2] <- factor(data[,2], levels=1:2, labels=c("男", ...
cross(2, 3, data, latex=F)
以上、クロス集計はできたのですが、その結果をRコンソールか...
person
sex AG CO EX NEUR 合計
男 7 6 7 8 28
% 25.0 21.4 25.0 28.6 100.0
女 4 9 5 4 22
% 18.2 40.9 22.7 18.2 100.0
合計 11 15 12 12 50
% 22.0 30.0 24.0 24.0 100.0
この表示のまま、つまり、各セルに「男」や「合計」、「24.0...
~
環境は、「Windows XP sp3」「R 2.9.2」です。~
~
出来る範囲で色々と試してみたのですが、元々プログラム言語...
~
どうぞ、よろしくお願いします。~
//
- [[エクセルへ値コピー :http://www.okada.jp.org/RWiki/?%B...
- おかしいですね。コンソール出力にはタブコードがちゃんと...
- 河童の合羽さま 早速の返信ありがとうございます。 -- [[R...
- Windows の Excel 2003 の場合,R のコンソール出力に含ま...
Excel にペースト後,「データ」→「区切り位置」→「カンマや...
それも面倒な話なので,cross 関数の output 引数でファイル...
- >surg様 ありがとうございます。教えていただいたように...
- 河童様に教えていただいた方法で上手くいきました。ありが...
**text 関数で文字列が描けない場合がある [#g7e6a939]
>[[河童も驚いた]] (2009-10-28 (水) 22:57:27)~
~
以下のようなプログラムで,abcde しか描かれない。~
plot((1:10)^2)
text(4, 50, "abcde")
text(4, 40, " fghij")
text(4, 30, "xyz 123")
text(c(4, 6, 8), 20, paste("Var", 1:3))
文字列に空白が含まれる場合には,描かれない(描かれている...
> sessionInfo()
R version 2.10.0 Patched (2009-10-27 r50238)
i386-apple-darwin9.8.0
locale:
[1] ja_JP.UTF-8/ja_JP.UTF-8/C/C/ja_JP.UTF-8/ja_JP.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets me...
なんということだ。
//
- すべて描かれますが? -- &new{2009-10-28 (水) 23:35:46};
- なるほど。Leopard なら描けますね。Snow Leopard だったか...
- 雪豹では描けませんね。再現しました。 -- &new{2009-10-3...
- たしかに再現しますね。Snow Leopard上特有のバグ...かな -...
- 雪豹を使っています。R 2.9.2 GUI 1.29 Tiger build 32-bit...
- http://r.research.att.com/ にある,R-2.10-branch-leopar...
- 別のマシンで確かめましたけど,やはり表示されませんね。...
- R.app では無く R64.app もですか? -- &new{2009-11-04 (...
- どちらもです。 -- [[眠い,河童の屁]] &new{2009-11-04 (...
R version 2.10.0 Patched (2009-11-02 r50295)
:途中省略
[R.app GUI 1.30 (5510) x86_64-apple-darwin9.8.0]
- フォントまわりが変わったと言うのは見ましたが, 実機が無...
- フォントの重複を解消しても、変化は見られず。文字自体が...
- フォントの問題と言うのは不適切でした. フォントシステム...
- 今,新しいバージョンをダウンロードして実験したときに,...
R version 2.10.0 Patched (2009-11-03 r50305), Mac OS X 1...
> plot(1:10)
> text(5, 5, "123 def
+ ")
- R 2.10.0 GUI 1.30 Leopard build 64-bit (5512)で、やはり...
- ↑は、R 2.10.0 Patched (2009-11-03) leopard Nov 4 02:15...
- plot(1:10)としてstrwidth("123_abc");strwidth("123 abc")...
- 以下のようなことでよいのでしょうか。 -- [[寒い朝の河童...
> plot(1:10)
> metric <- function(str) {
+ cat("argument:", deparse(substitute(str)), "strwidth:...
+ "strheight:", strheight(str), "\n")
+ }
> metric("123_abc") # 描画される
argument: "123_abc" strwidth: 1.436108 strheight: 0.2790...
> metric("123 abc") # 描画されない
argument: "123 abc" strwidth: 1.375176 strheight: 0.2790...
> metric("123 abc\n") # 描画される
argument: "123 abc\n" strwidth: 1.375176 strheight: 0.72...
> metric("あいう_えお") # 描画される
argument: "あいう_えお" strwidth: 2.006757 strheight: 0....
> metric("あいう えお") # 描画されない
argument: "あいう えお" strwidth: 1.945824 strheight: 0....
> metric("あいう えお\n") # 描画される
argument: "あいう えお\n" strwidth: 1.945824 strheight: ...
- すると計算上は描画しているので, OSX10.6上の問題のような...
- 最初のマシンは MacBook(ノートパソコン)、次に試したの...
- これ以上は実機が無いとつかみようが無いです. もし, Helve...
- 「もし, Helveticaでも同じなら」というのは,どのように確...
- .Rprofileを消した日本語が出ない状態の事です(本当のデフ...
- ちょうど,それかなと思ってやったところでした。ついでに...
デフォルト状態(.Rprofile がない状態)では,半角を含む文...
今のような流れになることがわかっていれば,最初に言ってお...
ということは,件のスレッドの .Rprofile(profile-1)に問題...
- .RProfileとは無関係だと思いますフォントを指示している...
- どうも,私の手には負えないようです。今までのアドバイス...
- いえ, グリフまわり(現状放置したままだったので...)かなぁ...
- Hiragino * を Osaka にすればよいのでしょうか。やってみ...
- ありがとうございます. Osakaで出るのであれば日本語の問題...
- VLGothicをとってきてFontBookで追加, text(1,1,"ABC D",fa...
**正規分布乱数で上限と下限を設定したい [#w6ec7340]
>[[akira]] (2009-10-28 (水) 18:10:27)~
~
いつもありがとうございます.乱数について教えて下さい.~
~
測定値のシミュレーションをしようとしています.~
測定値は100個程度の正規分布を想定していますが、測定限界の...
この状態で、データを測定値に応じて送別化して、各層でSDを...
~
rnormで平均とSDを指定した正規分布をとれますが、上限と下限...
そもそも、上限と下限がある時点で正規分布でないのですが、...
~
良い方法をご存じないでしょうか?~
//
- 有効域の外を削るのはダメでしょうか -- [[S]] &new{2009-1...
my.rnorm <- function(n,mean,sd,lower,upper){
x <- vector()
while(length(x)<n){
x <- c(x,rnorm(n,mean=mean,sd=sd))
x <- x[x>lower & x<upper]
}
return(x[1:n])
}
> my.rnorm(100,30,15,0,60)
[1] 18.737474 14.982537 12.871060 35.218585 46.118110 ...
[8] 43.737251 17.558190 37.044597 28.312282 27.937564 ...
[15] 31.474119 39.678433 22.517348 1.820924 21.478013 ...
:
[85] 27.630476 53.156905 10.630811 32.732432 27.359767 ...
[92] 14.693563 56.358438 17.895591 34.016179 6.088306 ...
[99] 30.521995 29.281466
測定の性質にもよると思いますが、上限下限の外側は、正規分...
- 「上限が0、下限が60,000」とはおかしな話ですが,逆なんで...
希望する範囲外の乱数を除くと,切り詰められた分布になるの...
正規乱数を生成して,その最小値と最大値を希望の最小値と最...
> set.seed(999)
> x <- rnorm(10000) # 標準正規乱数でよい
> r <- range(x) # 発生された乱数の最小値・最大値を求...
> w <- diff(r) # 範囲を求めて
> MIN <- 100 # 希望する最小値
> MAX <- 60000 # 希望する最大値
> y <- (x-r[1])/w*(MAX-MIN)+MIN # 範囲が [MIN, MAX] にな...
> summary(y)
Min. 1st Qu. Median Mean 3rd Qu. Max.
100 23730 29370 29470 35320 60000
- 切断正規分布という分布で、msmパッケージにtnormとして実...
- 文字通り,打ち切られた正規分布で,どこで打ち切るかをう...
> set.seed(1000)
> library(msm)
> x <- rtnorm(10000, mean=30000, sd=20000,lower=0, upper...
> summary(x)
Min. 1st Qu. Median Mean 3rd Qu. Max.
7.26 18600.00 29880.00 30030.00 41630.00 59980.00
> hist(x)
&ref(rtnorm.png);
- いろいろなご意見ありがとうございます.~
扱うデータは検出限界外が限界値に詰め込まれるため、上下限...
ご提案の3手法はシチュエーションで使い分けれそうです.今か...
他の分布指定があれば、また教えてください. -- [[akira]] &n...
- 検出限界外が限界値に詰め込まれるなら、削るのではなく、n...
- ありがとうございます.上下限の切り詰めをモデルに入れると...
**Anova関数 (carパッケージ) の結果の取り出し [#vc706255]
>[[aor]] (2009-10-27 (火) 00:25:10)~
~
いつもお世話になっております。~
~
carパッケージのAnova関数を利用し、以下のようなコードで多...
この結果の一部を取り出したいのですが、どのようにすればよ...
library(car)
hsb2 <- read.table('http://www.ats.ucla.edu/stat/R/faq/h...
result <- Manova(lm(cbind(write,read)~female+math+scienc...
summary(result)
このコードを実行すると、例えば
Multivariate Tests: female
Df test stat approx F num Df den Df ...
Pillai 1 0.169885 19.851322 2 194 1...
Wilks 1 0.830115 19.851322 2 194 1...
Hotelling-Lawley 1 0.204653 19.851322 2 194 1...
Roy 1 0.204653 19.851322 2 194 1...
---
といったような多変量統計量が出力されます。このうち、"test...
str(result), あるいはstr(summary(result))で見ても、”Sum o...
~
結果を別のベクトルオブジェクトに入れておくと後から使いや...
環境はR2.9.2, Windows Vistaです。~
//
- 多変量統計量は出力するだけで返してはくれないので、1) ca...
- 自分はstrsplit(capture.output(summary(result))," ")[hog...
- ご回答ありがとうございます。おかげさまで解決できました...
**因子分析について [#i0ac487a]
>[[hemuhemu]] (2009-10-26 (月) 18:26:30)~
~
いつもお世話になっております。~
クロス集計を行った結果で因子分析を行いたいのですが、「こ...
どういう場合に上記のエラーが帰ってくるのか、また、何か対...
エラーメッセージ、因子分析について調べてみたのですが、よ...
Rは、
R version 2.9.1
i386-pc-mingw32
で、windowsXPを使用しております。~
~
どうぞよろしくお願い致します。~
//
- 「クロス集計を行った結果で因子分析」の部分の意味がよく...
- 説明不足で申し訳ありません。~
以下のような集計データなのですが。~
a b c d e f g h i j
1 1 0 0 0 12 0 0 0 5 0
2 0 0 2 0 0 0 2 0 0 0
3 0 0 0 0 0 0 0 1 0 1
4 0 8 0 0 2 0 0 0 0 0
5 0 0 1 0 0 0 7 0 0 0
6 1 0 0 0 0 0 0 0 2 0
7 0 0 0 2 0 0 0 0 0 1
8 0 2 0 0 0 0 1 0 9 0
9 0 0 10 0 0 0 0 0 0 0
10 0 0 0 0 3 4 0 0 0 0
-- [[hemuhemu]] &new{2009-10-26 (月) 18:55:41};
- 「説明不足」の基準自体が違うようですね。そのデータで,...
因子分析もバリマックス回転をしたかとかプロマックス回転を...
- 上記のデータでは項目数とケース数が同じなのでfactanalで...
- 上のデータは,「集計表」でしょう?集計表を factanal の...
**ワイルドカードってありますか? [#c5ca135e]
>[[ひどい初心者]] (2009-10-25 (日) 18:14:23)~
~
R言語にワイルドカード(どんな文字列にもマッチする記号)の...
//
- [[Rにおける正規表現:http://www.okada.jp.org/RWiki/?R%20...
**ヒストグラムの"Histgram of ○○○"を消す方法 [#w487aedb]
>[[tefu]] (2009-10-23 (金) 16:27:11)~
~
非常に初歩的なことだと思うのですが、調べてもわからなかっ...
x <- rnorm(100)
hist(x)
title("abc")
上記のようなプログラムを実行するとヒストグラムのタイトル...
//
- ?hist でマニュアル読んでください。hist(x,main="")で消せ...
- すみません。ありがとうございました。 -- &new{2009-10-2...
- hist のマニュアルとともに,title のマニュアルも読むべき...
title: Its first four principal arguments can also be use...
hist(x, main="")
title("abc")
ではなく,
hist(x, main="abc")
とするほうがよいことがわかります。 -- [[おそかりし?河童の...
- ↑まあ、気がついてはいたがとりあえずお望みをかなえてあげ...
**ラベル名の追記・変更 [#kd6e544b]
>[[Ackin]] (2009-10-19 (月) 17:22:50)~
~
例
> A <- data.frame(a=c(1, 2, 3), b=c(0, 0, 0))
> AA <- data.frame(aaa=A[1], bbb=c(4, 5, 6))
> AA
a bbb
1 1 4
2 2 5
3 3 6
上記例で、AAに既存データフレームのデータをもってきて、ラ...
//
- AA <- data.frame(aaa=A[, 1], bbb=c(4, 5, 6)) とすればよ...
「既存データフレームのラベル名を変更」は colnames 関数を...
- 即答ありがとうございました -- [[Ackin]] &new{2009-10-19...
**重み付回帰分析 (分散分析) [#t1d31b4a]
>[[桜]] (2009-10-16 (金) 23:08:37)~
~
x1,x2 というふたつのダミー変数を用いて、回帰分析を行いま...
x1, x2 の値によってできる4つのグループ内の分散の逆数を重...
何を間違えているのかわかりません。ご教示いただけたら幸い...
よろしくお願いします。~
~
でっちあげの例:~
x1 <- rep(c(0,1),c(8,18))
x2 <- rep(c(0,1,0,1),c(3,5,10,8))
set.seed(190)
y <- c(rnorm(3,10,2),rnorm(5,11,4),rnorm(10,12,3),rnorm(...
w <- 1/ c(rep(var(y[1:3]),3), rep(var(y[4:8]),5), rep(v...
~
lm(y~x1*x2)
Call:
lm(formula = y ~ x1 * x2)
Coefficients:
(Intercept) x1 x2 x1:x2
10.202 3.143 1.070 -5.014
~
lm(y~x1*x2, weights=w)
Call:
lm(formula = y ~ x1 * x2, weights = w)
Coefficients:
(Intercept) x1 x2 x1:x2
10.202 3.143 1.070 -5.014
//
- 係数は結局グループごとの平均なので (10.202 がグループ...
- フルモデルだからそうなるでしょう。主効果だけだと係数は...
> lm(y~x1+x2)
Call:
lm(formula = y ~ x1 + x2)
Coefficients:
(Intercept) x1 x2
12.4062 0.2772 -2.4567
> lm(y~x1+x2, weights=w)
Call:
lm(formula = y ~ x1 + x2, weights = w)
Coefficients:
(Intercept) x1 x2
11.857 1.220 -2.129
- 本多さま、へへへの河童さま、ありがとうございました。~
少し "R" に関する質問からは遠ざかってしまいますが、Std. E...
> summary(lm1)$coeff
Estimate Std. Error t value Pr(>|t|)
(Intercept) 10.202096 1.991574 5.1226306 3.916815e-05
x1 3.142593 2.270743 1.3839488 1.802549e-01
x2 1.069892 2.519164 0.4247011 6.751793e-01
x1:x2 -5.014352 3.003911 -1.6692745 1.092330e-01
(Intercept) は x1==0 & x2==0 の時の y の平均なのですが、...
cbind(rep(1,length(x1)),x1,x2,x1*x2)
などを見てみましたが、よく分かりませんでした。
mean(y[x1==0 & x2==0])
[1] 10.20210
> sd(y[x1==0 & x2==0])
[1] 2.927438
- > Std. Error である 1.9915714 という値は y[x1==0 & x2=...
ありません。Std. Error は,推定値の標準誤差です。どうやっ...
- へ?河童さま、ありがとうございました。 -- [[桜]] &new{2...
**日々データの季節変動抽出 [#b2ea4847]
>[[森の熊五郎]] (2009-10-15 (木) 12:02:28)~
~
ts関数を使う場合、毎月・または毎四半期のデータを入力する...
//
- 追加です。日々の解析はむりでも、週次での分析をすすめた...
- > 日々のデータでの入力がts関数では出来ず~
どうも,妙なことをおっしゃる~
時系列分析はよく知らないけど,ts 関数には周期を指定する f...
以下のような架空の,週を周期とするデータを作成して,decom...
> set.seed(999)
> (x <- jitter(rep(c(1, 2, 3, 4, 2, 0, -1), 10), amount=...
[1] 0.77814275 2.16612144 2.18933138 4.70526246 2....
[7] -0.78710601 0.16191381 1.78154483 3.23894478 3....
途中省略
[61] 2.98281213 0.55632492 -0.54765611 1.88545396 2...
[67] 4.72009442 2.73918408 -0.19494635 -1.33750080
> (y <- ts(x, frequency=7))
Time Series:
Start = c(1, 1)
End = c(10, 7)
Frequency = 7
[1] 0.77814275 2.16612144 2.18933138 4.70526246 2....
[7] -0.78710601 0.16191381 1.78154483 3.23894478 3....
途中省略
[61] 2.98281213 0.55632492 -0.54765611 1.88545396 2....
[67] 4.72009442 2.73918408 -0.19494635 -1.33750080
> (z <- decompose(y))
$seasonal
Time Series:
Start = c(1, 1)
End = c(10, 7)
Frequency = 7
[1] -0.7309683 0.5398884 1.1755496 2.2610667 0.8231...
[7] -2.3547226 -0.7309683 0.5398884 1.1755496 2.2610...
途中省略
[61] 0.8231408 -1.7139546 -2.3547226 -0.7309683 0.5398...
[67] 2.2610667 0.8231408 -1.7139546 -2.3547226
$trend
Time Series:
Start = c(1, 1)
End = c(10, 7)
Frequency = 7
[1] NA NA NA 1.551990 1.463957 1.4090...
[9] 1.329658 1.304173 1.413051 1.419239 1.532508 1.4031...
途中省略
[57] 1.644785 1.678867 1.847450 1.884422 2.136606 2.0837...
[65] 2.069433 1.962109 1.849274 NA NA NA
$random
Time Series:
Start = c(1, 1)
End = c(10, 7)
Frequency = 7
[1] NA NA NA 0.892205746...
[6] -0.456378671 0.008654032 -0.504096936 -0.088001448...
途中省略
[61] 0.023065117 0.186495890 -0.289730356 0.512184743...
[66] -0.147371514 0.609753665 NA NA...
$figure
[1] -0.7309683 0.5398884 1.1755496 2.2610667 0.82314...
$type
[1] "additive"
attr(,"class")
[1] "decomposed.ts"
> plot(z)
&ref(ts-plot.png);
- ありがとうございます。y =ts(x, start=c(2009,10,9),frequ...
- 「日々のデータでの入力がts関数では出来ず」というのが「S...
- 言葉不足ですみません。年、月、日という3つのパラメータ...
- decompose の横軸に日付を目盛りたいというわけですか?通...
- plot.decomposed.ts が頑固者で,,, -- [[屁の河童]] &ne...
plot(z, xlab="")
axis(1, at=1:70, labels=as.Date(1:70*7, origin="2009/04/...
line=7.5)
&ref(ts-plot2.png);
- 毎度毎度、言葉が足りなく、すみません。ご指摘の通りです...
**作図でx軸の線だけ描画する方法 or 複数のグラフの作成 [#v...
>[[aor]] (2009-10-10 (土) 14:50:22)~
~
いつもお世話になっております。
par(bty = "l")
plot(1:10, xaxt = "n")
上のようなグラフで、y軸の目盛を描画せず、x軸のラインだけ...
par(bty = ...)
での指定は2本以上描画されますし、また例えば
plot(1:10, axes = F)
axis(1, labels = F)
等であとからaxix関数を使用しても、x軸の左右の余白 (?) が...
以下は補足ですが、最終的には
par(mfrow = c(1, 2))
par(mar = c(4,2,4,0))
par(oma = c(4,4,4,4))
par(bty = "l")
plot(1:10, xlab = "condition1")
plot(1:10, xlab = "condition2")
というように複数のグラフをつなげて作成し、condition2のグ...
よい方法をご存知の方、いらっしゃいましたらよろしくお願い...
環境はWindows Vista, R2.9.2です。~
//
- まあいろんなやり方があるでしょうが、
X <- 1:10
plot(X, axes = FALSE)
axis(1, labels = FALSE, tck = 0, at = range(X))
とすれば、Xの範囲に線が引かれます。
正確にはXの最小・最大点にtickを打つように指定しつつ、tick...
Xの範囲に依存せず線を引きたい範囲が決まっているなら、
X <- 1:10
LIM <- c(-10, 15) # 線を引きたい範囲
plot(X, axes = FALSE, xlim = LIM)
axis(1, labels = FALSE, tck = 0, at = LIM)
とすればOKでは。~
あんまりスマートではない気がしますけれど。 -- &new{2009-...
- 蛇足というか,余計なお世話というかpar は複数の設定を一...
par(mfrow = c(1, 2), mar = c(4,2,4,0), oma = c(4,4,4,4),...
- ありがとうございます。 以下のようなコードで実現できまし...
par(mfrow = c(1, 2), mar = c(4,0,4,0), oma = c(4,4,4,4),...
LIM <- c(0.5, 10.5)
plot(1:10, xlim = LIM, xlab = "Condition1")
plot(1:10, axes = F, xlim = LIM, xlab = "Condition2")
axis(1, labels = F, tck = 0, at = LIM) # まずラインを引...
axis(1) # 目盛を描画
ご指導感謝いたします。-- [[aor]] &new{2009-10-10 (土) 22:...
**信頼区間のプロットの方法について [#i11953ef]
>[[gonzu]] (2009-10-05 (月) 18:48:51)~
~
いつもありがとうございます.~
~
1000回同じ条件で繰り返しを行い、その95%の信頼区間を求めて...
~
mymonte <- function(n) {
count <- 0
for(i in 1:1000) {
X <- runif(704)*50
Y <- runif(704)*50
XY <- data.frame(X, Y)
XY <- data.frame(XY, Dataset[, c(2, 12)])
w <- owin(c(0, 50), c(0, 50))
Rpp <- as.ppp(XY[, 1:2], w, fatal=FALSE)
mark1 <- XY$DBH.02.
mark2 <- XY$sort
Rpp1 <- Rpp %mark% mark1
Rpp2 <- Rpp1 %mark% mark2
KC <- Kmulti(Rpp2, (mark1 <= 5) & (mark1 >= 1) & (ma...
(mark1 > 5) & (mark2 == "シラキ"), correction=...
par(new=TRUE)
count <- count+1
}
return(count/n)
}
plotmeans(sqrt(iso/pi)-r ~r, connect=F, data=KC)
上記のよう実行しますと、平均値だけがプロットされて信頼区...
どなたかご教授お願いいたします。~
~
使用環境は~
R version 2.9.2 (2009-08-24)
i386-pc-mingw32
です.よろしくお願いいたします.~
//
- 人に見てもらおうという場合には,プログラムの書き方にも...
mymonte はどこで使うのですか?Dataset というのは何ですか...
そのままコピーして R コンソールにペーストしたら動く(好ま...
- plotmeans は gplots にあることはわかりました。owin, as....
- ご回答ありがとうございます。説明が足らず申し訳ありませ...
mymonteを後付するまでは
for(i in 1:1000){
X<-runif(704)*50
Y<-runif(704)*50
XY<-data.frame(X,Y)
XY<-data.frame(XY,Dataset[,c(2,12)])
w<-owin(c(0,50),c(0,50))
Rpp<-as.ppp(XY[,1:2],w,fatal=FALSE)
mark1<-XY$DBH.02.
mark2<-XY$sort
Rpp1<-Rpp %mark% mark1
Rpp2<-Rpp1 %mark% mark2
KC<-Kmulti(Rpp2,(mark1<=5)&(mark1>=1)&(mark2=="ヤブムラ...
(mark1>5)& (mark2=="シラキ"),correction="isotropic")
par(new=T)
plot(KC, sqrt(iso/pi)-r ~ r,ylim=c(-5,5)) # L関数のグラフ
}
としていました。これを実行しますと、KCが回数を重ねるたび...
- 「そのままコピーして R コンソールにペーストしたら動く(...
> mymonteは私が指定したのですが、この場合必要ないという...
ですから,それをどうやって使うのかと聞いているのです。mym...
**read.tableの文字列の読み込みについて [#mdb9a6c4]
>[[きりん]] (2009-10-05 (月) 11:09:19)~
~
下の方と同様な内容で恐縮ですが、質問させてください.~
(私もいつも同じような問題で悩むものですから)~
~
下の方と同様の例ですが、
# testdata.txt
"文字","英数","値1","値2"
"1","12345","a",10,1.4142
"2","00123","b",100,1.732
"3","02","0",1000,3.1415
(私の扱うフィルも列名に【”】が付いています.)~
これを、
read.table(file="testdata.txt", sep=",", as.is=T)
で読み込むと、
文字 英数 値1 値2
1 12345 a 10 1.4142
2 123 b 100 1.7320
3 2 0 1000 3.1415
のように、読み込んでしまうのですが、ヘルプを読むとデフォ...
(「as.is=T」をつけなければファクターに変換されますが.こ...
下の方の様に「quote=""」とすると、これはquotingを無効にす...
X.文字. X.英数. X.値1. X.値2.
"1" "12345" "a" 10 1.4142
"2" "00123" "b" 100 1.7320
"3" "02" "0" 1000 3.1415
のようになるのは、ある意味納得できます.列名に「X.」とか...
ちなみに
> tmp <- read.table(file="testdata.txt", sep=",", as.is=...
> tmp$文字
[1] "\"12345\"" "\"00123\"" "\"02\""
となって、値自体に【”】が入っています.クオート文字として...
~
私も、列数が少ない場合や、デフォルトでnumericで読まれるよ...
ですが、異なったファイル毎に、いちいちcolClassesを指定す...
~
このように、【”】でくくられた列(値)を文字列として読み込...
どなたかご教示いただけると幸いです.~
//
- ?read.tableして、default.stringsAsFactorsを理解すれば、...
- > いちいちcolClassesを指定するのは面倒ですし~
自分でプログラムを書いたらどうですか,といったのは,以下...
> x <- readLines("testdata.txt", n=2)
> l1 <- unlist(strsplit(x[1], ","))
> l2 <- unlist(strsplit(x[2], ","))
> (Quotes <- grep('\".*\"', l2))
[1] 1 2 3
> colClasses <- rep("numeric", length(l2)) # 基本的には...
> colClasses[Quotes] <- "character" # ダブルクオートが2...
> colClasses # 実際どんなふうになるか
[1] "character" "character" "character" "numeric" "num...
> (d <- read.table("testdata.txt", header=TRUE, colClass...
文字 英数 値1 値2
1 12345 a 10 1.4142
2 00123 b 100 1.7320
3 02 0 1000 3.1415
> sapply(d, class) # 期待したものになっていることの確認
文字 英数 値1 値2
"character" "character" "numeric" "numeric"
- file=connectionなので、"で囲んだ部分はデフォルトで文字...
- akiraさん、返信ありがとうございます.ヘルプでは「string...
> default.stringsAsFactors()
[1] TRUE
となります.で「as.is = !stringsAsFactors」ですから、opti...
> read.table(file="testdata.txt", sep=",", as.is=F)[,1]
[1] 12345 123 2
となって、ファクターとしても認識してくれません.こういう...
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-pc-mingw32
です. -- きりん &new{2009-10-05 (月) 14:59:18};
- 「file=connectionなので」を書いていただいた方ありがとう...
- read.table のプログラムを読んでみたところ,文字列として...
> class(type.convert("00123", as.is=T)) # as.is に関わら...
[1] "integer"
> class(type.convert("00123", as.is=F))
[1] "integer"
> class(type.convert("A", as.is=F)) # 数値ではないものは...
[1] "factor"
> class(type.convert("A", as.is=T))
[1] "character"
> class(type.convert("TRUE", as.is=T)) # 文字列でも,TRU...
[1] "logical"
> class(type.convert("TRUE", as.is=F)) # as.is に関わら...
[1] "logical"
- ↑河童さんが解説してくれていますが、現在のread.tableの仕...
- いやいや「file=connection」さんのおっしゃるとおりで、ま...
read.table2 <-
function (file, header = FALSE, sep = "", quote1 = "\"'",
quote = "\"'", dec = ".", #「quote1」引数を追加
row.names, col.names, as.is = !stringsAsFactors, na....
colClasses = NA, nrows = -1, skip = 0, check.names =...
fill = !blank.lines.skip, strip.white = FALSE, blank...
comment.char = "#", allowEscapes = FALSE, flush = FA...
stringsAsFactors = default.stringsAsFactors(), encod...
・・・
first <- scan(file, what = "", sep = sep,
quote = quote1, #「quote1」引数に...
nlines = 1, quiet = TRUE, skip = 0, strip.wh...
blank.lines.skip = blank.lines.skip, comment...
allowEscapes = allowEscapes, encoding = enco...
・・・
for (i in (1:cols)[do]) {
data[[i]] <- if (is.na(colClasses[i]) & as.is[i] &
(length(grep("^\".*\"$", data[[i...
gsub("\"$", "", gsub("^\"", "", data[[i]]))
else if (is.na(colClasses[i]))
type.convert(data[[i]], as.is = as.is[i], de...
na.strings = character(0))
> read.table2(file="testdata.txt", sep=",", as.is=T, quo...
string eisu val1 val2
"1" 12345 a 10 1.4142
"2" 00123 b 100 1.7320
"3" 02 0 1000 3.1415
- 行名がいまひとつですが、とりあえずこんなところでしょう...
- quoatedAsStringみたいなbooleanの引数を作って(defaultはF...
- まったくおっしゃるとおりです.ありがとうございます. --...
**データの取り込みについて [#ya815e16]
>[[冷蔵庫]] (2009-10-02 (金) 16:22:13)~
~
いつもお世話になっています。R初心者です。~
~
read.tableのquoteの挙動、データの取り込みについて教えてい...
~
例えば、以下のデータがtestdata.txtとしてあった場合、~
(1行目が列名、1列目が行名です。列名、行名にそれぞれ「””...
#testdata.txt~
"文字","英数","値1","値2"
"1","12345","a",10,1.4142
"2","00123","b",100,1.732
"3","02","0",1000,3.1415
~
データの文字と数値を区別して取得したく、~
testresult <- read.table(file="testdata.txt", sep = "," ...
~
で取り込むと、読み込んだデータの列名が「X.列名.」になって...
行名も「"行名"」になってしまいます。~
X.文字. X.英数. X.値1. X.値2.
"1" "12345" "a" 10 1.4142
"2" "00123" "b" 100 1.7320
"3" "02" "0" 1000 3.1415
~
この列名の「X. - .」、行名の「" - "」が付かないように読み...
ここで、quote=""を除くと、「00123」(文字)が「123」(数...
文字 英数 値1 値2
1 12345 a 10 1.4142
2 123 b 100 1.7320
3 2 0 1000 3.1415
~
列名に「X. - .」、行名に「" - "」を付けず、~
データ内容を元のとおりに取得する方法は何かありますでしょ...
~
Rは、~
R version 2.9.1 ~
i386-pc-mingw32 ~
で、windowsXPを使用しております。~
~
どうぞよろしくお願い致します。~
//
- いつもおしいなあ。オンラインヘルプを読めばそこに答えが...
colClasses 引数の説明を良く読もう。 -- [[河童の屁も雨で湿...
> (x <- read.table(file="testdata.txt", sep = "," , head...
+ colClasses=c("character", "character", "character", "i...
文字 英数 値1 値2
1 12345 a 10 1.4142
2 00123 b 100 1.7320
3 02 0 1000 3.1415
> sapply(x, class)
文字 英数 値1 値2
"character" "character" "integer" "numeric"
- 早速の回答ありがとうございます!colClasses引数だったの...
- 引き続きすみません。この場合、全ての列についてclass指定...
- > 全てのclassが分からない場合~
そんなことは,あるはずないし,あってはならないこと(どん...
複数の連続は rep(ほげほげ, 繰り返し回数)。「ほげほげ」も...
どのようなものを読むことになるかもわからないということな...
- ご回答ありがとうございました。多くの列がある場合、人の...
//-河童が回答の場所を間違ってるようなので、上の質問から転載
// 呼び捨て許すまじ
**非線形回帰分析で決定係数を算出する方法をご教示下さい. ...
>[[初心者S]] (2009-09-30 (水) 16:52:45)~
~
R2.4.1を使っている初心者Sです.~
~
以下のようなデータに対して,非線形回帰をおこないました....
~
# データ
Delay<-c(3,6,12,24,36)
Value<-c(85,75,50,40,30)
# nlsでの非線形回帰
fm <- nls(Value ~ 100 /(1 + k * Delay), start=list(k=0))
summary(fm)
//
- 非線形回帰に決定係数はありません。対数尤度かAICで評価し...
自分の自由になるコンピュータなら,R を最新版に更新した方...
> logLik(fm)
'log Lik.' -12.80497 (df=2)
> AIC(fm)
[1] 29.60994
- 「河童の屁」先生,初心者Sです.行動科学系の学術論文では...
- > 行動科学系の学術論文では,… 非線形回帰のモデルの場合...
ドンダケいい加減な領域であることやら。Excel の「近似曲線...
単に,線形回帰分析のときの類推で,1-残差平方和/全平方和 ...
Nagelkerke の R^2 というのもあるけどめんどくさい。 -- [[...
**for-loopのどこでwarningが出たか知りたい [#v571c057]
>[[akira]] (2009-09-29 (火) 10:35:07)~
~
いつもありがとうございます.~
for-loopで処理を回すと、ときどきエラーが出ます.エラー発生...
具体的にはLDAでcolinearにならなければpredict、colinearな...
できればLDAに特化しない方法にしたいので、warnings()の返り...
LDAで良い例をかけないので、代替コードを書きます.
> x <- NULL
> for(i in c(1,-4,5,-6,3)) x <- c(x,log(i))
Warning messages:
1: In log(i) : 計算結果が NaN になりました
2: In log(i) : 計算結果が NaN になりました
> x
[1] 0.000000 NaN 1.609438 NaN 1.098612
NaNになる場合に
> x
[1] 0.000000 -100 1.609438 -100 1.098612
になるようにするイメージです.
//
- 本当にwarningを捕まえたいのですか? errorならtry()...
- 簡単な処理なら
try('処理A','エラー処理')
でいいと思うのですが、'エラー処理'が少し長いスクリプトで...
if('処理A'==OK){
'処理B'
'処理C'
}else{
'エラー処理A'
'エラー処理B'
}
みたいにしたいな、と。~
もしかして、
try('処理A';'処理B';'処理C','エラー処理A';'エラー処理B')
みたいな方法もあるのでしょうか? -- [[akira]] &new{2009-09...
- もっと洒落た方法があると思うけど・・・ifは使えてません...
x <- NULL
dat<-c(1,-4,5,-6,3)
len<-length(dat)
for(i in 1:len){
cmd<-paste("x <- c(x,log(dat[",i,"]))",sep="")
eval(parse(text=cmd))
}
dat2<-NULL
len2<-length(warnings())
for(j in 1:len2){
cmd2<-paste("dat2[",j,"]<-as.character(warnings()[[",j,...
eval(parse(text=cmd2))
}
dat2<-as.numeric(dat2)
x[dat2]<-"-100"
x
- 警告をエラーにして, tryCatchすれば良いだけです. -- &ne...
options(warn=2) # 警告をエラーに設定するのがミソ
x<-NULL
for(i in c(1,-4,5,-6,3)) x <- c(x,tryCatch(log(i),error=...
- こんな方法があったのね。option近辺をうろうろしてたんだ...
- ありがとうございます.tryCatch()に自作関数をつないで事な...
**mtext()内にitalicを用いた際の改行 [#cd379a2b]
>[[R初学者]] (2009-09-28 (月) 14:38:06)~
~
以前にも同じような質問をさせていただきましたが、再度質問...
~
plot()やhist()関数でグラフを作った後に、x軸の下にmtext()...
その際、説明の中にイタリックが一部混ざります。~
そのイタリックを表示するために、expression(italic())を用...
どのようにすれば正しく改行されるのでしょうか?~
~
以下に例を貼っておきます。
> par(mar=c(7, 5.3, 2.5, 1))
> hist(rnorm(1000), main="例", ylab="頻度")
> mtext(expression(paste("x軸ラベルの下に左揃えで表示す...
+ italic("italic"),"改行すると\nうまく改行ができません")),
+ side=1, line=5,font=2,adj=0)
よろしくお願いいたします。~
//
- これはplotmathが想定した動作です. expression 内が式を表...
par(mar=c(8, 5.3, 2.5, 1))
hist(rnorm(1000), main="例", ylab="頻度")
texts<-list(expression("x軸ラベルの下に左揃えで表示する...
expression(paste("このように文の途中にイタリ...
italic("italic"),
"改行すると")),
expression("うまく改行ができません"))
lapply(seq(length(texts)),function(i)mtext(texts[[i]],si...
- ありがとうございます。もしよろしければ、list()やlapply(...
- > もしよろしければ、list()やlapply()について、もう少し...
そこまで望むのは,さすがにどうかなあと思いますね。list に...
- おやおや,お返事がないですか。びびりました?「初心者に...
par(mar=c(8, 5.3, 2.5, 1))
hist(rnorm(1000), main="例", ylab="頻度")
mtext(expression("x軸ラベルの下に左揃えで表示するのです...
mtext(expression(paste("このように文の途中にイタリック体...
italic("italic"),
"改行すると")),side=1,line=5,font...
mtext(expression("うまく改行ができません"), side=1,line=...
**Rコマンダーを使用し、クラスター分析を行ってます [#q436a...
> (2009-09-26 (土) 16:12:33)~
~
Rコマンダーを使用し、クラスター分析を行ってますが、デンド...
//
-R コマンダーなんか使うからいけないのですよ。hclust の返...
-ご回答頂き、本当にありがとうございます。試してみます。質...
- 先ほどは、質問場所を間違え「トップ」に記述したにも関わ...
- 先のコメントに書いたことに尽きますが。hclust の返すオブ...
> set.seed(3141592)
> (dataset <- data.frame(x=rnorm(10), y=rnorm(10),
+ Country=paste("国", letters[1:10], sep="-")))
x y Country
1 0.19317799 1.3714874 国-a
2 -0.04847455 -0.5333877 国-b
3 -0.21257424 0.6863163 国-c
4 0.93021111 -0.7932223 国-d
5 -0.65881763 -0.7391611 国-e
6 -1.08777535 0.7393223 国-f
7 1.33396058 0.3414277 国-g
8 -0.52538553 -0.2207230 国-h
9 0.45192105 -0.6031778 国-i
10 -0.20926002 1.2376127 国-j
> obj <- hclust(dist(dataset[1:2]))
> str(obj) # これをやって,どんなものが返されるか確認し...
List of 7
$ merge : int [1:9, 1:2] -1 -2 -5 -3 -4 -6 3 -7 6 ...
$ height : num [1:9] 0.424 0.505 0.535 0.796 1.013 ...
$ order : int [1:10] 6 3 1 10 7 5 8 4 2 9
$ labels : NULL
$ method : chr "complete"
$ call : language hclust(d = dist(dataset[1:2]))
$ dist.method: chr "euclidean"
- attr(*, "class")= chr "hclust"
> plot(obj, hang=-1, label=dataset$Country)
> as.character(dataset$Country[obj$order]) # 結局,こ...
[1] "国-f" "国-c" "国-a" "国-j" "国-g" "国-e" "国-h" "...
[10] "国-i"
&ref(cluster-name.png);
- 基本中の基本が解ってない事を理解しているところです。 --...
- 大変有難く思います。少しずつ、解って来た様な気がしてお...
- 「河童の屁に火をつける」先生のご指導の賜物で、目的のテ...
- 4冊も買えば十分。それぞれを良く読む。書かれている通りを...
**欲張りなテーブル表示をしたいのですが・・・ [#fda6a45d]
>[[sakura]] (2009-09-23 (水) 21:34:26)~
~
> tapply(<file_name>$age, list(sex=<file_name>$<cate_val...
+ mean, na.rm=TRUE)
<cate_variable>
sex male female
AvAw 53.58940 56.82658
V_over 60.60800 63.74648
W_over 52.92593 58.81119
Zoo 56.63345 62.18116
上記のスクリプトを変更して、meanの横に、sd やパーセンタイ...
例えば、
<cate_variable>~
sex male female~
mean sd mean sd~
AvAw 53.58940 10.34567 56.82658 10.98765
V_over 60.60800 12.45678 63.74648 10.98765
W_over 52.92593 11.56789 58.81119 10.98765
Zoo 56.63345 13.78901 62.18116 10.98765
のように出力させるには???~
//
- どうも,質問の呈示が尋常じゃないので,何が聞きたいのか...
> set.seed(7460) # 試してみるときのために
> n <- 200
> d <- data.frame(
+ age=sample(factor(1:5), n, replace=TRUE),
+ sex=sample(factor(1:2), n, replace=TRUE),
+ x=rnorm(n))
> a <- tapply(d$x, list(d$sex, d$age), # sex, age の組...
# データ数b,平均値,標準偏差を求める(その...
+ function(z) {
+ return(c(sum(!is.na(z)), mean(z), sd(z)))
+ })
> t(matrix(unlist(a), 3)) # 各行が,factor のどのような...
[,1] [,2] [,3] # 各列は,データ数,平...
[1,] 23 -0.244357375 1.0565744
[2,] 25 0.005392937 1.0587101
[3,] 30 -0.173957371 1.0238300
[4,] 28 0.127966034 0.9435006
[5,] 20 0.075841321 1.1881929
[6,] 13 0.253818609 0.9067395
[7,] 17 0.106300283 0.9716491
[8,] 17 0.115522521 1.0345919
[9,] 13 -0.025486074 0.6829240
[10,] 14 0.042842295 1.0857778
> array(unlist(a), dim=c(3,5,2)) # array 関数で表示する...
, , 1 # sex = 1
[,1] [,2] [,3] [,4] ...
[1,] 23.0000000 25.000000000 30.0000000 28.0000000 20.00...
[2,] -0.2443574 0.005392937 -0.1739574 0.1279660 0.07...
[3,] 1.0565744 1.058710098 1.0238300 0.9435006 1.18...
, , 2 # sex = 2
[,1] [,2] [,3] [,4] ...
[1,] 13.0000000 17.0000000 17.0000000 13.00000000 14.000...
[2,] 0.2538186 0.1063003 0.1155225 -0.02548607 0.042...
[3,] 0.9067395 0.9716491 1.0345919 0.68292405 1.085...
**x軸のラベルを二段にするには [#kc6b73f6]
>[[R初学者]] (2009-09-16 (水) 19:36:26)~
~
グラフ(今回は棒グラフ)をつくる際に、x軸のラベルを以下の...
二段構成にしたいと思っていますが、どうすればよいのかわか...
~
male female~
species name
~
色々と調べてはみたのですが、はっきりとした答えがなかった...
よろしくお願いいたします。~
//
- 単に xlab を表す文字列中,1行目の後に \n を入れればよい...
> hist(rnorm(10000),
+ xlab="一行目の後にバックスラッシュとnを置けば,\n改...
&ref(2lines-xlab.png);~
mtext を使うという方法もある。いろいろ工夫すべし。
old <- par(mar=c(5, 5.3, 2.5, 1))
hist(rnorm(1000),
main="main においても,\n同じテクニックが使えるよ",
ylab="頻度\nmarの設定が必要になることもある",
xlab="一行目と二行目の")
mtext("文字サイズやフォントを変えるときなどはこんなやり...
side=1, line=3.8, cex=0.7, font=2)
&ref(2lines-labels.png);
- 非常に単純ですね・・・。回答ありがとうございました。 --...
- そうなんですよ。非常に単純。 -- [[河童の屁]] &new{2009-...
**近似曲線の求め方 [#s15e809d]
>[[おじさんの悩み]] (2009-09-15 (火) 01:24:36)~
~
現在、あるサービスにおいてWEBにてQ&A集を作ることを検討し...
Q&Aを作るにあたり、特定の期間モニターに質問をして頂き、そ...
指数近似や多くの関数を元に最小ニ乗法を使って合わせこみを...
0 0~
1 5.9~
2 11.1~
3 15.7~
4 19~
5 21.9~
6 24.5~
7 26.9~
8 29.2~
9 31.5~
10 33.3~
11 34.9~
12 36.5~
13 38.1~
14 39.7~
15 41.2~
16 42.6~
17 44~
18 45.4~
19 46.7~
20 48~
//
- 累積質問率って何ですか?Rより先に統計学を勉強した方が...
- 要するに,横軸が0:20,縦軸が0〜48の点列に,何らかの曲線...
それにしても,「最小二乗法」の漢字の「二」がカタカナの「...
> x <- 0:20
> y <- c(0, 5.9, 11.1, 15.7, 19, 21.9, 24.5, 26.9,
+ 29.2, 31.5, 33.3, 34.9, 36.5, 38.1, 39.7, 41.2,
+ 42.6, 44, 45.4, 46.7, 48)
> d <- data.frame(x=x, y=y)
> res <- nls(y~SSasymp(x, a, b, c), data=d)
> summary(res)
Formula: y ~ SSasymp(x, a, b, c)
Parameters:
Estimate Std. Error t value Pr(>|t|)
a 55.76073 1.44109 38.694 <2e-16 ***
b 1.55679 0.55181 2.821 0.0113 *
c -2.40868 0.05779 -41.678 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1...
Residual standard error: 0.7988 on 18 degrees of freedom
Number of iterations to convergence: 0
Achieved convergence tolerance: 1.721e-06
> plot(d$x, d$y, xlim=c(0, 70), ylim=c(0, 60),
+ pch=19, cex=0.5)
> abline(h=res$m$getPars()[1], lty=3, col="blue")
> x2 <- seq(0, 70, by=0.1)
> d2 <- data.frame(x=x2)
> y2 <- predict(res, newdata=d2)
> lines(x2, y2, col="red")
&ref(fit-nls.png);
- 言葉の定義が不十分ですみません。質問の多い順番にTOP...
- ああ,そう。そのような場合は,べき乗則ですね。横軸に順...
> y <- c(0, 5.9, 11.1, 15.7, 19, 21.9, 24.5, 26.9,
+ 29.2, 31.5, 33.3, 34.9, 36.5, 38.1, 39.7, 41.2,
+ 42.6, 44, 45.4, 46.7, 48)
> y2 <- log(diff(y))
> x2 <- log(1:20)
> plot(y2 ~ x2, pch=19, cex=0.5, main="べき乗則(広義の...
+ xlab="順位の対数", ylab="頻度の対数")
> ans <- lm(y2 ~ x2)
> abline(ans, col="red")
> ans
Call:
lm(formula = y2 ~ x2)
Coefficients:
(Intercept) x2
1.9725 -0.5749 # 傾きが -0.579 なので,広義の...
&ref(jips-law.png);~
上に続けて,
> x2 <- log(1:100)
> y2 <- ans$coefficients[1]+ans$coefficients[2]*x2
> plot(exp(y2), pch=19, cex=0.5,
+ main="1〜20までの頻度から予測した結果--ロングテール",
+ xlab="順位", ylab="頻度")
> points(diff(y), col="red", pch=19, cex=0.5)
> legend("topright", legend=c("実測値", "予測値"), pch=c...
col=c("red", "black"))
&ref(long-tail.png);
- 図表のフォントが綺麗なのですが、MACだからですか? -- &...
- 大変お世話になりました。お礼を申し上げるのが、遅れてす...
**Rcomanderのクラスタリング図で名称が表示されない [#m0afc...
>[[R初心者くん]] (2009-09-13 (日) 03:40:01)~
~
お世話になっています。Rcomanderについて質問させてください...
~
3列のデータがあったとします。その最も左の列にサンプルの...
そのサンプル名をRcomanderを利用してつくったクラスタリング...
~
ご存知の方がいらっしゃたらご教授願えないでしょうか~
お願いします。~
//
- 過去にも同じような質問があったはずで。print.hclust の l...
ちょっと見てみましたけど,オプショナルな引数を直接的に指...
HClust.1 <- hclust(dist(model.matrix(~-1 +
Petal.Length+Petal.Width+Sepal.Length+Sepal.Width, iri...
plot(HClust.1, main= "Cluster Dendrogram for Solution HC...
"Observation Number in Data Set iris", sub="Method=ward;
Distance=euclidian", labels=iris$Species)
&ref(plot.hclust.png);
- ご丁寧な解説ありがとうございました!参考にさせていただ...
**列を増やし通し番号を振る [#q560bbc4]
>[[yuri]] (2009-09-09 (水) 10:56:26)~
~
10万行ほどのファイルを読み込んで作業をしますが、新しく一...
//
- データフレームを d とすれば,d$index <- 1:nrow(d)。それ...
- 初歩的なことですみませんでした!大変助かりました。どう...
**相関関係を表すグラフ [#i3120f0b]
> [[にぽぽ]](2009-09-08 (火) 20:21:00)~
~
初級者にすら到達していない者です。~
統計解析をRで行いなさい、と突然上の者から指示され、こちら...
R2.9.0です。~
~
下の表のような表があります。~
縦軸が商品、横軸が年齢層です。~
縦軸横軸ともに10項目以上あります~
A B C D E F・・・
イ 0 1 0 0 0 0
ロ 1 0 0 0 0 0
ハ 0 0 1 1 1 0
・
・
・
縦軸の相関関係を表わそうとigraphでやってみたのですが、ど...
shouhin<-matorix(c(0,1,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,0・...
と書いて
library(igraph)
として、行き詰ってしまいました。~
~
そもそも、相関関係という言葉が正しいのかもわからないので...
~
どの関数を使ったら、目的のグラフを描画することができるで...
お力をお貸しいただければ嬉しいです。~
//
- MASS ライブラリにある corresp 関数(コレスポンデンス・...
> (d <- structure(list(A = c(0L, 1L, 0L), B = c(1L, 0L, ...
+ 0L, 1L), D = c(0L, 0L, 1L), E = c(0L, 0L, 1L), F = c(1...
+ 0L)), .Names = c("A", "B", "C", "D", "E", "F"), class ...
+ row.names = c("イ", "ロ", "ハ")))
A B C D E F
イ 0 1 0 0 0 1
ロ 1 0 0 0 0 0
ハ 0 0 1 1 1 0
> library(MASS)
> library(maptools)
> (ans <- corresp(d, nf=2))
First canonical correlation(s): 1 1
Row scores:
[,1] [,2]
イ -8.732638e-17 -1.4142136
ロ -2.121320e+00 0.7071068
ハ 7.071068e-01 0.7071068
Column scores:
[,1] [,2]
A -2.121320e+00 0.7071068
B -2.019203e-16 -1.4142136
C 7.071068e-01 0.7071068
D 7.071068e-01 0.7071068
E 7.071068e-01 0.7071068
F -9.637845e-17 -1.4142136
> layout(matrix(1:2, 1))
> plot(ans$cscore)
> pointLabel(ans$cscore[,1], ans$cscore[,2], rownames(an...
> plot(ans$rscore)
> pointLabel(ans$rscore[,1], ans$rscore[,2], rownames(an...
> layout(1)
&ref(corresp.png);
- 河童の屁様、さっそくにありがとうございます。コレスポン...
- 「上司は0でも解析してくれるのがRらしいと聞き及んでい...
- ご丁寧な回答、ありがとう存じます。冷静になって考えると...
- 'empty row or column in table' の empty とは,ある行(...
**行の値を区切り文字で2分割したい場合のNAの処理 [#b7e894...
>[[ぼう]] (2009-09-08 (火) 09:07:07)~
~
お世話になります。~
たとえば下記のようなグループ名をもつ行列dfがありまして(r...
~
欠損が無ければstrsplit(rownames(df),"-")とunlistを組み合...
アドバイスいただければ幸いです。~
これを
df <- data.frame(1:6)
rownames(df)<-c(
"A-I",
"A-II",
"A-",#←こんな風に欠損がところどころある。
"B-I",
"B-II",
"-III"
)
こうしたい
|c1|c2 |value|
|A |I |1|
|A |II |2|
|A |NA |3|
|B |I |4|
|B |II |5|
|NA|III|6|
~
//
- R はプログラムできるのだから,やりたいことができるよう...
ans <- sapply(rownames(df), function(str) {
a <- unlist(strsplit(str, "-"))
len.a <- length(a)
if (len.a == 1) { # "-" の後がない
return(c(a, NA))
} else if (a[1] == "") { # "-" の前がない
return(c(NA, a[2]))
} else { # 完全
return(a)
}
})
(df2 <- data.frame(c1=ans[1,], c2=ans[2,], value=df[,1]))
- ありがとうございます。そのとおりではあるのですが、apply...
**中身を変えて同じ関数を何度も繰り返し実行したい [#me9cb1...
>[[tefu]] (2009-09-07 (月) 21:17:18)~
~
初歩的な質問で申し訳ありません。~
~
ある関数function(x)のxに、毎回違う数字を入れて何度も繰り...
~
挿入する数字に規則性はなく、数百回単位で繰り返したいので...
//
- その数値をベクトルに入れておいて,x <- c(1,3,2,5); sapp...
場合によっては,例に挙げたような場合なら,関数なんか使わ...
- 普通のFor文で書いてはダメでしょうか? このあたりを見て...
- Rならベクトル演算が定石でしょうね。「毎回違う数字」の出...
- For文でできました。ありがとうございました。 -- [[tefu]]...
**aov関数で求められる平方和 [#ze1b2efe]
>[[aor]] (2009-09-06 (日) 19:11:53)~
~
以前はfactor関数についてお世話になりました。~
aov関数で求められる平方和について教えていただきたく、投稿...
~
[[Jonathan Baronによる解説:http://www.psych.upenn.edu/~ba...
~
上記の解説、Unbalanced (Nonorthogonal) Designsのセクショ...
SPSSで平方和のタイプを2と設定すれば、aov関数の結果と一致...
~
aovで求められる平方和はタイプ2、ということなのでしょうか。~
現在、SPSS、SASを使用できる環境ではなく、検証できておりま...
aovでの平方和についてご存知の方、あるいは検証方法について...
いただけたら幸いです。よろしくお願いいたします。~
環境はR2.9.2、windows vistaです。
~
~
なお、平方和について不勉強で、色々検索し、[[中澤先生の解...
anova関数ではタイプ1、という記述は色々なところで散見され...
aov関数でどのように行っているかは (自分としては) 不明です。
~
また、筑波大学の[[井関先生の作成された分散分析関数:http:/...
平方和をタイプ2に指定して検証してみましたが、aov関数の結...
以下はJonathan Baronの解説で記載されていた混合計画の分散...
##Jonathan Baronの解説でのaov関数を使うコード (少し修正...
#データ生成
data1<-c(49,47,46,47,48,47,41,46,43,47,46,45,48,46,47,45...
45,40,49,46,47,45,49,45,41,43,44,46,45,40,45,43,44,45,48...
### 交互作用ありにしたいときのデータ (これは私が加えたも...
####data1<-c(49,10,46,47,48,47,41,46,43,5,46,5,48,46,47,...
####45,40,49,46,47,45,49,45,41,43,44,46,100,40,45,43,44,...
####data1<-c(49,10,46,47,48,47,41,46,43,5,46,5,48,46,47,...
####45,40,49,46,47,45,49,45,41,43,44,46,100,40,49,10,46,...
## 行列化 (データ確認のため)
matrix(data1, ncol= 4, dimnames = list(paste("subj", 1:1...
c("Shape1.Color1", "Shape2.Color1" ,"Shape1.Color2", "Sh...
# aov用のデータフレーム作成
Hays.df <- data.frame(rt = data1, subj = factor(rep(past...
shape = factor(rep(rep(c("shape1", "shape2"), c(12, 12))...
color = factor(rep(c("color1", "color2"), c(24, 24))))
# 非釣合型のデータにするため、grp変数を付け加える
Hays.df$grp <- factor(rep(c(1,1,1,1,1,1,1,1,2,2,2,2), 4))
# aovで分析
aovres <- aov(rt ~ grp*color*shape + Error(subj/(color+s...
summary(aovres)
## anovakun (井関先生の分散分析関数) でも検証するために...
## 分散分析関数を読み込めるようにしないと動作しません。
datkun <- data.frame(matrix(data1, ncol= 4, dimnames = l...
c("Shape1.Color1", "Shape2.Color1" ,"Shape1.Color2", "Sh...
grp <- c(1,1,1,1,1,1,1,1,2,2,2,2)
datkun <- data.frame(cbind(grp, datkun))
# anovakunで分析
anovakun(datkun, "AsBC", 2, 2, 2, type2=T)
以上の分析で、結果が一致したため、aov関数の平方和について...
どうぞよろしくお願いいたします。
//
- aovはタイプ1だと思います。aovではデータによっては変数の...
- ご回答ありがとうございます。他のサイトでのお話によると...
**Rで何が出来るのですか? [#da871e95]
>[[maru]] (2009-09-05 (土) 10:40:39)~
~
過去の売り上げから今後の売り上げ予測とか~
このような時系列の予測が出来るのでしょうか?~
//
- できます -- [[河童の屁]] &new{2009-09-05 (土) 11:20:49};
- >できます それは、単体のものでも可能なのでしょうか?...
- 例えば、えんぴつ単体の売り上げだけでも予測出来るのでし...
例えば、えんぴつ単体の売り上げだけでも予測出来るのでしょ...
それとも、えんぴつ単体では予測出来なくて
ノートの売り上げ、消しゴムの売り上げ、
これらの複数のデータと見合わせないとえんぴつの売り上げは、
予測出来ない。
そういうことは、ありませんか?-- [[maru]] &new{2009-09-05...
- 月ごとの鉛筆の売り上げのデータが何年分かあればできるで...
- ↑ どのような時系列モデルを使用するとよさそうでしょうか...
- それは,いろいろな予測方式がありますけど。取りあえず ? ...
- Rで全てのことができます。
- AirPasseners ? 具体的にやる方法を教えて頂けると助か...
- R のオンラインヘルプを見る方法です。クエスチョンマーク...
**tapplyで、複数の引数を使う関数(corなど)を扱うには [#a0...
>[[INA]] (2009-09-04 (金) 23:58:36)~
~
みなさま、どうぞよろしくお願いいたします。~
~
2つ以上の引数を用いる関数(corなど)を、tapplyで扱えずに苦...
~
ある産業分類(200種類くらい)に含まれる個店データ約20万件...
~
DataSet~
個店ID,産業分類,従業者数,販売額,設立年~
000001,01_パン小売業,10,10000,11~
000002,09_豆腐小売業,4,1200,2~
000003,14_金物小売業,20,25000,4~
: : : : :~
~
これらを「産業分類別に」分類,集計しようと考えています。~
その際、tapply関数を用いて、各産業ごとの集計を簡単にしよ...
~
例えば産業別の販売額合計については、~
> tapply(DataSet$販売額,DataSet$産業分類,sum)
で、産業分類別に問題なく集計できました。~
~
しかし「販売額と従業者数の相関関係」を見ようとした場合、~
~
>cor(DataSet$従業者数,DataSet$販売額)
~
のように、複数の引数を指定する必要があります。~
これをtapplyを用いて、産業分類別に処理しようとしたところ...
たとえば~
> tapply(DataSet,DataSet$産業分類,cor(DataSet$従業者数,D...
以下にエラー match.fun(FUN) :
'cor(DataSet$従業者数,DataSet$販売額)' は関数、文字、ま...
> tapply(list(DataSet$従業者数,DataSet$販売額),list(Data...
以下にエラー tapply(list(UDataSet$従業者数,DataSet$販売...
引数は同じ長さでなければなりません
のようになります。~
産業分類が多種類であることや、データが頻繁に追加・削除さ...
version 2.9.2、WinXP SP3上で動作中です。~
なにぶんにも未熟でございまして、よい方法をご存知の方、お...
//
- こんなんでどうでしょう -- &new{2009-09-05 (土) 00:11:2...
sapply(split(DataSet, DataSet$産業分類), function(x) cor...
- [[フレディー]] &new{2009-09-05 (土) 00:34:03};
sapply(split(DataSet[,3:4],DataSet[,2]), function(x) cor...
- 無駄が多いコードではあるが,以下のようなものも。 -- [[...
sapply(levels(iris$Species), function(x) {
y <- iris$Species==x
cor(iris$Petal.Width[y], iris$Petal.Length[y])
})
- お礼が遅くなりまして失礼致しました。sapplyを用いて、無...
**死を入力するとエラーになる [#z22417e1]
>[[akira]] (2009-09-01 (火) 19:30:02)~
~
いつもありがとうございます。~
ベクトルで「死」を指定するとエラーになるのですが、対処法...
WinXP R-2.9.1 Patchedの場合
Rgui.exeならOK
>c("死") #OK
R.exeだとエラー
>c("死") #NG
c(invalid multibyte character in mbcs_get_next
+)
+
Ubuntu9.04 R-2.9.1 の場合
>c("死") #OK
となります。~
R.exeだけで生じます。エンコードとか関係するのでしょうか?~
とりあえず、Ubuntuで対応できますが、少し気持ち悪いです。~
//
- エンコードでしょうね。最新バージョンとか言う人??です...
**データフレームの範囲を指定して因子変数にする方法 [#m1cd...
>[[aor]] (2009-08-31 (月) 21:33:00)~
~
初めて投稿させていただきます。~
200行30列からなるデータフレーム (dat) の第4列から第24列ま...
以下のようなコードではうまくいきませんでした。
factor(dat[4:24])
factor(dat[,4:24])
for (i in 4:24){
datf[i] <- factor(dat[i])
}
上3つのコードは以下のような警告がでます。~
以下にエラー sort.list(unique.default(x), na.last = TRUE...
'x' は 'sort.list' に対してはアトミックでなければなりま...
'sort' をリストに対して呼び出しましたか?
sapply(dat[,4:24], factor)
sapply(dat[4:24], factor)
上2つは警告は出ませんが、classがcharacterになります。~
現在は以下のように、個々の変数にfactorを適用しています。
dat[,4] <- factor(dat[,4])
dat[,5] <- factor(dat[,5]
....
dat[,24] <- factor(dat[,24]
これを範囲指定してまとめて行いたいのですが、よい方法をご...
なお、R2.9.1, WindowsVista環境です。
//
- カンマの有無に注意 -- [[河童の屁]] &new{2009-08-31 (月)...
set.seed(123) # 再現性のあるデータを作るため
dat <- data.frame(matrix(sample(4, 6000, replace=TRUE), ...
datf <- dat # 変換後のデータフレーム
for (i in 4:24) {
datf[,i] <- factor(dat[,i]) # カンマの有無に注意
}
sapply(datf[,4:24], class)
これも基本です。データフレーム x において,x[1] と x[,1] ...
- ご回答ありがとうございます。お教えいただいたコードで実...
- sapply ではなく,lapply を使えばよい。(これは,私も初...
set.seed(123) # 再現性のあるデータを作るため
dat <- data.frame(matrix(sample(4, 6000, replace=TRUE), ...
datf <- dat # 変換後のデータフレーム
datf[4:24] <- lapply(dat[4:24], factor)
sapply(datf[4:24], class)
- lapplyを教えてくださった方、ありがとうございます。sappl...
**Metaforのグラフィックについて [#z2c1773d]
>[[なんび]] (2009-08-31 (月) 17:33:24)~
~
Metaforを使って、メタアナリシスを行い、フォレストプロット...
~
forest(xxxx) というコマンドではデータが下からプロットさ...
自動的に「study1」「study2」と試験名がふられますが、~
データを上からプロットさせる方法はありますか。~
「study1」ではなく、自分のデータ(SOC)を描きいれる方法が...
以下のようなプログラムを作っています。~
~
library(metafor)~
dat<-scan("./zom.prn", ~
list(SOC="",ai=0,n1i=0,ci=0,n2i=0),~
skip=0,nlines=30,sep="")~
zompeto<-rma.peto(ai,n1i,ci,n2i, slab=NULL, subset=NULL, ...
add=c(1/2,0), to=c("only0","none"), level=95, di...
forest(zompeto)~
//
- 追試できません -- [[河童の屁]] &new{2009-08-31 (月) 18:...
> dat<-scan("./zom.prn",
+ list(SOC="",ai=0,n1i=0,ci=0,n2i=0),
+ skip=0,nlines=30,sep="")
以下にエラー file(file, "r") : コネクションを開くこと...
追加情報: Warning message:
In file(file, "r") :
ファイル './zom.prn' を開くことができません: No such ...
+ zompeto<-rma.peto(ai,n1i,ci,n2i, slab=NULL, subset=NUL...
+
+ add=c(1/2,0), to=c("only0","none"), level=95, ...
以下にエラー eval(expr, envir, enclos) : オブジェクト ...
+
> forest(zompeto)
以下にエラー forest(zompeto) : オブジェクト 'zompeto' ...
例えば,forest.default の example についていえば,データ...
forest.default の example の実行結果と,以下のコードの実...
dat.bcg2 <- dat.bcg[rev(dat.bcg[,1]),] # 大元のデータを...
dat <- escalc(measure="RR", ai=tpos, bi=tneg, ci=cpos, d...
slab <- paste(dat.bcg2$author, dat.bcg2$year)
slab[13] <- "Foo Bar 2009" # ラベルの書き換えというか,...
forest(dat$yi, dat$vi, slab=slab,
atransf=exp, xlab="Risk Rates (log scale)")
- zomのデータです。 -- [[なんび]] &new{2009-08-31 (月) 18...
- zom ってなに。どこにあるの? -- &new{2009-08-31 (月) 1...
- zomは上のプログラムで読み込ませてるデータの名前です。デ...
- すみません、そのforest.defaultというのは、どうすれば見...
- ? forest.default してみそ -- [[河童の屁]] &new{2009-08-...
- rma.peto なら,? forest.rma もしてみそ -- &new{2009-08...
- [forest.default]、[forest.rma]もみることができました。s...
- 上にも書いたけど。一般に,データフレーム x があれば, -...
x <- data.frame(a=c(5,2,3,2,1), b=c(4,3,2,1,5))
y <- x[nrow(x):1,] # とすればよい
実際にやって調べて見るなり。データの扱い方の基本あるよ。~
それと,重複した発言は消去するなりして,きれいに後始末し...
- >dat.bcg2 <- dat.bcg[rev(dat.bcg[,1]),] とおなじよう...
- dat2 <- dat[rev(dat[,1])]とかしてませんか? -- &new{200...
- してます・・・ -- [[なんび]] &new{2009-08-31 (月) 20:...
- 「してます・・・」って,原因がわかったということ?わか...
要するに,プログラムというのは,肝心なところは一文字でも...
また,最初に挙げた例よりは,後で挙げた例の方が一般的です...
- ありがとうございます。 もう少し戻って考え直してみたい...
**repeated-measure data & random effect [#d387a4d2]
>[[taipapa]] (2009-08-23 (日) 21:45:22)~
~
お世話になります.~
次のようなデータを分析してます.コントロール28人,疾患群2...
> madata
CorP X location subjectID
1 control 0.708 A 1
2 control 0.648 A 2
3 patient 0.638 C 3
4 control 0.547 D 4
5 patient 0.632 B 5
6 control 0.723 C 6
......
というかんじです.~
~
各A,B,C,Dは同一人物の場所なので,subjectIDでrandom effect...
model1 <- lme(X ~ CorP*location, random= ~ 1| subjectID,...
model2 <- lme(X ~ CorP*location, random= ~ location| sub...
基本的なことですが,書式がよく分からず,私の想定したモデ...
また,defaultでは,restricted log-likelihoodの最大化を行...
根本的に間違っているところもあるかもしれませんが,ご教示...
//
- 判別分析でないの? -- &new{2009-08-23 (日) 23:12:48};
- 私の目的は,疾患の有無の判別を行うことではなくて,疾患...
- データを下記のように考えると判別分析のような気がするん...
ID CorP A.X B.X C.X D.X
1 control 0.708 0.648 0.648 0.547
2 control 0.648 0.632 0.632 0.723
3 patient 0.638 0.708 0.708 0.632
4 ***
- アドバイスありがとうございます.ご指摘の通りのデータで...
- いやいや、locationに意味はあるのかというのは、ABCDが単...
- 何度もありがとうございます.因子という概念を私がきちん...
- 私も素人ですが、、、。RとS-plusによる多変量解析という本...
**順序ロジスティック回帰と変量効果 [#a190b1a8]
>[[dodoria]] (2009-08-20 (木) 02:34:47)~
~
順序ロジスティック回帰や多項ロジスティック回帰で、変量効...
//
**パッケージ"gdata"のロードの不具合 [#q426eed8]
>[[Hiro]] (2009-08-16 (日) 02:02:40)~
~
パッケージ"gdata"をロードしたいのですが、~
パッケージインストーラーでインストールして、~
パッケージマネージャでロード済みをチェックしても、~
以下の出力が表示されてロードすることができません。~
~
> library(gdata)~
Error in loadNamespace(i[[1L]], c(lib.loc, .libPaths())) ...
'gtools' という名前のパッケージはありません
エラー: 'gdata' に対するパッケージもしくは名前空間のロ...
~
これはどういった不具合なのでしょうか。~
ご回答いただければと幸いです。~
//
- gtools をロードしたら -- &new{2009-08-16 (日) 02:40:13};
- ご回答ありがとうございます。問題解決しました。 -- &new...
- パッケージの依存関係を解決にチェックを入れてインストー...
**Rエディタでタブの桁数は設定できるのでしょうか? [#nfc14...
>[[beerdog]] (2009-08-14 (金) 23:16:42)~
~
はじめまして。Windows版のR2.9.1を現在は使っています。~
内蔵のエディタで、タブのコントロールはできるのでしょうか?~
デフォルトで変な(?)桁数のようなので変更したいのですが。~
教えていただけますでしょうか?~
//
- ?edit -- &new{2009-08-15 (土) 20:42:44};
- ご回答ありがとうございます。外部エディタを使ったら?と...
**wireframe関数を用いた描画について [#ge4c449c]
>[[Gyo]] (2009-08-14 (金) 21:02:56)~
~
いつもお世話になっております。~
Rの超初心者なのですが、グラフィックの方法について、~
質問させていただけますでしょうか。~
~
以前のnekoさんのご質問内容に似ているのですが、、~
latticeパッケージにあるwireframe関数で画像を描画した後、~
その底面に同じ座標軸で図を描写したいのですが、~
なにか方法はありますでしょうか?~
~
lattice本のスクリプト集、以前のnekoさんへの回答内容を参考...
wireframe関数の場合、どのようにしたらいいか分かりませんで...
ご教授いただければ幸いです。よろしくお願いいたします。
wireframe(volcano, drape=T, col.regions=rgb(1, 0, 0, 0.1...
panel = function(x, y, ..., subscripts){
panel = panel.wireframe(x, y, ..., subscripts)
panel.points(20,20,col=2,cex=2) #多分ここに何か...
})
Rは、~
R version 2.9.1 ~
i386-pc-mingw32 ~
で、windowsXPを使用しております。~
~
どうぞよろしくお願い致します。~
//
- 以下はSarkar著 [[Lattice Multivariate Data Visualizatio...
> panel.3d.contour <-
function(x, y, z, rot.mat, distance,
nlevels = 20, zlim.scaled, ...)
{
add.line <- trellis.par.get("add.line")
panel.3dwire(x, y, z, rot.mat, distance,
zlim.scaled = zlim.scaled, ...)
clines <-
contourLines(x, y, matrix(z, nrow = length(x), ...
nlevels = nlevels)
for (ll in clines) {
m <- ltransform3dto3d(rbind(ll$x, ll$y, zlim.sc...
rot.mat, distance)
panel.lines(m[1,], m[2,], col = add.line$col,
lty = add.line$lty, lwd = add.line$...
}
}
> wireframe(volcano, zlim = c(90, 250), nlevels = 10,
aspect = c(61/87, .3), panel.aspect = 0.6,
panel.3d.wireframe = "panel.3d.contour", shad...
screen = list(z = 20, x = -60))
詳細は省きますが,この ltransform3dto3d()関数でzlim.scale...
- 「ヘルプを丁寧に読んで,自力で解決してください」とは,...
- ご回答、ご指導ありがとうございます。 後は、ヘルプを参...
**Cox回帰 [#tc46ce82]
>[[EPS]] (2009-08-11 (火) 21:36:13)~
~
Cox比例ハザードモデルで幾つかの独立変数(20程度)について単...
~
dataframe~
A B C D F G duration sta...
1 88 50 43 143 72 14 12 0~
2 130 86 40 98 64 8 16 1~
3 138 100 28 122 72 11 18 1~
一つ一つのパラメータについてresult.A<-coxph(Surv(duration...
for文やsapply関数を用いれば可能なのでしょうか?~
ご教授いただければ幸いです。よろしくお願いいたします。~
//
- そういう,単変量解析を繰り返すやり方はあまり好ましくあ...
- Nが小さいので単変量で有意となった独立変数(P<0.1)を用い...
- まずいです. -- &new{2009-08-14 (金) 14:12:21};
- 理由を教えていただけませんでしょうか?同様の手法を用い...
- http://aoki2.si.gunma-u.ac.jp/taygeta/statistics.cgi?pa...
**ネットワーク上の他のコンピュータに結果を書き出したい [#...
>[[EDI]] (2009-08-08 (土) 01:58:58)~
~
いつも、setwd()をつかって、使っているコンピュータ上に作業...
しかし、頻繁に別のコンピュータで作業したりしているので、...
そこで、ネットワーク上の別のコンピュータに保存されている...
~
質問としては、作業ディレクトリーとして同じネットワーク上...
//
- OSを明記してください。(OSによって回答がちがうでしょう...
- かぶりましたね。OS依存ではないでしょうか?OSは何を使っ...
- 確かにそうです。全てのコンピューターはOSはMac OSXです。...
- Macのシステム環境設定でファイル共有(afp)とWeb共有(WebDA...
- 確かに、まずそれを私も試しました。しかし、それだと、初...
- 解決しました。 -- [[EDI]] &new{2009-08-09 (日) 00:50:29};
- 解決しました。ありがとうございます。 -- [[EDI]] &new{20...
- 解決しました。ありがとうございます。 -- [[EDI]] &new{20...
- macの場合、マウントしたサーバのディレクトリをFinderから...
- Macでは公開するフォルダの[情報を見る]で共有フォルダのチ...
- なるほど。ありがとうございます。一応メニューバーよりcha...
- そうでしょう。getwd()で取り出せませんか? -- &new{2009...
**offset()は何にでも放り込めるわけではない? [#h154826c]
>[[Saito]] (2009-08-04 (火) 16:11:47)~
~
いつもお世話になっております。~
ヘルプドキュメント、RSiteSearch()、ネット検索しましたが、...
~
回帰をするときのオフセット項について質問です。普通、オフ...
glm(y ~ 1, offset=foo)
glm(y ~ 1 + offset(foo))
などとすると思います。しかし、使っている関数によっては引...
library(spBayes)
library(MASS)
##Generate binary data
n <- 50
coords <- cbind(runif(n,1,100),runif(n,1,100))
phi <- 3/50
sigma.sq <- 1
R <- sigma.sq*exp(-phi*as.matrix(dist(coords)))
w <- mvrnorm(1, rep(0,n), R)
x <- as.matrix(rep(1,n))
beta <- 0.1
p <- 1/(1+exp(-(x%*%beta+w)))
y <- rbinom(n, 1, prob=p)
##Collect samples
beta.starting <- coefficients(glm(y~x-1, family="binomia...
beta.tuning <- t(chol(vcov(glm(y~x-1, family="binomial")...
n.samples <- 50000
set.seed(1)
#オフセットなしの場合
m.1 <- spGLM(y~1, family="binomial", coords=coords,
starting=
list("beta"=beta.starting, "phi"=0.06,"sigma...
tuning=
list("beta"=beta.tuning, "phi"=0.1, "sigma.s...
priors=
list("beta.Normal"=list(0,10), "phi.Unif"=c(...
"sigma.sq.IG"=c(2, 1)),
cov.model="exponential",
n.samples=n.samples, sub.samples=c(25000,n.s...
verbose=TRUE, n.report=500)
> print(summary(mcmc(m.1$p.samples)))
Iterations = 1:2501
Thinning interval = 1
Number of chains = 1
Sample size per chain = 2501
1. Empirical mean and standard deviation for each variab...
plus standard error of the mean:
Mean SD Naive SE Time-series SE
(Intercept) -0.571 0.4431 0.008861 0.04042
sigma.sq 1.138 0.6225 0.012448 0.07147
phi 24.928 18.0839 0.361605 2.17077
2. Quantiles for each variable:
2.5% 25% 50% 75% 97.5%
(Intercept) -1.3557 -0.8788 -0.6007 -0.2938 0.3712
sigma.sq 0.1825 0.6351 1.1654 1.5494 2.3773
phi 10.0896 11.9748 17.1254 32.0178 77.8743
#オフセットを考慮した場合
m.1 <- spGLM(y~1 + offset(rep(1, length(y))), family="b...
starting=
list("beta"=beta.starting, "phi"=0.06,"sigma...
tuning=
list("beta"=beta.tuning, "phi"=0.1, "sigma.s...
priors=
list("beta.Normal"=list(0,10), "phi.Unif"=c(...
"sigma.sq.IG"=c(2, 1)),
cov.model="exponential",
n.samples=n.samples, sub.samples=c(25000,n.s...
verbose=TRUE, n.report=500)
> print(summary(mcmc(m.1$p.samples)))
Iterations = 1:2501
Thinning interval = 1
Number of chains = 1
Sample size per chain = 2501
1. Empirical mean and standard deviation for each variab...
plus standard error of the mean:
Mean SD Naive SE Time-series SE
(Intercept) -0.571 0.4431 0.008861 0.04042
sigma.sq 1.138 0.6225 0.012448 0.07147
phi 24.928 18.0839 0.361605 2.17077
2. Quantiles for each variable:
2.5% 25% 50% 75% 97.5%
(Intercept) -1.3557 -0.8788 -0.6007 -0.2938 0.3712
sigma.sq 0.1825 0.6351 1.1654 1.5494 2.3773
phi 10.0896 11.9748 17.1254 32.0178 77.8743
となり、offset()を入れても入れなくても、結果が同じになっ...
どうぞよろしくお願い致します。~
//
- すみません。やはり問題が特化しすぎていたようですね。ま...
**長さが異なる列を結合する方法 [#c6343cbb]
> (2009-08-03 (月) 17:55:38)~
~
data.frameは長さが同じものを結合するときにしか使えません。~
長さが違う場合はどうすればよいですか~
//
- 長さが同じになるようにNAでも付け加える(そのようなこと...
- ご指導ありがとうございます。現在、仕事で装置の総修理台...
- そもそもそう言うデータは、データフレームで取り扱うもの...
不親切だと思われるのは心外なので、典型的なデータ行列がど...
あなたのデータが、発売後の月数が行、品名が列なら、まだ観...
経過月数 品名a 品名b --- 品名Z
1 0 1 --- 2
2 1 3 --- 5
: : : --- :
N 2 NA --- NA
N+1 0 NA --- NA
まあ、こんな風。-- [[河童の屁]] &new{2009-08-03 (月) 22:5...
- 単に一つにまとめてすむのなら、リストにすれば。リストは...
- NAを利用すると解決することを確認しました。大変にご親切...
**matplotによる図の重ね合わせ方 [#yf873cc5]
>[[gonzu]] (2009-07-28 (火) 17:06:17)~
~
パッケージspatstatのK関数を何回か繰り返して求めて、その結...
しかし、
for(i in 1:5)
{
w<-disc(1000,c(runif(1)*5000,runif(1)*5000),mask=FALSE)
plot(w)
xy<-tennenrin.csv
pp<-as.ppp(xy,w,fatal=FALSE)
K<-Kest(pp,correction="isotropic")
}
matplot(K,type="l")
このようにすると、5本ではなく1本のラインしかグラフに表...
使用環境は~
> sessionInfo()
R version 2.7.2 (2008-08-25)
i386-pc-mingw32
です。よろしくお願いします。~
//
- まずバージョンアップ。質問はそれから。 -- &new{2009-07...
-回答ありがとうございます。バージョンアップしました。その...
mymonte<-for(i in 1:10){
X<-runif(704)*50
Y<-runif(704)*50
XY<-data.frame(X,Y)
XY<-data.frame(XY,Dataset[,c(2,12)])
w<-owin(c(0,50),c(0,50))
Rpp<-as.ppp(XY[,1:2],w,fatal=FALSE)
mark1<-XY$DBH.02.
mark2<-XY$sort
Rpp1<-Rpp %mark% mark1
Rpp2<-Rpp1 %mark% mark2
KC<-Kmulti(Rpp2,(mark1<=5)&(mark1>=1)&(mark2=="ヤブムラ...
correction="isotropic")
par(new=T)
plot(KC, sqrt(iso/pi)-r ~ r,ylim=c(-5,5)) # L関数のグラフ
}
**txtファイルの1行目のタイトルを読み込む方法について(質問...
>[[森林]] (2009-07-28 (火) 11:47:09)~
~
テキストファイルの1行目にあるタイトルを読み込み、図などに...
title<-read.table(fname,nrows=1)~
とすれば、 ~
title~
V1
1 1号試験地~
となります。そこで、~
text(x,y,title)~
とすると、"1"のみが表示され、"1号試験地"が表示されません...
もっと適切な命令があると思いますが、R-tipsには記載されて...
//
- names(dat) -- &new{2009-07-28 (火) 12:05:30};
- 自己レスです。 tit<-title$V1 とすれば解決しました。tit...
**複数の連続量同士の相関 [#ab5132f5]
>[[taipapa]] (2009-07-26 (日) 18:47:05)~
~
初めて投稿します.説明変数を脳の画像上のある値(x1,x2,x3,...
//
- すみません,自己フォローです.正準相関分析を使えば良い...
- 応答変数(高次脳機能検査)の検査値間の関連を相関などでみ...
- 応答変数ごとに回帰して意味のある結果が得られれば何も問...
- うーん。複雑な解析を(安易に)いっぺんにやろうとしてるよ...
- 複雑と言われればその通りなのでしょうが,過去の実績から...
- パス解析とかSEMとかは? -- &new{2009-07-28 (火) 00:07:...
- ↑先行研究のモデルを参考にするか、納得のいく因子モデル(...
- 皆様,たくさんのアドバイスありがとうございます.個人的...
**円グラフについて [#fa890604]
>[[tatsu]] (2009-07-25 (土) 23:35:19)~
~
いつもありがとうございます。本当に初心の初心者の質問で...
//
- できません -- &new{2009-07-26 (日) 01:10:29};
- lables 引数に適当な文字列を合成して与えてやれば一応それ...
> x <- 1:5
> y <- letters[1:5]
> z <- paste(paste(y,round(100*x/sum(x),1),sep=" "),"%",...
> z
[1] "a 6.7%" "b 13.3%" "c 20%" "d 26.7%" "e 33.3%"
> pie(x,labels=z)
- ラベルを作るには,sprintf を使った方が見通しがよいと思...
x <- 1:5
z <- sprintf("%.1f", 100*x/sum(x))
pie(x,labels=z)
- どうもありがとうございます。これで十分です。いい勉強に...
- 勉強ついでに「円グラフは好ましくない」も学んでおいたら...
**複数の変数を使った積分について [#dd44e43d]
>[[Saito]] (2009-07-23 (木) 22:09:38)~
~
いつもお世話になっています。似た質問や説明ページがないか...
~
例えば、f(x, y)=exp(0.2*x + 0.3*y + sin(2*x) + cos(y) + 1...
> library(adapt)
> f <- function(x, y){
> + exp(0.2*x + 0.3*y + sin(2*x) + cos(y) + 1)
> + }
> adapt(2, lo=c(0, 0), up=c(10, 20), functn=f)
以下にエラー function (x, y) :
要素 2 は空です;
'*' の引数リストの評価されていた部分は:
(0.3, y)
~
integrateやlibrary(adapt)、library(MASS)に含まれるadaptや...
~
なお、環境はR-2.9.1、WindowsXPです。~
どうぞよろしくお願い致します。~
//
- ネット探す前に、ヘルプドキュメントを熟読するのが先決で...
- 回答ありがとうございます。一応、ヘルプは読んでいたので...
f <- function(x){
exp(0.2*x + 0.3*x + sin(2*x) + cos(x) + 1)
}
adapt(4, lo=c(0, 0, 0, 0), up=c(10, 20, 10, 20), functn=f)
これでも答えは出ますが、間違っている気がします。値がもの...
えーっと…、まだ読み落としている引数があるのでしょうか…。...
- x はベクトル変数です。その成分は(4次元なら)関数本体中で...
- 回答ありがとうございました。えーっと、そのように参照さ...
f <- function(X){
x <- X[1]
y <- X[2]
exp(0.2*x + 0.3*y + sin(2*x) + cos(y) + 1)
}
adapt(2, lo=c(0, 0), up=c(10, 20), functn=f)
むむ、合っているのか不安です…。二次元以上になると正解例を...
- 合っているんではないのでしょうか。値が大きいのは指数関...
> f1 <- function(x) x
> (x1 <- integrate(f1,0,1))
0.5 with absolute error < 5.6e-15
> f2 <- function(x) x[1]*x[2]
> (x2 <- adapt(2,c(0,0),c(1,1),funct=f2))
value relerr minpts lenwrk if...
0.25 7.38275e-08 165 73 ...
- なるほど、ご助言ありがとうございます。確かに0.25になり...
**spatstatでのwindowのランダム抽出に関する質問 [#v72bffec]
>[[gonzu]] (2009-07-22 (水) 15:56:20)~
~
はじめまして。~
パッケージspatstatでのK関数の繰り返しについて質問させて...
使用環境はR version 2.7.2 (2008-08-25) i386-pc-mingw32で...
データセットに5000cm×5000cmプロット内の樹木の位置情報(x,y...
w<-owin(c(0,1000),c(0,1000))
plot(w)
xy<-tennenrin.csv
pp<-as.ppp(xy,w,fatal=FALSE)
K<-Kest(pp)
plot(pp)
plot(K)
このようにするとプロット内の左下1000cm×1000cm内でのK関数...
試しに同じ面積のwindowを作ろうとして、Excelで乱数を999組...
measurement<-read.delim("clipboard")
measurement
> n<-999; m<-1
> x<-1:n
> sample(x,m,replace=TRUE)
[1] 469
となりうまく(x,y)で抽出することができません。どなたかご教...
//
- 実際に試していませんが、例を見ていると次のようにすれば...
P <- sample(0:4000, 2, rep=TRUE)
w <- owin(P[1]+c(0,1000),P[2]+c(0,1000))
- ご回答ありがとうございます。データを読み込むことができ...
**heatmapの列と行ごとのグループ分割について [#mefe599d]
>[[mito]] (2009-07-22 (水) 15:11:08)~
~
いつも丁寧に教えてくださりありがとうございます。~
heatmapである物質とある物質の反応値を書いていてrecallとpr...
出したいのでheatmapの中の行と列ごとの木を必要なグループ数...
~
hclustの場合はcutree()で出来たのですが、ヒートマップだと...
時と同じ変数を入れても並び順が異なっているので困っていま...
ちなみに、ヒートマップは
mixmix <- read.table("mixmix.txt",header=TRUE,sep="\t",r...
mixmix_numeric <- apply(mixmix,c(1:2),as.numeric)
mixmix_matrix <- matrix(mixmix_numeric,nrow=377,ncol=291,
dimnames=list(rownames(mixmix_numeric),
colnames(mixmix_numeric)))
mixmix_scale <- scale(mixmix_matrix)
mixmix_scale_numeric <- apply(mixmix_scale,c(1:2),as.num...
mixmix_scale_euclid <- dist(mixmix_scale_numeric,method=...
pdf("hyoujunka_honto.pdf",paper="special",width=37,heigh...
heatmap(mixmix_scale_numeric,hclustfun=(function(mixmix_...
hclust(mixmix_scale_euclid,method="ward")),
col=c("#000000","#a31782","#2353a9","#00a765","#5ac49...
"#ff8d00","#fb4000","#fc7574"))
dev.off()
で書いています。~
また~
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-apple-darwin8.11.1
です。よろしくお願いします。~
//
- 試してみようと思ったのですが、mixmix.txt がどんなものか...
//
- 添付ファイルをつけてみたのですが、これで実行していただ...
お手数おかけします。
~&ref(mixmix.txt);
- おお。完璧に再現できました。誰かがコメントしてくれるこ...
- 再現ありがとうございます。しばらく待たせていただきます...
**インストール時の警告 [#jf2b087f]
>[[桃太郎]] (2009-07-17 (金) 16:38:54)~
~
はじめまして。~
超初心者の質問ですみません。~
パッケージインストールがうまくいかず困っています。~
環境は
> sessionInfo()
R version 2.7.0 (2008-04-22)
i386-pc-mingw32
です。パッケージ"gstat"を使用したくインストールし読み込ん...
>library(gstat)~
エラー: パッケージ 'sp' が 'gstat' によって要求されま...
追加情報: Warning message:
パッケージ 'gstat' はバージョン 2.7.2 の R の下で造られ...
と返ってきてしまいました。~
パッケージ'sp'がインストールされていないようでしたので「...
>local({pkg <- select.list(sort(.packages(all.available ...
+ if(nchar(pkg)) library(pkg, character.only=TRUE)})
> utils:::menuInstallPkgs()
URL 'ftp://ftp.ecc.u-tokyo.ac.jp/CRAN/bin/windows/contri...
ftp data connection made, file length 844848 bytes
開かれた URL
downloaded 825 Kb
パッケージ 'sp' は無事に開封され、MD5 サムもチェックされ...
警告: パッケージ 'sp' の前のインストールを取り除くこと...
ダウンロードされたパッケージは、以下にあります
と警告が返ってきてしまい、うまくインストールが出来ません。~
何が原因なのでしょうか?~
また"sp"がインストールされれば"gstat"は読み込めるのでしょ...
どなたかご教授よろしくお願いいたします。~
//
- 2.7.0の本体で,2.7.2 で作られたライブラリをインストール...
- ありがとうございます。これを機に2.9.1にアップデートしま...
- このページ冒頭の注意事項の最後に該当しますね。 -- &new...
**barplotの棒の原点 [#o81c591d]
>[[mona]] (2009-07-15 (水) 18:47:18)~
~
はじめまして。~
Rの棒グラフの書き方について質問させてください。~
~
正の数値をbarplotで水平方向に表示させると、~
x軸の0から棒が伸びていきますが、~
この伸びていく原点を変更したいのです。~
~
たとえば10をその原点にとり水平方向に棒グラフを書くと、~
データが5の場合は左方向に、15の場合は右方向に~
10から棒が伸びていくように描きたいと思っています。~
~
どなたかご教授よろしくお願いします。~
//
shift <- 10 ; barplot(c(0,5,10,15,20)-shift, horiz=T, of...
-- [[こさるでござる]] &new{2009-07-16 (木) 14:40:19};
- できました!本当にありがとうございました。 -- [[mona]] ...
**levelplot描画に関する質問 [#o4fd0c14]
>[[neko]] (2009-07-14 (火) 19:18:50)~
~
はじめまして。~
Rの超初心者なのですが、描画の方法について、質問させてくだ...
levelplot関数で画像を描画した後に、更に重ねて描画したいの...
どなたか教えていただけますでしょうか。~
使用環境は、
sessionInfo()
R version 2.8.1 (2008-12-22)
i386-pc-mingw32
です。どうぞよろしくお願い致します。~
//
- levelplot 関数とは何ですか?基本パッケージに無い関数は...
- 返信遅くなりまして申し訳ありません。レスありがとうござ...
- そろそろ訳本が出版される [[Lattice 本のスクリプト集:htt...
- 以下は一つの方法です.後は自力でがんばってください. --...
> library(lattice)
> levelplot(volcano, panel = function(x,y,..., subscrip...
{
panel = panel.levelplot(x, y, ..., subscripts)
panel.points(20,20,col=2,cex=2 )
})
Latticeの訳本,図版のレイアウトの関係でちょっと手間取って...
- レスありがとうございます。 できました! latticeの訳本...
- 石田先生ありがとうございます。石田先生がドイツ語から直...
- 需要はあるはずなので,きっと翻訳が出るだろう,と私も期...
**maptoolsに関する質問2 [#g600f9b0]
>[[ichigo]] (2009-07-14 (火) 18:37:07)~
~
追加で質問させていただきます~
東京・埼玉のシェープファイルをダウンロードし、ワーキング...
library(maptools)
tokyohx <- readShapeSpatial("tokyohk.shp")
plot(tokyohx)
saitamax <- readShapeSpatial("saitamak.shp")
plot(saitamax, add=T)
隣り合う複数の県(東京、埼玉、神奈川など)を考え,任意の点...
下の「in.polygon」関数では、頂点や境界上の点はFALSEを返す...
このような場合、東京と埼玉をあわせた外枠?を取得すれば上...
二つのシェイプデータからそのようなデータを作成することは...
~
また、日本全土のデータ(japank.shp)を用いれば、複数の県...
日本全土のデータから、任意の点をを東京・埼玉の内部かどう...
~
どうぞよろしくお願いいたします.~
//
- 下のpoint.in.polygon関数はどうですか?外枠(エクステン...
- レスありがとうございます. point.in.polygonで解決しまし...
**maptoolsに関する質問 [#g8a99758]
>[[ichigo]] (2009-07-14 (火) 12:32:07)~
~
[[ShapeFileライブラリ]]の「ShapeFileデータ(地域境界・地...
ありがたく使わせていただいております.~
いろいろ調べていたところ、「R Book」に解説が載っているRma...
Version2.0以上には対応していないようなので、maptoolsを使...
~上記ページから東京の島無しのシェープファイルをダウンロー...
library(maptools)
tokyohx <- readShapeSpatial("tokyohk.shp")
plot(tokyohx)
これで東京の外枠が描画できます.~
さて、質問なのですが、ある任意の地点の緯度経度を与えてそ...
どうかを判定することがこのデータを使ってできますでしょう...
できるとすればどのような処理内容になるでしょうか?
もしよければご回答くださると助かります.~
例えば以下のような緯度・経度です.~
> chiten_x <- c(35.677822, 139.771458)
> chiten_x
[1] 35.67782 139.77146
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-pc-mingw32
locale:
LC_COLLATE=Japanese_Japan.932;LC_CTYPE=Japanese_Japan.932;
LC_MONETARY=Japanese_Japan.932;LC_NUMERIC=C;LC_TIME=Japa...
attached base packages:
[1] stats graphics grDevices utils datasets me...
other attached packages:
[1] maptools_0.7-25 sp_0.9-36 foreign_0.8-29
loaded via a namespace (and not attached):
[1] grid_2.8.1 lattice_0.17-17
よろしくお願いします.~
//
- 外枠の緯度・経度は↓で取り出せると思うので、後は自由に加...
tokyohx@polygons[[1]]@Polygons[[1]]@coords
- レスありがとうございます.昨日からmaptoolsをさわりはじ...
&ref(tokyo01.png);
- sgeostatパッケージにin.polygon関数があるので、使えるか...
- ありがとうございます.できたようです.まずはご報告まで...
tmp <- data.frame(tokyohx@polygons[[1]]@Polygons[[1]]@co...
library(sgeostat)
in.polygon(139.771458, 35.677822, tmp$X1, tmp$X2)
[1] TRUE
in.polygon(139.771458, 40.677822, tmp$X1, tmp$X2)
[1] FALSE
- ポイント・イン・ポリゴンは、わざわざ、sgeostat を使わな...
point.in.polygon(139.771458, 35.677822, tmp$X1, tmp$X2)
- ありがとうございます.上の「maptoolsに関する質問2」で...
- 注:point.in.polygon関数はspパッケージの中にある関数で...
- いまさらですが版権?表示.「上記画像の作成に当たっては...
**動画の読み込み [#zedffac4]
>[[nosyan]] (2009-07-13 (月) 16:12:45)~
~
Rでavi,wmvなどの動画ファイルを読み込む方法はありますでし...
パッケージを探してみましたが、該当するものが見つからなか...
//
- readBinでやるしかないのかな。 -- &new{2009-07-13 (月) ...
**test.tableが見つからない [#p805a0c1]
> (2009-07-13 (月) 10:17:34)~
~
こんにちは。~
とても基本的なことで質問させてください。~
使っているものはR version 2.6.2 (2008-02-08) です。~
~
test.tableを使おうとすると~
~
> (a<-test.table(*****))~
エラー: 関数 "test.table" を見つけることができませんで...
~
とでてきます。~
パッケージなどをインストールしなおしたりしたのですが、~
どうしても見つからないとエラーがでてしまいます。~
~
対処法をご存知の方がいらっしゃいましたらよろしくお願いし...
//
- 何かのパッケージの関数なのか、自作関数なのか、単に自作...
- なんとか動きました!本当にありがとうございます。 -- &n...
- 何が悪かったのかレスよろしく -- &new{2009-07-13 (月) 1...
- 注意:バージョンを上げること。せめてハンドル名ぐらい名...
**各ベクトル要素の差の2乗を求めたい [#qab56602]
>[[名無しさん]] (2009-07-13 (月) 03:59:00)~
~
いつもお世話になっております。~
昔使っていたC言語のくせがとれず、"Rらしい"書き方がまだで...
以下のようなプログラムを"Rらしく"書くにはどのようにしたら...
例えば、
[1,] 1 2 4
という長さ3のベクトルvecがあったときに
[,1] [,2] [,3]
[1,] 0 1 9
[2,] 1 0 4
[3,] 9 4 0
各ベクトル要素の差の2乗を求めた(添え字が対応している)3*3...
for(i in 1:3){~
for(j in 1:3){
mat[i,j] <- ( vec[i] -vec[j] ) ^ 2
}
}
とすると求まりますが、とてもC言語的です。~
Rらしい書き方の例を教えてください。~
お願いします。~
//
- Rらしいかどうかはわからないけど、線形代数的に x <- c(1,...
- outer() 関数が便利です。ベクトルだけでなく行列、配列で...
> outer(vec,vec,FUN="-")
[,1] [,2] [,3]
[1,] 0 -1 -3
[2,] 1 0 -2
[3,] 3 2 0
> outer(vec,vec,FUN="-")^2
[,1] [,2] [,3]
[1,] 0 1 9
[2,] 1 0 4
[3,] 9 4 0
# いっぺんで済ませたかったら
> ds = function(x,y) (x-y)^2
> outer(vec,vec,FUN=ds) # outer(vec,vec,FUN=funct...
[,1] [,2] [,3]
[1,] 0 1 9
[2,] 1 0 4
[3,] 9 4 0
- 解答ありがとうございます。 -- [[名無しさん]] &new{2009-...
- outer関数はRらしくて好きです。これから使っていきたいと...
- ちなみにPentiumD 2.8GHz メモリ1.5Gで(x %*% t(rep(1,len...
**Macで、sourceをすると、不正なマルチバイト文字列がある [...
>[[onen]] (2009-07-09 (木) 16:34:26)~
~
はじめまして。R超初心者です。調べてみてもわからなかったの...
まず背景状況は以下の通りです。~
OS→Mac OS X 10.5.7~
> sessionInfo()~
R version 2.9.0 (2009-04-17) ~
i386-apple-darwin8.11.1 ~
~
locale:~
ja_JP.UTF-8/ja_JP.UTF-8/C/C/ja_JP.UTF-8/ja_JP.UTF-8~
~
attached base packages:~
[1] stats graphics grDevices utils datasets met...
[7] base ~
以上。~
source('myfunc/myfunc.R')をやってみたのですが、
~
「構文解析中に不正なマルチバイト文字列がありました (1行) ...
と表示されてしまいます。~
~
どなたか解決策ご教授お願いいたします。~
//
- encoding 引数を調べること -- &new{2009-07-09 (木) 17:1...
- source('myfunc/myfunc.R',encoding="utf-8") ?? -- &new...
- ↑ デフォルトのエンコーディングが UTF-8 なのに、ファイル...
- 可能性としては何か変な制御文字が紛れ込んでいるのでは。...
- ↑ その可能性は低いでしょう。エンコーディングを確かめる...
- 私もMacintosh使いですが,経験的にはencoding="CP932"で読...
- インターネットからダウンロードしたものなら、encoding="e...
**クラスターから主要な語句を検索 [#j4295861]
>[[レイン]] (2009-07-09 (木) 13:06:52)~
~
はじめまして。R初心者でして調べてみてもわからなかったので...
デンドログラムを作成して、クラスターを分類したのですが、...
よろしくお願いします。~
//
- 各クラスターを特徴づけている重要項をしらべたいのです。 ...
- 具体的にデータを示さないと、何を教えていいのかもわから...
- すみません。扱っているデータはアーティストの特徴を表し...
- ↑これは、説明であって「具体的なデータ」じゃない。どんな...
- あなたのやりたいことは、デンドログラムに要素の名前を描...
- そうなんですか。どの要素が重要かわからないのですね。ご...
- そうなんですか。どの要素が重要かわからないのですね。ご...
- そうなんですか。ご丁寧にありがとうございます! -- [[レ...
- 「語句‐文書行列」なら、コレスポンデンス・アナリシス(対...
**metaforの実行 [#k2cb9402]
>[[なんび]] (2009-07-08 (水) 17:26:29)~
~
metaforをつかってメタアナリシスを行いたく、~
丹後俊郎先生著「メタアナリシス入門」のデータを使ってシミュレーショ...
オッズ比がマイナスの値となってでてきました。~
どこがおかしいのかどうしてもわからないので教えてください。~
structure(list(ai = c(3, 7, 5, 102), bi = c(35, 107, 64, ...
), ci = c(3, 14, 11, 127), di = c(36, 102, 82, 1303)), .N...
"bi", "ci", "di"))~
~
library(metafor)~
dat<-scan("./blocker_abcd.txt", ~
list(ai=0,bi=0,ci=0,di=0),~
skip=0,nlines=4,sep="")~
blpeto<-rma.peto(ai,bi,ci,di, slab=NULL, subset=NULL, dat...
add=c(1/2,0), to=c("only0","none"), level=95, di...
forest(blpeto)~
//
- 出てくるのは log odds ですよ。help 読みましょう。 -- &...
- help読みました。 確かにlog oddsratioでした。ありがと...
**パイプを使った R の実行 [#bea32e82]
>[[パンチドランカー]] (2009-07-08 (水) 01:04:28)~
~
Windows で、PHPの shell_exec 関数を利用して、Rを実行...
echo a=rnorm;b=a[a>=0.5]| rterm --slave
代入"<="は"="に置き換えましたが、上の対策方法が分かりませ...
どなたか、この解決法、ご教授していただけませんか?~
//
- echo 'a=rnorm(10);b=a[a>=0.5]; print(b)' | rterm --slav...
- レスありがとうございます。全然だめです、な〜んにもでま...
- UNIX マシンで、rterm ではなく R をつかって、以下のよう...
% > echo 'a=rnorm(10);b=a[a>=0.5]; print(b)' | R --slave
[1] 1.0513718 0.7390706 0.9937101
- ありがとうございます。でも、Windows ではだめですね、な...
私は諦めの悪いほうで、Windows は捨てられません。そこで...
rscript -e "a<-rnorm(10);b<-a[a>=0.5]; print(b)"
を実行したところ、OKでした。シングルクォテーションは駄目...
**並列処理における乱数生成法について [#x6712b63]
>[[Saito]] (2009-07-06 (月) 17:12:34)~
~
いつもお世話になっております。~
並列処理をしようと思うのですが、どうやら同一の乱数から結...
library(snow)
f <- function(n){
a <- rnorm(1, n, 1)
return(a)
}
cl <- makeSOCKcluster(c("localhost", "localhost"))
clusterExport(cl, "f")
system.time(ff <- parSapply(cl, 1:10, function(x){f(1)}))
>ff
[1] -0.2169740 0.9034649 0.7919217 1.9640380 0.94306...
[7] 0.9034649 0.7919217 1.9640380 0.9430635
[[Rで並列計算:http://www.okada.jp.org/RWiki/?R%A4%C7%CA%C...
HTML パッケージ記述を更新
library(rsprng)
以下にエラー library(rsprng) :
'rsprng' は有効なインストール済みパッケージではありま...
と出るだけで、rsprngが使えるようになった気配がありません...
なお、環境はWindowsXP、R-2.9.1、Core 2 Duoです。~
どうぞよろしくお願い致します。~
//
- SPRNGは分布が良くないので, 現在は人気がありません. rlec...
> library(snow)
> cl<-makeCluster(rep("localhost",2))
> clusterSetupRNG (cl,seed=123)
Loading required package: rlecuyer
[1] "RNGstream"
> clusterCall(cl,runif,2)
[[1]]
[1] 0.4340643 0.3185276
[[2]]
[1] 0.5240271 0.0738508
snowとrlecuyerを普通にインストールすれば上記は動作するで...
- rlecuyerをインストールすれば動作しました。ご教授ありが...
f <- function(n){
a <- rnorm(1, n, 1)
b <- rnorm(1, n, 2)
return(list(a=a, b=b))
}
cl <- makeSOCKcluster(c("localhost", "localhost"))
clusterExport(cl, "f")
system.time(ff <- parSapply(cl, 1:10, function(x){f(1)}))
> t(ff)
a b
[1,] 0.8602452 -0.9136815
[2,] 1.220000 1.192357
[3,] 0.5558699 2.945972
[4,] -0.07316578 -0.5083378
[5,] 0.9687442 -1.506602
[6,] 0.8602452 -0.9136815
[7,] 1.220000 1.192357
[8,] 0.5558699 2.945972
[9,] -0.07316578 -0.5083378
[10,] 0.9687442 -1.506602
この結果をa列b列についてそれぞれ、例えば平均値を求めたい...
apply(t(ff), 2, mean)
とでもすれば出来るのですが、list型では一発ではできません...
> mean(c(t(ff)[[1]], t(ff)[[2]]))#これを全てデータで打ち...
[1] 1.040123
> mode(as.data.frame(t(ff)))#データフレームにも直らない...
[1] "list"
もし、どなたか、このようなlist型のデータでの要約の仕方を...
- colMeans(matrix(unlist(t(ff)), nrow(t(ff)))) -- &new{2...
- lapply(ff, mean) -- &new{2009-07-07 (火) 19:07:25};
- ↑ lapply はだめでないかい?例だと、20個の要素の1個ず...
そもそも、なんで list で結果を返さないといけないのかなあ...
- 返す値がlistなのにSapplyで受け取るのは筋が良く無いです....
- ご回答くださった方々、本当にありがとうございました。誠...
**heatmapの適用は階層型クラスタリング [#vb89b3b7]
>[[mito]] (2009-07-03 (金) 16:35:00)~
~
また、初歩的な質問で申し訳ありません。~
heatmapで使えるhclustは階層型クラスタリングだけなのでしょ...
平均を利用して書く、ということで非階層型クラスタリングのk...
//
- k-meansの手法を本などで調べてください。理由がわかります...
**上下1,2%を切った状態での標準化 [#h2f72917]
>[[kouda]] (2009-06-29 (月) 16:51:47)~
~
いつも丁寧な返信をありがとうございます。~
早速質問させていただきたいのですが、~
列ごとに上下1,2パーセント切った状態で標準化を行うにはどう...
標準化はscale関数に入れれば、列ごとに標準化は行っているの...
外れていそうな値が多いので上下1,2パーセント切って標準化し...
~
足りない情報等ありましたら、教えていただければと思います。~
よろしくお願いします。~
~
使用環境は~
> sessionInfo()~
R version 2.8.1 (2008-12-22) ~
i386-apple-darwin8.11.1 ~
~
です。よろしくお願いします。~
//
- 除外される値は捨て去るのですか?もしそうなら元が行列(re...
> set.seed(1234); A <- matrix(sample(1:10,30,rep=TRUE),1...
> A
[,1] [,2] [,3]
[1,] 2 7 4
[2,] 7 6 4
[3,] 7 3 2
[4,] 7 10 1
[5,] 9 3 3
[6,] 7 9 9
[7,] 1 3 6
[8,] 3 3 10
[9,] 7 2 9
[10,] 6 3 1
# 列毎に上下10%をNA値に置き換え
> B <- A; for(i in seq(ncol(A))) {
x <- B[,i]
y <- (x<= quantile(x,0.1) | x >= quantile(x,0.9))
B[y,i] <- NA}
> B
[,1] [,2] [,3]
[1,] 2 7 4
[2,] 7 6 4
[3,] 7 3 2
[4,] 7 NA NA
[5,] NA 3 3
[6,] 7 9 9
[7,] NA 3 6
[8,] 3 3 NA
[9,] 7 NA 9
[10,] 6 3 NA
> scale(B)
[,1] [,2] [,3]
[1,] -1.8267086 0.9950898 -0.4572988
[2,] 0.6089029 0.5761046 -0.4572988
[3,] 0.6089029 -0.6808509 -1.1686525
[4,] 0.6089029 NA NA
[5,] NA -0.6808509 -0.8129757
[6,] 0.6089029 1.8330602 1.3210855
[7,] NA -0.6808509 0.2540549
[8,] -1.3395863 -0.6808509 NA
[9,] 0.6089029 NA 1.3210855
[10,] 0.1217806 -0.6808509 NA
attr(,"scaled:center")
[1] 5.750000 4.625000 5.285714
attr(,"scaled:scale")
[1] 2.052873 2.386719 2.811541
> colMeans(scale(B), na.rm=TRUE)
[1] 0.000000e+00 2.775558e-17 7.930164e-17
> var(scale(B)[,1], na.rm=TRUE)
[1] 1
> var(scale(B)[,2], na.rm=TRUE)
[1] 1
> var(scale(B)[,3], na.rm=TRUE)
[1] 1
- ありがとうございます!!やりたいことが出来ました!!除...
**NAを含む行列のみを抽出するには? [#d8f91fcf]
>[[ono]] (2009-06-26 (金) 17:23:36)~
~
単純な質問で恐縮です。(使用環境はmac OS 10.5.7, R versio...
NAを含む行列を除くのは、na.omitやsubsetを使えば出来るので...
以下に、パッケージに含まれているattenuのデータを使って示...
~
DATA=attenu # The Joyner-Boore Attenuation Data(5列、182...
names(DATA)~
#stationの列にNAが入っている行を抽出したいが、以下は全て...
subset(DATA, station==NA)~
subset(DATA, station=="NA")~
subset(DATA, station=="")~
subset(DATA, station=="<NA>")~
subset(DATA, as.character(station)=="NA")~
~
本当に単純な問題で申し訳ないですが、ご教授いただけると幸...
//
- is.na()を使って DATA[is.na(DATA$station), ] が簡単でし...
- なるほど。そのようにやるのですね。迅速なアドバイスあり...
- subset() 関数を使いたければ -- &new{2009-06-27 (土) 12...
subset(DATA, subset=is.na(DATA$station))
subset(DATA, subset=!complete.cases(DATA))
**普遍クリギングを行い、独立変数のパラメータを得たい [#e9...
>[[Saito]] (2009-06-25 (木) 16:24:31)~
~
いつもお世話になっております。~
研究で普遍クリギングを使う予定であります。私の手元にある...
library(fields)
r1 <- runif(20, 0, 1)
r2 <- runif(20, 0, 1)
r3 <- runif(20, 0, 1)
Lat <- r1
Long <- r2
val <- rep(c(1, 2, 3, 4), 5)
Val <- val + r3
Area <- rep(c(1, 2, 3, 4), each=5)
m <- matrix(0, 20, 4)
for(j in 1 : 4) {
for (i in 1 : length(Area)) {
if (j==Area[i]) {
m[i, j] <- 1
} else {
m[i, j] <- 0
}
}
}
colnames(m)=c("1", "2", "3", "4")
D <- data.frame(Lat, Long, Val, m)#これが解析で使うデータ
K <- Krig(x=data.frame(D$Lat, D$Long, D$X2, D$X3, D$X4),...
coef(K)#推定された係数値
G <- glm(Val~Lat + Long + as.factor(Area))
coef(G)#GLMによって得られた係数値。Krigで得られたものと...
~
Krig()とは別な方法として、library(gstat)にあるgstat()を使...
~
なお、Rは2.9.0、OSはWindowsXPです。どうぞよろしくお願い致...
//
- ネット検索だけですむことは少ないです。まずは [[地球統計...
- ご助言ありがとうございます。地球統計学の本は既に読んで...
- こうした個々のパッケージに関する質問への適切な回答が得...
# 恐らく(責任持ちません、自分でチェックして納得して下さい)
> coef.Krig(Krig(ozone$x, ozone$y, theta=20, m=1))
[,1]
[1,] 39.78066
# つまり当てはめ平均値曲面は定数 f(x,y)=39.78
> coef.Krig(Krig(ozone$x, ozone$y, theta=20, m=2))
[,1]
[1,] 4.022360e+01
[2,] 2.552514e-04
[3,] 1.338397e-02
# つまり当てはめ平均値曲面は平面 f(x,y)=4.02e+1+2.55e-04...
> coef.Krig(Krig(ozone$x, ozone$y, theta=20, m=3))
[,1]
[1,] 36.972752325
[2,] 0.033350055
[3,] 0.063710522
[4,] 0.011040245
[5,] 0.009597520
[6,] 0.004741821
# つまり当てはめ平均値曲面は2次曲面
# f(x,y)=37.0+0.033*x+0.063*y+0.011*x^2+0.0096*xy+0.0047...
-
- 丁寧な返信ありがとうございます。早速自分でも試してみま...
library(fields)
K2 <- Krig(data.frame(x1=ozone$x[, 1], x2=ozone$x[, 2],x...
x4=ozone$x[, 1]*ozone$x[, 2], x5=(ozone$x[, 2])^2), ...
K3 <- Krig(ozone$x, ozone$y, m=3)
coef(K2)
coef(K3)
set.panel(2, 2)
plot(K2, main="m=2")
x11()
set.panel(2, 2)
plot(K3, main="m=3")
x1=ozone$x[, 1]
x2=ozone$x[, 2]
x3=(ozone$x[, 1])^2
x4=ozone$x[, 1]*ozone$x[, 2]
x5=(ozone$x[, 2])^2
y=ozone$y
summary(lm(y ~ x1 + x2 +x3 + x4 + x5))#線形回帰でも一応...
- K2はいわば5次元空間でクリギングをやっていることになり...
- なるほど。普遍クリギングの説明変数が座標以外になると、...
- 自己レスです。普遍クリギングの説明変数に座標以外を使っ...
- 好き勝手にまず空間トレンドを推定してそれを引き去った後...
- なるほど、ありがとうございます。お邪魔虫になっていると...
**大小関係の自前定義 [#d320cc08]
>[[七転八倒]] (2009-06-25 (木) 00:47:34)~
~
XPで2.7.1を使っています。~
~
例えばトランプのようにA<2<3<...Q<Kのように自前で大小関係...
~
事前にA<2<3...<Kと順序つきで因子を指定したnum列を用い、~
suit num
1 S A
2 S 2
3 S 3
...
52 C K
このようなデータフレームを作りました。~
これをランダムに並べ替えのち13枚取り出して、スートと番号...
xorder<-order(x$suit,pmax(x$suit,x$num))
x[xorder,]
と入力したところ
以下にエラー mmm < each : これらの型の比較は未実装です
追加情報: Warning message:
メソッド ("Ops.factor", "Ops.ordered") は "<" に対しては...
というエラーがでました。~
pmax以下がないとうまくいきました。~
これはどういう状態なのでしょうか?ご教授お願いしますm(_ _...
//
- order(x$suit,x$num)でいいように思うんですが、pmaxはなん...
- ただの因子には順序は定義されていません。順序付き因子の...
> Lev <- c("1","2","3","C","B","A","x","z","y")
> (x <- ordered(c("A","2","2","C","y"), levels=Lev))
[1] A 2 2 C y
Levels: 1 < 2 < 3 < C < B < A < x < z < y
> order(x)
[1] 2 3 4 1 5
> x[order(x)]
[1] 2 2 C A y
Levels: 1 < 2 < 3 < C < B < A < x < z < y
> (y <- ordered(c("B","1","A","z","x"), levels=Lev))
[1] B 1 A z x
Levels: 1 < 2 < 3 < C < B < A < x < z < y
> order(x,y)
[1] 2 3 4 1 5
> x[order(x,y)]
[1] 2 2 C A y
Levels: 1 < 2 < 3 < C < B < A < x < z < y
- R-Tipsにそのように書いてあったので丸写ししていました>pm...
- 想定される全てを網羅していればいいと言うことですね>lev...
**Rでのスクリーンキャプチャ [#h7a3576a]
>[[なつ]] (2009-06-22 (月) 19:13:22)~
~
WindowsXPでR-2.8.1を使用しています。~
Rを使って、Google Earthからカラー画像をキャプチャ→保存し...
なお、Google Earth COM APIではモノクロ画像しかキャプチャ...
~
調べた中で可能性がある?と思った方法は以下の二つです。~
・CかC++でスクリーンキャプチャする関数を書き、dllとしてR...
CUIの関数はMinGWでビルドしてRでロードして使うことがで...
GUIのプログラムはVCで少し囓った程度なので、~
Win32API(w32api-3.13-mingw32-dev.tar)はDLしてきたので...
スケルトンすらビルドできませんでした。~
そもそもMinGWでGUIプログラムをビルドしている例が見つ...
本当にできるのか自体がわかっていません。~
~
・COMを通す方法~
スクリーンキャプチャができるソフトウエアでCOMに対応し...
~
上の方法にこだわってはいませんので~
実現できそうな方法をご存知の方がいらっしゃいましたら、~
大変お手数で恐縮なのですが、ヒントを頂けると助かります。~
プログラム関連の用語の使い間違いや~
根本的な思い違いがありましたら申し訳ありません。~
//
- Rのsystem()とpowershellやvbs(wsh)のsendkeyを組み合わせ...
- WinShotというコマンドラインでスクリーンキャプチャできる...
**sink関数について [#mb9cb3ab]
>[[あきやま]] (2009-06-20 (土) 14:07:03)~
~
sinkを関数定義の中で使用するとうまくいきません。~
RのバージョンはR-2.9.0,OSはWindowsXPです。~
通常の使用方法
a <- matrix(c(100,200,300,400),ncol=2)
filename <- tempfile()
sink(filename)
chisq.test(a,correct=F)
sink()
file.show(filename)
うまくいかなかった例
original_output <- function(){
a <- matrix(c(100,200,300,400),ncol=2)
filename <- tempfile()
sink(filename)
chisq.test(a,correct=F)
sink()
file.show(filename)
}
うまくいった代わりの方法
original_output <- function(){
a <- matrix(c(100,200,300,400),ncol=2)
filename <- tempfile()
writeLines(capture.output(chisq.test(a,correct=F)),filen...
file.show(filename)
}
sink関数の仕様でしょうか?~
それとも使い方が間違っているのでしょうか?~
どなたか教えていただきたいと思います。よろしくお願いしま...
//
- sinkがstdout(標準出力)に出力してるから当然といえば当...
- 同じく.capture.output() 関数は出力ファイルを指定すれば...
original_output <- function(){
a <- matrix(c(100,200,300,400),ncol=2)
filename <- tempfile()
capture.output(chisq.test(a,correct=F), file = filename)
file.show(filename)
}
- ありがとうございます。問題が解決し、非常にありがたく思...
**貢献パッケージ内のクラス定義へのアクセス [#d50bf819]
>[[林]] (2009-06-20 (土) 08:33:34)~
~
貢献パッケージ内のクラスについて調べたいのですが、うまく...
以下では、Hmiscのlabelledクラスにアクセスしようとしていま...
~
> library(Hmisc)
> age <- c(21,65,43); label(age) <- "Age in Years"
> class(age)
[1] "labelled"
> (env <- environment(label))
<environment: namespace:Hmisc>
> getClass("labelled", where=env)
以下にエラー getClass("labelled", where = env) :
"labelled" は定義されたクラスではありません
~
ただ見るだけならばソースを読めばいいのですが、~
最終的には継承して新しいクラスを作りたいと考えています。~
しかしそれもうまくいきません。~
~
> setClass("labelled2",contains="labelled")
以下にエラー reconcilePropertiesAndPrototype(name, slot...
スーパークラス "labelled" の定義が, クラス "labelled2"...
~
クラス"labelled"の定義が見つけられていないのが原因という...
どのように解決すればよいのでしょうか?~
名前空間の問題だとは思うのですが…。where = envと指定まで...
なにか根本的な勘違いをしている気がします。よろしくお願い...
環境は以下です。~
~
> sessionInfo()
R version 2.9.0 (2009-04-17)
i386-pc-mingw32
//
- Hmisc パッケージの label() 関数は単に label クラス属性...
> str(age)
Class 'labelled' atomic [1:3] 21 65 43
..- attr(*, "label")= chr "Age in Years"
- ありがとうございます。getClass()等はS3には使えないので...
- 継承はsetOldClass("labelled")ののちにsetClass(...)でで...
**median survival timeの比較について [#dfa85447]
> (2009-06-17 (水) 14:59:45)~
~
現在、生存時間解析に関連して、median survival timeの比較...
treatment 4例、control 26例の計30例で、全例打ち切りなしで...
このとき、例えば survfit() コマンドでmedian survival time...
~
方法論としては~
~
Brookmeyer, R. and Crowley, J. J. (1982b). A k-sample med...
~
あたりが思いつきますが、implementしたRのパッケージなどが...
//
- survrec package の survdiffr() とかは? -- [[surg]] &ne...
**階層の深さが違うリスト [#o453756c]
>[[東福寺]] (2009-06-16 (火) 23:25:58)~
~
R2.9.0 をウィンドウズで使用しております。~
とあるプログラムを走らせている中途に、下記のようなリスト...
~
a <- list(matrix(1:4,2), list(matrix(3:6,2), matrix(4:7,...
~
これを、length が4でそれぞれの element が 2x2 のマトリッ...
~
unlist(a, recursive=F)
~
が普通に思いつく方法なのですが、これだと、a[[1]] と a[[3]...
~
できあがりが~
list(matrix(1:4,2), matrix(3:6,2), matrix(4:7,2), matrix...
~
となる方法をご教授願います。~
//
- 副作用ありであんまりきれいじゃないんだけど・・・ b<-NU...
- 同じく今一ですが... relist(unlist(a), lapply(1:4, fun...
- 階層を合わせてunlist. unlist(lapply(a,function(x)if(is....
- いろいろありますね。ありがとうございました。 -- [[東福...
**マトリクスの添え字 [#sc5cbc20]
>[[FFFF]] (2009-06-16 (火) 16:18:39)~
~
あるデータを読み込むと、~
~
EX1= ~
~
WEIGHT HEIGHT~
[1,] 50 150 ~
[2,] 60 160~
~
となっているのですが、これを通常の表記~
~
EX2= ~
~
[,1] [,2]~
[1,] 50 150 ~
[2,] 60 160~
~
~
とするにはどのようすればよろしいでしょうか?~
よろしくお願い致します。~
//
- これは添字ではなく列名ラベルです。-- &new{2009-06-16 (...
> EX1
WEIGHT HEIGHT
[1,] 50 60
[2,] 150 160
> colnames(EX1) <- NULL
> EX1
[,1] [,2]
[1,] 50 60
[2,] 150 160
> colnames(EX1) <- c("WEIGHT","HEIGHT")
> EX1
WEIGHT HEIGHT
[1,] 50 60
[2,] 150 160
**行列*ベクトルの計算 [#y83fffd6]
>[[もくず]] (2009-06-16 (火) 15:59:54)~
~
いつもお世話になっています。~
~
A= [,1] [,2] [,3]~
[1,] A B C
[2,] D E F
~
B= [,1] [,2] [,3]~
[1,] G H I
~
の時、~
~
C= [,1] [,2] [,3]~
[1,] A/G B/H C/I
[2,] D/G E/H F/I
~
となるようにするにはどのような計算式すればよいでしょうか?~
~
C <- A/B~
~
とすると~
~
C= [,1] [,2] [,3]~
[1,] A/G B/I C/H
[2,] D/H E/G F/I
~
となってしまいます。~
//
- 例えば(他にも色々ありそうだが) -- &new{2009-06-16 (...
A/rbind(B,B)
t(t(A)/B)
scale(A,0*B,B)
sweep(A,2,B,FUN="/")
**subset()で抽出したデータのレベルを削除する方法について ...
>[[すろん]] (2009-06-16 (火) 13:07:18)~
~
いつもお世話になっております。~
使用環境は~
R version 2.9.0 (2009-04-17)
powerpc-apple-darwin8.11.1
です。~
以下のようなデータフレーム~
~
> a
a b c d
1 a 0.01905276 1.173279 3
2 b 0.80433105 1.154605 2
3 c 0.06782948 1.043263 NA
4 d 0.12807006 1.945755 1
5 e 0.35224305 1.224513 NA
~
から、subset()を用いて以下のように抽出して、新たなデータ...
> a2 <- subset(a, !is.na(d))
> a2
a b c d
1 a 0.01905276 1.173279 3
2 b 0.80433105 1.154605 2
4 d 0.12807006 1.945755 1
~
この場合、データフレームa2の行数は3列で、length( a2$a )を...
> b
a e
1 a 7.615926
2 b 2.504819
3 d 6.824558
~
と、上記のa2を結合しようとすることを考えます。この場合、m...
> a <- merge(a2,b)
> a
a b c d e
1 a 0.01905276 1.173279 3 7.615926
2 b 0.80433105 1.154605 2 2.504819
3 d 0.12807006 1.945755 1 6.824558
~
しかし、~
> levels(a$a)
[1] "a" "b" "c" "d" "e"
~
とするとおわかりのように、元々のデータのレベルが残ってい...
また、subsetを用いずにデータを抽出した場合も、結果は同様...
a4 <- a[ !is.na(a$d),]
> a4
a b c d
1 a 0.01905276 1.173279 3
2 b 0.80433105 1.154605 2
4 d 0.12807006 1.945755 1
> levels(a4$a)
[1] "a" "b" "c" "d" "e"
何とか、データフレームa2の列aのレベルを"a", "b", "d"にで...
因みに、今はデータフレームを一度テキストファイル等に書き...
//
- drop = T -- &new{2009-06-16 (火) 14:20:09};
- 早速のお返事、ありがとうございます。マニュアルをよく読...
- 昨日のご指摘を受け色々試したところ,以下のようなことが...
> df
lb x y z
1 a 1 2 5
2 b 3 NA 3
3 c 2 3 2
4 d 1 2 3
5 e NA 5 2
6 f 4 4 1
> df2 <- subset( df, df["y"] == 2, drop = TRUE )
> df2
lb x y z
1 a 1 2 5
4 d 1 2 3
> levels(as.factor(df2$x))
[1] "1" # レベルは"1"のみに
> levels( df2$lb )
[1] "a" "b" "c" "d" "e" "f" #削除した行のレベルも残っ...
上記のように,文字列の場合は最初のデータフレームのレベル...
> df$x <- as.factor( df$x )
> df2 <- subset( df, df["y"] == 2, drop = TRUE )
> levels(df2$x)
[1] "1" "2" "3" "4"
> levels(as.factor(df2$y))
[1] "2"
> levels(df2$lb)
[1] "a" "b" "c" "d" "e" "f"
factorの列のレベルも消去する方法を,もう少し考えてみます...
- df2$lb <- factor(df2$lb) 残るのが気持ちが悪いなら, dfsp...
- ありがとうございました。教えていただいた関数dfsp()を実...
**legendの枠の大きさを変更したいのですが [#meb9bfe3]
>[[aabc]] (2009-06-14 (日) 22:30:00)~
~
棒グラフの凡例から文字がはみ出てしまいます。~
このHPとR Helpで隈なく調べてみたのですが、枠の大きさを変...
よろしければご教授下さい。~
本体のversionはR-2.6.2です。~
ご指摘を受けたので、具体的なコードを載せます(6/15(月)...
>df
V1 V2 V3
1 2 15 23
2 13 50 135
3 36 124 371
4 105 214 679
5 161 301 684
6 150 222 403
7 120 152 196
8 65 80 91
9 41 43 30
10 47 32 18
>colnames(df) <- birth.number <- c("0人","1人","2人") #...
>rownames(df) <- marry.at.age <- c("15~18歳","19~20歳","...
"25~26歳","27~28歳","29~30歳","31~32歳","33~34歳...
>barplot(data.matrix(df),col=rainbow(10),horiz=TRUE,main...
xlab="標本数",ylab="出生児数")
>legend(x=1500,y=2.3,marry.at.age,fill=rainbow(10),
title="妻の\n結婚年齢",cex=0.8)
枠そのものを変更できる方法はないでしょうか?
#ref("barplot_and_legend.png")
//
- コードを載せてください. -- [[よろしければ]] &new{2009-...
- legendの枠については、titleに与えている文字の表示は1列...
- legendの枠なんて本質的な問題ではないので、この場合は枠...
- なるほど、確かにtitle引数によってlegendの枠の大きさを間...
> barplot(data.matrix(df),col=rainbow(10),horiz=TRUE,ma...
xlab="標本数",ylab="出生児数")
>legend(x=1500,y=2.3, marry.at.age, fill=rainbow(10),
title=" 妻の結婚年齢 ", cex=0.8) #文字列の両端を1...
>legend(x=750,y=2.3,marry.at.age, fill=rainbow(10),
title=" ", cex=0.8) #空白のスペース
#ref(barplot_and_legend_001.png)
- いくつか表を並べた場合などは, legend(....., text.width=...
- strwidth、使えますね!他のサイズ指定にも役立ちそうです...
**作業中のファイルの名前取得 [#d3b47a29]
>[[ジェットラグ]] (2009-06-11 (木) 19:14:46)~
~
既存のファイル(例えば"hoge.RData")をRguiで開いて作業中...
~
RのバージョンはR-2.9.0,OSはWindowsXPです.~
//
- えーっと, loadしたファイルの履歴をとると言う意味であれば
attach(NULL, name = "JetFunEnv")
assign("loadHistory",
commandArgs()[grep(".RData$",commandArgs(),ignore.case=...
pos="JetFunEnv")
assign("load",
function(file, envir= parent.frame()) {
assign("loadHistory",
c(get("loadHistory",pos="JetFunEnv"),file),
pos="JetFunEnv")
base:::load(file,envir)
},
pos="JetFunEnv")
見たいなのを, .Rprofileに仕込んで, `loadHistory'とタイプ...
- ありがとうございます.後から試して,結果を報告します. ...
- 一つのやり方はファイル中のオブジェクトに該当ファイル名...
#ファイル中のオブジェクトにファイル名をコメントする関数...
> Comment <- function(file.name) {
name <- load(file=file.name) # ファイルからオブジェ...
A <- paste("comment(",name,")='from the file ",file.n...
eval(parse(text=A)) # ファイル名をコメント...
B <- paste("save(",name,",file='",file.name,"')",sep=...
eval(parse(text=B)) } # 再びファイルに保存
> x <- 1:10
> save(x,file="x.data")
> rm(x)
> Comment("x.data")
> load("x.data")
> comment(x)
[1] "from the file x.data"
- ありがとうございます.最初の方法と併せて,試行の結果を...
- 最初にご提示いただいた中にあるcommandArgs()という関数で...
> commandArgs()
[1] "C:\\R\\bin\\RGui.exe" "C:\\temp\\...
となるので,commandArgs()[2]で求めていたファイル名を取得...
> load("c:/temp/hoge.RData")
によってワークスペースをロードした場合には,commandArgs()...
- JetFunEnv環境内のloadHistory変数にload関数を実行するた...
- レスが遅くなり失礼しました.なるほど,そういうことだっ...
**limmaインストール [#j03198b9]
>[[sh]] (2009-06-10 (水) 14:08:58)~
~
'limma'パッケージがインストールできません。アドバイスをよ...
~
> install.packages("limma",dep=T)
Warning message:
In getDependencies(pkgs, dependencies, available, lib) :
package ‘limma’ is not available
> sessionInfo()
R version 2.9.0 (2009-04-17)
i386-apple-darwin8.11.1
//
- CRANにはPackage ‘limma’ was removed from the CRAN repos...
- `source("http://bioconductor.org/biocLite.R") ; biocLit...
- source("http://bioconductor.org/biocLite.R") ; biocLite...
**非線形最小自乗法 nls( ) 関数でのエラーの理由 [#v5aed4b6]
>[[のの]] (2009-06-08 (月) 21:16:42)~
~
次のデータyを,nls()関数で2次・3次多項式で近似し,それ...
y<-c(0.4404,0.2764,0.1124,-0.0516,-0.2156,-0.3796,-0.543...
x<-c(1:8) # 変数~
res1=nls(y~a+b*x,start=c(a=1,b=1),trace=T) # 1次式~
これを実行すると,エラー「繰り返し数が最大値 50 を超えま...
res2=nls(y~a+b*x+c*x^2,start=c(a=1,b=1,c=1),trace=T) # 2...
res3=nls(y~a+b*x+c*x^2+d*x^3,start=c(a=1,b=1,c=1,d=1),tr...
これら2次式,3次式を実行すると,エラー「勾配が特異です」...
~
データは見た感じほぼ直線ですが,上記3つの式で近似して当...
どなたか原因と対策をお教えいただけないでしょうか。どうか...
~
バージョンは,R2.5.0,WindowsXP を使用しています。~
//
- ?nls (「R基本統計関数マニュアル」の263頁)を見ましょう。...
> diff(y)
[1] -0.164 -0.164 -0.164 -0.164 -0.164 -0.164 -0.164
> ye <- y+1e-3*rnorm(length(y)) #人工的な誤差を加えるの...
> res1=nls(ye~a+b*x,start=c(a=1,b=1),trace=T) # 1次式
310.7787600001795 : 1 1
7.94637207633663e-06 : 0.6045071713694352 -0.163966602...
> res2=nls(ye~a+b*x+c*x^2,start=c(a=1,b=1,c=1),trace=T) ...
12261.1517016733 : 1 1 1
7.78438558419458e-06 : 6.040413965366944e-01 -1.636871...
-3.105165551708922e-05
> res3=nls(ye~a+b*x+c*x^2+d*x^3,start=c(a=1,b=1,c=1,d=1)...
604223.0598427523 : 1 1 1 1
7.6193699392589e-06 : 6.048664356480176e-01 -1.6454551...
1.939590111998957e-04 -1.666745679362869e-05
- 単に誤差から式を見積もれないだけじゃないの?誤差がないの...
- 最適化の手法を変えると解が求まりますよ。res1=nls(y~a+b*...
- 皆様,ありがとうございます。解決しました! -- [[のの]] ...
- ?nlsすると*Do not use 'nls' on artificial "zero-residua...
- ご指摘ありがとうございます。そうですね。。 -- [[のの]] ...
- AIC(lm(y~x+I(x^2)+I(x^3)))とかで良いのでは? なに故にnls...
**判別分析による予測について [#j4fd0b18]
>[[yuuuu]] (2009-06-05 (金) 02:55:35)~
~
lda関数によって判別式の算出と算出に用いたデータ自体の判別...
初歩的な質問かもしれませんが,どなたかお分かりの方いらっ...
//
- ?ldaかexample(lda)すると、predict(z, Iris[-train, ])$cl...
- 英語苦手な人は [[R 基本統計関数マニュアル:http://www.i...
**外れ値の棄却について [#q825f18f]
>[[mito]] (2009-06-03 (水) 17:29:59)~
~
こんにちは。~
すみません、初歩的な質問なのですが調べても分からなかった...
糖鎖とタンパク質(または血清やウィルスなど)の結合親和性...
書いています。ヒートマップのクラスタがきれいに出ないので...
そこで列ごと(つまり一つのタンパク質に対する糖鎖の結合親...
使用環境は
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-apple-darwin8.11.1
です。よろしくお願いします。~
//
- 分野特異的なタームが多いと返事が出にくいと思いますよ.要...
x <- matrix(sample(100,50),ncol=10)
y <- t(apply(x,1,function(x) scale(x,center=mean(sort(x)...
# 上下を1つずつ除いた場合
という意味でしょうか? -- [[akira]] &new{2009-06-03 (水) 1...
- 返信ありがとうございます。具体的に書いた方がより良いか...
- 配慮が足りなくてすみません。そうです。上下値を1から2...
- 単に±3SDの外側の値を捨てて、値がでなくなるまで繰...
- すみません。意味がよくわからないのですが、列ごとに上下...
> ex_matrix
Answer1 Answer2 Answer3 Answer4
A 101 120 70 35
B 153 162 88 46
C 89 135 78 24
D 26 49 42 17
E 36 70 30 16
F 167 216 144 71
G 125 143 89 65
があったときに
> apply(ex_matrix,2,sort)
Answer1 Answer2 Answer3 Answer4
[1,] 26 49 30 16
[2,] 36 70 42 17
[3,] 89 120 70 24
[4,] 101 135 78 35
[5,] 125 143 88 46
[6,] 153 162 89 65
[7,] 167 216 144 71
を使ってこのソートした後の1行目と7行目の値を無視して正...
1行目と7行目の値を列ごとに除外した平均と標準偏差が列ご...
- 例を出したので1行目と7行目と書いたのですが、本当はも...
- 私が書いたように妥当性の話だと思います。z変換が妥当なら...
- 「列ごとに上下値を3つずつくらい除外して」というのは「...
- 恣意的です。Z値を求めるときは除外したものを入力値として...
**重み付きロジスティック回帰分析のプログラミング方法 [#id...
>[[初心者]] (2009-06-01 (月) 13:16:17)~
~
はじめまして。~
目的変数が1のデータが141個、0のデータが34個のデータセット...
ですが、目的変数が1と0のデータの数に差があるため、glmパッ...
//
- やりたいことだけじゃなく、デモデータ、やったことを書く...
- 175組のデータを集めたら、目的変数の値が1のものが141組あ...
**正の乱数発生 [#e3abe385]
>[[edora]] (2009-06-01 (月) 02:28:33)~
~
"The R Book"を読んでRでシミュレーションをしてみようと思っ...
以下のように乱数を発生させるサンプルがあるのですがrunif(1...
---サンプル----
RNGkind("Super-Duper")
# 10000個の擬似乱数を正の整数の範囲で生成してinitsという...
inits <- as.integer(runif(10000,0,1)*.Machine$integer.max)
よろしくお願いします。~
//
- .Machine$integer.max = 2^(32)-1 は R が扱える最大正整数...
- 最大正整数が2^(32)-1なんですね。得られる桁数の指定で使...
**p値の指数を変更する方法(p値が0.000000e+00となってしま...
>[[かわべ]] (2009-05-29 (金) 03:03:48)~
~
多重比較検定をTukey法によって行っています.~
青木先生のHP(http://aoki2.si.gunma-u.ac.jp/R/tukey.html)...
source("http://aoki2.si.gunma-u.ac.jp/R/src/tukey.R", en...
dat <- read.table("in.txt",header=T)
tukey(dat$number,factor(dat$No))
というふうに検定を行っていますが
t p
1:2 9.239636 0.000000e+00
1:3 12.311420 0.000000e+00
・
2:3 3.071784 1.206570e-02
・
・
というようにp値が0になってしまうものがでてきます.
サンプル数が大きすぎるため(各群サンプル数110,4群比...
//
//- 使用環境をのせるのを忘れておりましたR version 2.9.0 (...
- R version 2.9.0 (2009-04-17) i386-pc-mingw32 attach...
//- R version 2.9.0 (2009-04-17) i386-pc-mingw32 atta...
//- R version 2.9.0 (2009-04-17) i386-pc-mingw32 atta...
- 数字の出力桁数を最大にするだけですむなら option(digits...
- ありがとうございます.入れてみましたが、 エラー: 関数...
- ちなみに数値の出力桁数って初期設定ではどれくらいなので...
- 失礼 options(digits=22) です。実際は有効桁数は16-17桁で...
**survfitが使えません [#s80082fe]
>[[かわぐち]] (2009-05-28 (木) 22:55:35)~
~
生存分析を行い生存曲線をカプランマイヤー法で描こうと思っ...
event <- c("y","y","y","y","y","n","y","y","n","y","y","...
"y","y","y","y", "n","y","n","y","y","y","y","y","n","n"...
time <- c(16,2,6,5,8,13,4,8,11,1,13,7,16,10,9,8,14,17,14...
15,17,16,14,8)
dat <- Surv(time, event=="y")
res <- survfit(dat)
以下にエラー survfit(dat) :
Survfit requires a formula or a coxph fit as the first ...
とのエラーが出て分析できません。何が間違っているのでしょ...
//
- survfitがformulaかcoxph fitしか取らないと言っています。...
- 返事ありがとうございます。しかし、survfitが要求している...
- 2.9.0 と 2.8.1 とで挙動が違うようですね.2.8.1 では以下...
> library(survival)
要求されたパッケージ splines をロード中です
> event <- c("y","y","y","y","y","n","y","y","n","y","y"...
"y","y","y","y", "n","y","n","y","y","y","y","y","n","n"...
> time <- c(16,2,6,5,8,13,4,8,11,1,13,7,16,10,9,8,14,17,...
13,6,3,15,17,16,14,8)
> dat <- Surv(time, event=="y")
> res <- survfit(dat)
> res
Call: survfit(formula = dat)
n events median 0.95LCL 0.95UCL
30 22 13 8 16
> plot(res)
2.9.0 では,
> dat <- Surv(time, event=="y") ~ 1
としないとダメ.-- [[surg]] &new{2009-05-29 (金) 10:28:20};
- なるほど、それが右側の~1だったのですね。 2.9.0で仕様が...
**Sliding windowによる t-test [#ae20f7f2]
>[[ぴ]] (2009-05-27 (水) 00:19:18)~
~
すみません。どなたかこのやり方をご存知ではないでしょうか?~
例えば、1から100までの数が順に並んでいると考えてくだ...
このとき、仮に20個の数字を一つのwindow sizeとしてこのグ...
つまり、
<比較A>
[1-20]と [21-100]の間のt-test
<比較B>
[2-21]と [1& 22-100]の間のt-test
<比較C>
[3-22]と [1-2& 23-100]の間のt-test
<比較D>
[4-23]と [1-3& 24-100]の間のt-test
<比較E>
[5-24]と [1-4& 25-100]の間のt-test
.
.
.
<比較Z>
[81-100]と [1-80]の間のt-test
として、それぞれのp-valueを求め、最終的にはその中で最も小...
すみませんが、どなたかご存知ではないでしょうか?~
お願いします。~
//
- こういうテストにはきっと何も意味はないよ,と思いつつ・...
x <- rnorm(100)
p <- rep(0,81)
for(i in 1:81){
g <- rep(0,100)
g[i:(i+19)] <- 1
p[i] <- t.test(x ~ g)$p.value
}
-- [[ぷ]] &new{2009-05-27 (水) 01:16:57};
- ありがとうございました。やってみます。
ただ、もしかすると上の場合は、20の要素と全体の100の...
求めたいものは、20の要素と残り80の要素の比較なのです...
よろしくお願いします。 -- [[ぴ]] &new{2009-05-27 (水) 05:...
- 大丈夫です。 -- [[ぷぷぷ]] &new{2009-05-27 (水) 07:40:5...
- ありがとうございます!! -- [[ぴ]] &new{2009-05-27 (水)...
//- ありがとうございます。C言語のprintf等で使える"\n"や"\...
//- 書き込みの衝突が原因で、下に書き込んだはずのコメント...
**barplotで各棒に長い名前を付ける方法 [#h05cd97d]
>[[kddoi]] (2009-05-25 (月) 16:15:08)~
~
棒グラフを作成しようとしております。しかし、個々の棒に付...
pos <- barplot(c(1:7), ylim=c(0,8))
box()
axis(1, at=pos, tick=FALSE, labels=paste("Very long name...
ようやくaxisの代わりにtext(pos, 0, paste("Very long name"...
//
- par(las=2, mar=c(10,4,4,1));barplot(c(1:7), ylim=c(0,8)...
- シンプルで応用の利く方法をありがとうございます。lasの指...
- それでも長い場合はpaste("Very very very \nvery long nam...
- ありがとうございます。C言語のprintf等で使える"\n"や"\t"...
**番号が連続するグループの数を調べたい・・・ [#c7f88451]
>[[ぽち]] (2009-05-24 (日) 00:47:22)~
~
例えば、
x <-c(1,2,3,4,5,6,8,9,10,11,12,13,15,16,17,19,20)~
という配列があったとします。~
ここから、番号が5個以上連続で続いているグループ(1,2,3,4...
//
- 検索でわかる性質の問題ではありません。Rの文法はわからな...
- 8,9,10,11,12,13は6つ続きの1グループと考えるだけでよいの...
- すみません。言葉足らずでした。 「8,9,10,11,12,13は6つ続...
実際のところ、これはブーツストラップの一部で、このような...
そのため、
x <-c(1,2,3,5,6,8,9,10,11,13,15,16,17,19,20)
に対して、「5つ以上連続する番号があるグループ」という条...
よろしくお願いします。
-- [[ぽち]] &new{2009-05-24 (日) 13:44:10};
- これはどう?
> x <- c(1,2,3,4,5,6,8,9,10,11,12,13,15,16,17,19,20)
> y <- rle(diff(x)) #差分の連続のし...
> z <- y$lengths[which(y$values == 1)] #差分1の連続する...
> length(z[z >= 4]) #(基準-1)以上の...
[1] 2
-- &new{2009-05-24 (日) 15:56:57};
- nrow(subset(data.frame(c(rle(diff(x)))), values==1 & le...
- ありがとうございます。 早速、組み込んでやってみます!...
**プロットでデータ群を記号分けしたい [#se82ee47]
>[[初心者。。]] (2009-05-22 (金) 15:43:22)~
~
散布図で2種類のデータ群を色分けではなく、記号分けしたい...
例えば、Aのデータ群を○、Bのデータ群を×で表示したいのです...
初歩的な質問ですが、よろしくお願いします。~
//
- [[matplot>http://www.okada.jp.org/RWiki/?%A5%B0%A5%E9%A...
- pchに記号のベクトルを与えれば良いのでは?
> x <- cbind(matrix(sample(100,32),ncol=2,dimnames=list(...
group=rep(c(1,4),8))
> plot(x[,1:2],pch=x[,3])
ということですか? -- [[akira]] &new{2009-05-22 (金) 19:0...
- akiraさん。回答ありがとうございます。下記の「よろしくお...
- 勉強が不十分なようですね。色分けの方法を知っているなら...
- 「初心者。。」さんのお役に立ててよかったです。ただ、私...
> x <- cbind(x=1:4,y=1:4)
> plot(x,pch=x[,1])
この意味をよく考えれば分かると思います。 -- [[akira]] &ne...
**記載データの散布図での3次元(4次元)表示方法 [#o2ad7e...
>[[よろしくお願いします。]] (2009-05-22 (金) 14:24:41)~
~
Rの初心者です。以下のようなデータを3次元(または4次元)...
> x<-cbind(rnorm(700,mean=11,sd=10),rnorm(700,mean=28,sd...
rnorm(700,mean=1,sd=1),rnorm(700,mean=14,sd=15))~
> y<-cbind(rnorm(600,mean=30,sd=50),rnorm(600,mean=27,sd...
rnorm(600,mean=7,sd=1),rnorm(600,mean=16,sd=21))~
どなたか、よろしくお願いします。~
//
- 「データを3次元(または4次元)表示」が具体的にどうい...
- scatterplot3dじゃだめかな? -- &new{2009-06-01 (月) 14...
**SASからRへのプログラム書き換え [#o42cde74]
>[[もうダメです。。]] (2009-05-22 (金) 08:34:54)~
~
ここでお尋ねしてよいのか迷いましたが、自分で考えてももう...
~
SASの以下のプログラムをRにしなくてはいけません。~
たくさん調べてみたのですが、私はどちらも初心者で、考えが...
以下は、Rで書くと、どのように書き直せるのでしょうか?
proc tpspline data A~
model Y=(X1 X2 X3)/alpha=0.01;
score data=A out=B
output out=C
Run;
場違いな質問をしていたら申し訳ありません。~
//
- 機能的な書き換えだけなら, proc tpsplineに対応するR関数...
- パッケージ「gss」をインストールした後、例えば
以下のRプログラムを実行すれば、推定値のグラフを描く
ところまでやってくれます。
function ()
{
library(gss)
xx1 <- c(1,2,4,3,5,6,5,7,6,8)
xx2 <- c(5,2,1,9,3,1,2,3,9,5)
yy <- c(2,2,1,9,2,1,1,1,2,2)
data1 <- data.frame(x1 = xx1, x2 = xx2, y= yy)
data2 <- list(x12=cbind(xx1, xx2), y=yy)
anova1 <- ssanova0(y~1+x12, data=data2)
ex1 <- seq(from = min(xx1), to = max(xx1), by = 0.1)
ex2 <- seq(from = min(xx2), to = max(xx2), by = 0.1)
ex12 <- expand.grid(ex1, ex2)
data3 <- model.frame(~1+x12, list(x12=cbind(ex12[,1], e...
ey1 <- predict.ssanova0(anova1, data3, inc=c("1","x12"))
eymat1 <- matrix(ey1, ncol=length(ex2))
persp(ex1, ex2, eymat1)
}
SASのalphaというのは推定値の信頼区間を推定するための定数...
ssanova0()を利用する場合は、上のRプログラムならanova1の...
利用すれば、推定値の信頼区間は容易に得られます。--[[竹澤]...
**Rで作った計算プログラミングをVBAやC#用のDLLにするには?...
>[[青空]] (2009-05-17 (日) 11:23:37)~
~
Rは3年度ほど使わせてもらっていますが、最近VBAやC#用のDLL...
//
- 聞いたことないな・・・。Rをコンパイルするってことか? -...
- DLL作成機能はないかなぁ・・・.ですが、実際やったことは...
- Rを裏で立ち上げないと、VBAやVBから直接利用出来ないよう...
- ないってば。見方を変えて、Sならあるのか調べてみたら? -...
**ベン図の面積 [#a7b8b088]
>[[sh]] (2009-05-14 (木) 23:04:29)~
~
個数に比例するように面積を変化させたVenn Diagramを描くに...
//
- symbols()でできるけど、個数と円の面積をそのまま比例させ...
- アドバイスありがとうございます。どうすればよろしいでし...
- Flanney J (1971). “The Relative Effectiveness of Some C...
#ref(VennDiagram.png)
- > 個数と円の面積をそのまま比例させるのはまずい~
と言っているが,間違えている(というか,後では正しいこと...
要するに,「個数を半径(直径)に比例させるのではなく,面...
**Rをエンジンとしたフロントエンドを自作するには? [#r6150...
>[[しまだ]] (2009-05-13 (水) 22:31:36)~
~
Rまだまだ初心者です。筑波大のSDAMのようにデータ処理をRに...
//
- GUI実装のパッケージは色々あると思う。フロントエンドをど...
- Windows版のR-2.7.1に添付されているPDFで「R-exts.pdf」と...
- どうもありがとうございました。まずは御紹介頂いた資料に...
**R のコードのデバッグに使用する開発環境について [#b2da66...
>[[初心者]] (2009-05-11 (月) 00:30:22)~
~
最近 R を使い始めた初心者です。~
R でコードを書いて、デバッグしようと思うのですが、予め設...
browser() でできることに近いのですが、browser() だと CUI ...
Eclipse 上で R を動かしたり、Meadow + ESS で試したりした...
ような機能はないように見えます。~
そもそも、そのような開発をするほどの長さのコードを書かな...
//
- わたしが知る限り初心者さんが記述しているデバッガ以外で...
- [[ess-rdired.el:http://www.okada.jp.org/RWiki/?ESS#z0b3...
- 返信が遅くなってしまい申し訳ございません。ess-rdired.el...
**Rで一から画像を作成する方法 [#xbb162cc]
>[[焼津の半次]] (2009-05-08 (金) 21:46:35)~
~
Rで、一から画像を作成してPNG形式で保存したいのです...
//
- 「一から画像を作成して」の部分がよくわからんが、「PN...
- 画像の保存はbitmap・Jpeg・PNG・windows metafile・pdf・p...
- SVG -- &new{2009-05-09 (土) 13:02:18};
**GLM−エラー [#a1f92a1f]
>[[そのまま]] (2009-05-08 (金) 15:50:59)~
~
一般化線形モデル(GLM)の分析について、以下のようなデータを...
> d02$y
[1] 59.61 33.27 20.27 10.18 11.77 12.88 23.30 14.15 5....
> d02$x
[1] 27.84 27.66 26.90 26.91 27.25 27.24 27.30 27.21 27....
AIC値を求めるとき、
> AIC(glm(y~x,family=poisson,data=d02))
[1] Inf
Warning messages:~
1: In dpois(y, mu, log = TRUE) : non-integer x = 59.610000
2: In dpois(y, mu, log = TRUE) : non-integer x = 33.270000
略
9: In dpois(y, mu, log = TRUE) : non-integer x = 5.100000
10: In dpois(y, mu, log = TRUE) : non-integer x = 0.790000
のようなエラーが出ます。なぜでしょうか?教えてください。~
//
- これは,AIC が出しているウォーニングメッセージではなく ...
従属変数を無理矢理整数にすると以下のようにウォーニング無...
> AIC(glm(as.integer(y)~x,family=poisson,data=d02))
[1] 98.2934
> AIC(glm(round(y)~x,family=poisson,data=d02))
[1] 93.20353
- as.integerを使うことで解決できました。有難うございます...
**エクセルでデータファイルを作る際のエラー [#g1d6838b]
>[[高橋]] (2009-05-08 (金) 00:37:04)~
~
本当に素人です。~
Rで回帰分析を行うために、エクセルで”カンマで区切って数値”...
//
- read.csv使ってますか? -- &new{2009-05-08 (金) 11:23:21};
- あ!すみません。質問の仕方が悪かったみたいですね。解決...
**heatmapの行と列の名前の取り出し方について [#gb667522]
>[[maori]] (2009-05-06 (水) 17:21:29)~
~
たびたび初歩的な質問をすみません。~
糖鎖とタンパク質との反応のheatmapを書いていて、糖鎖の数が...
heatmapの中のlabRowがそれを示しているのだと思ったのですが...
> z <- read.table("test.txt",header=TRUE,sep="\t",row.na...
> z_numeric <- apply(z,c(1:2),as.numeric)
> z_euclid <- dist(z_numeric,method="euclid")
> heatmap(z_numeric,hclustfun= function(z_euclid)
hclust(z_euclid,method="ward"))
です。~
また、ヒートマップの詳しい書き方について学べるページがあ...
使用環境は
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-apple-darwin8.11.1
です。よろしくお願いします。~
//
- x<-heatmap(ほげほげ); labels(x$Rowv) -- [[takahashi]] &...
- 返信ありがとうございます。
> label_z <- heatmap(z_numeric,hclustfun= function(z_euc...
hclust(z_euclid,method="ward"));labels(x$Rowv)
character(0)
> label_z
$rowInd
[1] 1 5 13 19 8 18 6 14 15 3 7 2 9 17 16 12 10 ...
$colInd
[1] 4 3 5 1 2
$Rowv
NULL
$Colv
NULL
となってしまうのですが、何が原因でしょうか。どう解決すれ...
再び質問ですみません。-- [[maori]] &new{2009-05-06 (水) 2...
- heatmap() 関数の引数として keep.dendro = T を追加して実...
- ありがとうございます!取り出すことができました。levelpl...
**plotにおける横軸目盛と関数の値の対応がずれる [#g5baa4d8]
>[[hf]] (2009-05-06 (水) 13:01:44)~
~
二項分布について,
> dbinom(0,3,.5)
[1] 0.125
のように求めた値と,
> plot(dbinom(0:3,3,.5),xlim=c(0,5),ylim=c(0,.5))
でx=0,1,2,3に対する値を求めてプロットしたものとを比べると...
dbinom(x,n,p)でxに与えた値と,plot(dbinom(x,n,p))でグラフ...
使用環境は以下の通りです。
> sessionInfo()
R version 2.8.0 (2008-10-20)
i386-pc-mingw32
よろしくお願いいたします。
//
- plot(0:3, dbinom(0:3,3,.5)) -- &new{2009-05-06 (水) 13...
- ありがとうございました。 -- [[hf]] &new{2009-05-06 (水)...
**R2WinBUGSでモデルファイルの読み込み [#p8659ddf]
>[[tonton1225]] (2009-05-04 (月) 16:14:57)~
~
RからWinBUGSを呼び出し、下記のモデルファイルを読み込むと...
エラーの内容はよく分からない記述になっていて、解読できま...
エラーは無駄に長く、コピペしても意味がないっぽいのでコピ...
WinBUGSのバージョンは1.4.3、WindowsXPです。~
なぜ、モデルファイルを読み込めないのかどなたか教えて下さ...
モデルファイル
model
{
for(i in 1:N) {
data[,i] ~ dmultinom(4,prob)
}
Tau <- 1
alpha1 ~ dnorm(0, Tau)
alpha2 ~ dnorm(0, Tau)
alpha3 ~ dnorm(0, Tau)
alpha4 ~ dnorm(0, Tau)
alpha <- ceiling(abs(c(alpha1,alpha2,alpha3,alpha4)))
prob ~ ddirichlet(alpha)
}
WinBUGSを呼び出す
# パッケージの読込
library(MCMCpack)
library(R2WinBUGS)
# データの作成
Tau.real<-10
alpha.real<-rnorm(4, 0, Tau.real)
alpha.real <- ceiling(abs(alpha.real))
prob.real<-rdirichlet(1,alpha=alpha.real)
data<-rmultinom(n=100,size=4,prob=prob.real)
N<-ncol(data)
# 初期値と保存するパラメータを設定
in1<-in2<-in3<-list(alpha1=1,alpha2=1,alpha3=1,alpha4=1,...
inits<-list(in1,in2,in3)
parameters<-c("alpha1","alpha2","alpha3","alpha4","prob")
# R2WinBUGSを実行
sample.wb<-bugs(
data, inits, parameters,
model.file="model.bug.test.txt",
debug=FALSE,
n.chains=3, n.iter=10000, n.burnin=1000,
codaPkg=TRUE,
bugs.directory="C:/Program Files/WinBUGS14",
working.directory=NULL
)
//
- 投稿書式がなっていなかったので,修正しておきます(初心...
- ありがとうございます。色々と初心者ですみません。 -- [[t...
- 「エラーの内容はよく分からない記述になっていて、解読で...
まあ,これだけ親切に??投稿法について記述しても,初心者...
- エラーの一部ですが、試しに出してみます。よろしくお願い...
incompatible copy
BugsCmds.TextError [000003A1H]
.beg INTEGER 831976856
.end INTEGER 16861596
.name ARRAY 256 OF CHAR "C:/Documents and Settings/sumio...
"C:/Documents and Settings/sumioka/My Documents/program/...
.pos INTEGER 35
.text TextModels.Model [01016F90H]
.v Views.View [010182D0H]
BugsCmds.Parse [00000470H]
.name ARRAY 256 OF CHAR "C:/Documents and Settings/sumio...
"C:/Documents and Settings/sumioka/My Documents/program/...
.s BugsScanners.Scanner
.char CHAR "]"
.nextCh CHAR " "
.real REAL 5.515143454889401E-308
.int INTEGER 1
.pos INTEGER 35
.type INTEGER 0
.len INTEGER 1
.string BugsScanners.String "i"
"i", 0X, "ta", 0X, 0X, "hlet", 0X, "#", 0D4A8X, "#",
1B4BX, 3144X, 0X, 0X, 0D4ECX, "#", 0B64X, 3130X,
0D4C0X, "#", 0D4C0X, "#", 2653X, 3144X, 80D0X, 108X,
0D550X, 117X, 0X, 0X, 0D4D8X, "#", 0D4D8X, "#",
354FX, 3144X, 80D0X, 108X, 0D550X, 117X, 0X, 0X,
0D4FCX, "#", 625EX, 3131X, 0D880X, 104X, 0D4ECX, "#",
0B64X, 3130X, 0X, 0X, 2D60X, 32E7X, 2D74X, 32E7X,
14X, 0X, 0D51CX, "#", 4C97X, "õ", 0E290X,
102X, 2D60X, 32E7X, 2D74X, 32E7X, 14X, 0X, 0DBFCX, "#",
0D43EX, "#", 0D544X, "#", 4CE5X, "õ",
2D60X, 32E7X, 2D74X, 32E7X, 14X, 0X, 0E044X, "#",
0D55CX, "#", 1152X, 32E7X, " ", 0X, "!", 0X, 1FX,
0X, 0X, 0X, 0D554X, "#", 2050X, "ø", 0DBD0X,
"#", 1D4X, "÷", 0D34X, 32E7X, 0X, 32E6X, 6150X,
7372X, "e#", 0D43EX, "#", 0D46CX, "#", 5270X, 3131X,
0X, 0X, 0D4ECX, "#", 0B64X, 3130X, 0X, 0X, 0X,
0X, 8A0X, 116X, 0DBFCX, "#", 0D43EX, "#", 0D494X,
"#", 5270X, 3131X, 0X, 0X, 0D4ECX, "#", 0B64X,
3130X, 0X, 0X, 0X, 0X, 6E0X, 116X, 0DBFCX, "#",
0D43EX, "#", 0D4A8X, "#", 1B4BX, 3144X, 0X, 0X,
0D4ECX, "#", 0B64X, 3130X, 0D4C0X, "#", 0D4C0X,
"#", 2653X, 3144X, 80D0X, 108X, 0D550X, 117X, 0X, 0X,
0D4D8X, "#", 0D4D8X, "#", 354FX, 3144X, 80D0X,
108X, 0D550X, 117X, 0X, 0X, 0D4FCX, "#", 625EX, 3131X,
0D880X, 104X, 0D4ECX, "#", 0X, 0X, 0X, 0X, 0X,
0X, 0X, 0X, 14X, 0X, 0D51CX, "#", 4C97X, "õ",
0E290X, 102X, 0X, 0X, 0X, 0X, 0X, 0X, 0X, 0X,
214X, 314BX, 0D558X, "#", 32D4X, "ø", 0DBD0X,
"#", 1D4X, "÷", 0D538X, "#", 1D4X, "÷", 0DBCFX,
"#", 3X, 0X, 10X, 0X, 1D4X, "÷", 0DBBCX, "#", 0X,
0X, 214X, 314BX
.source POINTER NIL
.textReader TextModels.Reader [010156C0H]
.eot BOOLEAN FALSE
StdInterpreter.CallProc [0000047AH]
.a BOOLEAN FALSE
.b BOOLEAN FALSE
.c BOOLEAN FALSE
.i Meta.Item
.obj INTEGER 4
.typ INTEGER 0
.vis INTEGER 4
.adr INTEGER 854006166
.mod POINTER [32E60000H]
.desc POINTER IllegalAddress000000BCH
.ptr Meta.ArrayPtr [0100AD30H]
.ext Kernel.ItemExt NIL
.imported ARRAY 256 OF CHAR ""
以上が一部です。 -- [[tonton1225]] &new{2009-05-04 (月) 1...
** POSIXlt の bug ? [#v0f6a18c]
>[[surg]] (2009-05-04 (月) 10:16:35)~
~
質問というよりは報告ですが、strptime() で生成した POSIXlt...
> (t <- strptime(paste("1-1-2001 9", 1:20, sep=":"), "%m...
[1] "2001-01-01 09:01:00" "2001-01-01 09:02:00"
"2001-01-01 09:03:00"
略
[16] "2001-01-01 09:16:00" "2001-01-01 09:17:00"
"2001-01-01 09:18:00"
[19] "2001-01-01 09:19:00" "2001-01-01 09:20:00"
> length(t)
[1] 9
そのため、データフレームへの結合で問題が起こります.~
同じサイズのデータフレームには結合できません.~
> d1 <- data.frame(a=1:20)
> d1$b <- t
以下にエラー `$<-.data.frame`(`*tmp*`, "b", value = list...
replacement has 9 rows, data has 20
サイズ9のデータフレームには一応結合できる(warning が出ま...
> d2 <- data.frame(a=1:9)
> d2$b <- t
> d2
a b
1 1 2001-01-01 09:01:00
2 2 2001-01-01 09:02:00
略
8 8 2001-01-01 09:08:00
9 9 2001-01-01 09:09:00
Warning message:
In format.data.frame(x, digits = digits, na.encode = FAL...
壊れたデータフレームです。列が切り詰められるか、または...
データフレーム作成時に入れておけば,問題なし.
> d3 <- data.frame(a=1:20, b=t)
> d3
a b
1 1 2001-01-01 09:01:00
2 2 2001-01-01 09:02:00
略
19 19 2001-01-01 09:19:00
20 20 2001-01-01 09:20:00
ちなみに、as.POSIXlt()を使っても同様.
> (t <- as.POSIXlt(paste("2001-01-01 9:1", 1:20, sep=":"...
[1] "2001-01-01 09:01:01" "2001-01-01 09:01:02"
"2001-01-01 09:01:03"
[4] "2001-01-01 09:01:04" "2001-01-01 09:01:05"
"2001-01-01 09:01:06"
略
[16] "2001-01-01 09:01:16" "2001-01-01 09:01:17"
"2001-01-01 09:01:18"
[19] "2001-01-01 09:01:19" "2001-01-01 09:01:20"
> length(t)
[1] 9
//
- オンラインヘルプは見ましたか?~
Details
There are two basic classes of date/times.
Class "POSIXct" represents the (signed)
number of seconds since the beginning of
1970 as a numeric vector. Class "POSIXlt"
is a named list of vectors representing
sec
0-61: seconds
min
0-59: minutes
hour
0-23: hours
mday
1-31: day of the month
mon
0-11: months after the first of the year.
year
Years since 1900.
wday
0-6 day of the week, starting on Sunday.
yday
0-365: day of the year.
isdst
Daylight savings time flag. Positive if
in force, zero if not,
negative if unknown.
要するに,POSIXlt の要素は9個ということでしょう?
> t[1]
[1] "2001-01-01 09:01:00"
> cat(t[1]$sec,t[1]$min,t[1]$hour,t[1]$mday,t[1]$mon,
t[1]$year,t[1]$wday,t[1]$yday,t[1]$isdst)
0 1 9 1 0 101 1 0 0
何の問題もないように思います(ちなみに,確認した限りでは...
なお,
Details
Both functions are generic: you can write methods to han...
classes of objects, see InternalMethods.
とありますので,「必要な length は,自分で書け」といって...
単純には,例えば以下のようにすればあなたの要求は満たされ...
> length(as.character(t))
[1] 20
必要な情報はほとんどオンラインヘルプから得られると思いま...
- ありがとうございます.コメントがつくとは思ってませんで...
繰り返しになりますが、私が言いたかったのは「POSIXlt オブ...
まあ、bug というよりは仕様なのでしょうね.~
ちなみに
> d1 <- data.frame(a=1:20)
> d1$b <- t
以下にエラー `$<-.data.frame`(`*tmp*`, "b", value = lis...
replacement has 9 rows, data has 20
はダメだけど、
> d1$b <- data.frame(t)$t
なら大丈夫.-- [[surg]] &new{2009-05-04 (月) 20:16:50};
**expression()でsymbol等が表示できなくなりました [#j356ab...
>[[u-kun]] (2009-05-01 (金) 16:23:35)~
~
以前にR-2.8.1のですが、R-2.9.0をインストールしてR User Co...
expression()でmuや%*%等の表示がwindowsのグラフィックデバ...
muはmに%*%は'になってしまいます。~
pdfに出力すればちゃんと表示されます。~
R-2.8.1に戻しても表示されませんでした。~
~
現在の使用環境はwindows XP sp2でRのバージョンは以下の通り...
R version 2.9.0 Patched (2009-04-28 r48429)
i386-pc-mingw32
locale:
LC_COLLATE=Japanese_Japan.932;LC_CTYPE=Japanese_Japan.93...
LC_NUMERIC=C;LC_TIME=Japanese_Japan.932
attached base packages:
[1] stats graphics grDevices utils datasets me...
Rの問題ではなく、私の使用環境の問題でしょうか?
//
- お騒がせしました。解決しました。R User Configurationで...
- 当方でも同じ現象がおきて悩んでいたのですが,どうもRdevg...
**ヒートマップの目盛りの値の変更について [#d933e234]
>[[maori]] (2009-04-28 (火) 21:47:55)~
~
初めて質問させていただきます。~
過去の質問等をみさせていただいてもよくわからなかったので...
heatmapを書いているのですが、元になる値が(正規化はしてい...
マップの色が近くて困っています。~
~
heatmapの内容を変えることにより調節できると思うのですが、...
どうしたら良いか分かりません。~
~
以下が私が入力したコマンドです。
y <- read.table("standarddeviation.txt",header=TRUE,sep=...
y_numeric <- apply(y,c(1:2),as.numeric)
y_euclid <- dist(y_numeric,method="euclid")
pdf("standarddeviation_ward4.pdf",paper="special",width=...
heatmap(y_numeric,scale="column",hclustfun= function(y_e...
margins=c(30,30),col=cm.colors(256),RowSideColors = rc...
cexRow = 0.2 + 1/log10(10), cexCol = 0.2 + 1/log10(10))
dev.off()
よろしくお願いします。~
//
- standarddeviation.txt がどのようなものであるかわからな...
- ↑の方のおっしゃることも尤もですね。整形ルールをちゃんと...
で、ご質問ですが、help(heatmap)でimageの引数をとることが...
> x <- matrix(sample(100,200,re=T),ncol=4)
> range(x)
[1] 1 100
> heatmap(x)
> heatmap(x,zlim=c(0,200))
こういうことを言っているのでしょうか?でも個人的には、無理...
- > ↑さんの言い方も少し冷たいような気が…~
今後の質問のことも考えてのアドバイスですけどね。~
上の方の注意書き「回答者は神通力を持ってはいません。「こ...
また,質問者の真意を推量して答えたつもりが,全然違ったと...
zlim では,極端になるだけなので,グレード表示(グラデエー...
> ところで「?」がつくのは「PukiWikiの仕様」 ~
よーく知っています。 -- &new{2009-04-29 (水) 09:18:15};
- 迅速なコメントありがとうございます。
いろいろ知らないことが多くてすみません。
今出先なので、バージョンは分からないのですがMac OSで4月の...
standarddeviation.txtは物質と物質との反応値を示したものを...
helpを参照して上記のように変更してみたのですが、今度はほ...
大きくしたいのです。
すみません。apply(y,c(1:2),as.numeric)についてですが、研...
す。けれども、いろいろ教えてくださり、本当にありがとうご...
-追記です。バージョンは ~
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-apple-darwin8.11.1
locale:
ja_JP.UTF-8/ja_JP.UTF-8/C/C/ja_JP.UTF-8/ja_JP.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets me...
でした。
-col=rainbow(1000)で大変みやすくなりました。ありがとうご...
**data.frameへのapply適用で数字がis.numeric=FALSEとなる [...
>[[akira]] (2009-04-28 (火) 19:31:45)~
~
いつもありがとうございます。基本的事項で恐縮ですが、理由...
> x <- data.frame("Alpha"=LETTERS[1:3],"Num"=1:3)
> apply(x,2,is.numeric) # x$"Num"がTRUEにならないのはな...
Alpha Num
FALSE FALSE
> apply(x,c(1,2),is.numeric) # x$"Num"がTRUEにならないの...
Alpha Num
[1,] FALSE FALSE
[2,] FALSE FALSE
[3,] FALSE FALSE
> is.numeric(x$"Num") # x$"Num"だけ指定するとTRUE
[1] TRUE
> is.numeric(x$"Num"[1]) # x$"Num"だけ指定するとTRUE
[1] TRUE
となります。~
私の環境は~
> sessionInfo()
R version 2.9.0 Patched (2009-04-24 r48395) i386-pc-ming...
locale:
LC_COLLATE=Japanese_Japan.932;LC_CTYPE=Japanese_Japan.93...
LC_NUMERIC=C;LC_TIME=Japanese_Japan.932
attached base packages:
[1] stats graphics grDevices utils datasets me...
です。ちなみにWindowsのR-2.8.1 Patched、LinuxのR-2.9.0 pa...
//
- apply の第1引数は array で(the array to be used.),...
以下の実行例が参考になるでしょう。~
基本的には apply(foo, 2, bar) は foo が array のときに使...
foo がデータフレームのときには,sapply(foo, bar) を使うべ...
なお,data.frame("Alpha"=LETTERS[1:3],"Num"=1:3) というの...
> apply(x,2,class)
Alpha Num
"character" "character"
> sapply(x,class)
Alpha Num
"factor" "integer"
- なるほど、引数がarrayなのは知っていましたが、今回、意味...
//- 色 -- &new{2010-03-03 (水) 21:31:50};
//あほ!
ページ名: