初級Q&A アーカイブ(4)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
COLOR(green){SIZE(20){初心者のための R および RjpWiki に...
新規投稿はできません
----
-[[初級Q&A アーカイブ(3)]] (元記事が 2005-05-02 より 2...
-[[初級Q&A アーカイブ(2)]] (元記事が 2004-12-13 より 2...
-[[初級Q&A アーカイブ(1)]] (元記事が 2004-08-03 より 2...
----
#contents
----
**outer 関数で引用する関数の定義法について [#q86a04cd]
>[[アール]] (2006-01-25 (水) 14:17:44)~
~
こんなことをする人はいないので,不具合でも何でもないが,...
outer 関数で引用する関数が返す値は,引数が絡んでいないと...
> x <- y <- c(-1,0,1)
> fun <- function(x, y) return(0)
> outer(x, y, fun)
以下にエラーouter(x, y, fun) : dim<- :
dims [product 9] は object [1] の長さに整合しません
> fun2 <- function(x, y) {z <- x+y; return(0)}
> outer(x, y, fun2)
以下にエラーouter(x, y, fun2) : dim<- :
dims [product 9] は object [1] の長さに整合しません
> fun3 <- function(x, y) return(x*0)
> outer(x, y, fun3)
[,1] [,2] [,3]
[1,] 0 0 0
[2,] 0 0 0
[3,] 0 0 0
//
-これは引数が絡んでないというか関数が返す値の構造の問題。...
**関数のプロット [#fa52cc12]
>[[ying]] (2006-01-24 (火) 15:50:30)~
~
多変数関数 f(x1,x2,x3,x4)=a*x1+b*x2+c*x3+d*x4 (a,b,c,d:定...
//
-x3, x4 はどうやって表現するのですか?~
これは,いわゆるその「超平面」の式ですよねぇ。平面ではあ...
この式は変数が5つなので,5次元空間です。~
5次元空間は,我々3次元に住んでいる人間には想像もできない...
f(x1,x2)=a*x1+b*x2+c というのは,3次元空間での平面を表す...
-x3とx4を任意の値を代入する.ここで、例えばx3=3,x4=4とす...
-f(x1,x2,3,4)=0 のグラフ? y=f(x1,x2,3,4)のグラフというこ...
-f(x1,x2,3,4)=0のグラフです. -- [[ying]] &new{2006-01-25...
-あなたもね,f(x1)=a*x1+b=0 のグラフがどんなものなのかが...
-こんな図になります。
#ref(mochi-yaki-ami.png)
黒く表されているのが結果として描かれる平面。これは,x,y平...
プログラムは
y <- x <- seq(-1,1,length=51)
f <- function(x, y) {(x+y)*0}
z <- outer(x, y, f)
persp(x, y, z, zlim=c(-0.5, 0.5))
のようになります。f の定義で単に0を返すように定義すれば良...
-「f(x1,x2,3,4)=0のグラフです」を解釈すると a*x1+b*x2+c*...
**直交表実験における2つの水準間の母平均の差の推定方法 [#...
>[[ExperimentalDesign]] (2006-01-24 (火) 14:29:09)~
~
直交表実験の結果は次のとおりです。xが特性値でA〜Hまでが2...
DATA <- structure(list(x = c(16, 38, 41, 25, 38, 58, 43,...
22, 38, 5, 41, 32, 28), A = c(-1, -1, -1, -1, -1, -1, -1...
1, 1, 1, 1, 1, 1, 1, 1), B = c(-1, -1, -1, -1, 1, 1, 1, ...
-1, -1, -1, 1, 1, 1, 1), C = c(-1, -1, 1, 1, -1, -1, 1, ...
-1, 1, 1, -1, -1, 1, 1), D = c(-1, 1, -1, 1, -1, 1, -1, ...
1, -1, 1, -1, 1, -1, 1), G = c(-1, 1, -1, 1, -1, 1, -1, ...
-1, 1, -1, 1, -1, 1, -1), H = c(-1, 1, -1, 1, 1, -1, 1, ...
1, -1, 1, 1, -1, 1, -1), F = c(-1, 1, 1, -1, 1, -1, -1, ...
-1, -1, 1, -1, 1, 1, -1)), .Names = c("x", "A", "B", "C"...
"G", "H", "F"), row.names = c("1", "2", "3", "4", "5", "...
"8", "9", "10", "11", "12", "13", "14", "15", "16"), cla...
実験の結果から分散分析を次のようにしたところ~
summary(aov(x~.+(A+B+C)^2+C:D+D:F,DATA))
G,H,A:C,B:C,D:Fの効果が小さいことがわかったのでこれを無視...
この結果から、A1B1C1D1F1水準(L1)とA1B2C1D2F2水準(L2)での...
mod <- lm(x~.-G-H+A:B+C:D,DATA)
L1<-predict(mod,data.frame(A=-1,B=-1,C=-1,D=-1,F=-1,G=0,...
level=.95,interval="confidence",se.fit=T)
L2<-predict(mod,data.frame(A=-1,B=1,C=-1,D=1,F=1,G=0,H=0),
level=.95,interval="confidence",se.fit=T)
として、望む結果を得られました。~
この結果を受け、L1とL2の差がどれくらいあるのか推定したい...
//
-lwr = -60.7 , upr = -31.3 の信頼度は 99% ということでし...
また,望む結果というのは,L1とL2の結果からどうやったら示...
そういうことであると仮定して,
> (L1$fit-L2$fit)[1]+c(-1,1)*qnorm(0.995)*L1$residual.s...
[1] -60.68449 -31.31551
かなぁ? -- &new{2006-01-24 (火) 14:57:34};
-ありがとうございます。できました。信頼度は手元の本では95...
-どういうふうに「できました。」なのか? -- &new{2006-01-...
-質問のL16直交表による2水準のみの因子の実験では
> (L1$fit-L2$fit)[1]+c(-1,1)*qnorm(0.995)*L1$residual.s...
で信頼区間を得ることができたので、そういう意味で「できま...
-プログラムと実行結果の両方を提示しているので,「できる」...
-私の文章がわかりにくく、誤解させてしまったことにお詫び申...
{mu(AiBjCk...) - mu(AlBmCn...)}±t(φε,0.05)*sqrt(Vε/nd)
という形で、有効繰り返し数ndを自分で計算しなくても求めて...
-φε,Vε はなんなんでしょう?それがわかるとどうにかできる...
-お手数おかけして申し訳ありません。φεはプーリング後の分散...
-そこまでわかっているなら,自分でプログラムするとよいので...
-自分ではプログラムする技術がないので関数やパッケージを探...
**2つのグラフィックスの軸の一致 [#u7c0a328]
>[[mitsu5]] (2006-01-20 (金) 16:55:33)~
~
きわめて初歩的なことですが、よろしくお願いいたします。~
boxplotと散布図を合成したいと思いました。
a1=rnorm(30)
a2=rnorm(30)
a3=rnorm(30)
x=c(rep(1,30),rep(2,30),rep(3,30))
boxplot(a1,a2,a3)
par(new=T)
plot(x,c(a1,a2,a3),xlim=par("usr")[1:2],axes=F)
こうすればかなり良い線は行くのですが、X軸の1と3で微妙にず...
軸の一致の調整はどうすればよいのでしょうか。よろしくご指...
//
-par はいりません。最後の plot を points にします(余分な...
a1=rnorm(30)
a2=rnorm(30)
a3=rnorm(30)
x=c(rep(1,30),rep(2,30),rep(3,30))
boxplot(a1,a2,a3)
#par(new=T)
points(x,c(a1,a2,a3))
#ref(boxplot.png)
今回はこちらで直しておきますが,今後は[[ヘルプ]]を読んで...
-素早いレス、どうもありがとうございます。こんな簡単に出来...
こんなに簡単とは吃驚ですが、google検索 OKADA.JP.ORG を検...
RjpWiki->Tips紹介->グラフィックス参考実例集 R-Tips ...
これらを見ても複雑すぎて、判らないし、~
> 今後はヘルプを読んで,きれいに投稿しましょう。~
何処のヘルプを読めばよいでしょうか。ご指導のほどよろしく...
-あれ?あなたのお使いのブラウザがなんなのかわかりませんが...
-直すのも重複してしまったようですね。最終調整をよろしくで...
-何のヘルプ->Rjpwikiの[[ヘルプ]]です(返信のところにリン...
-追加:同じ座標系でプロットを追加するのは,(1)最初の描画...
-私の理解不十分で申し訳ありません。どうも皆さんはLinuxで...
-mitsu5さん。私もwindowsです。投稿するためにはwikiの文書...
-あなたの先ほどの記事,かなり読みづらいです。お節介ですが...
私の理解不十分で申し訳ありません。~
どうも皆さんはLinuxですか?それともMac?~
>ついでながら,あなたの今回の投稿も,自分では改行したつ...
>実際には改行になっていなくって変なところに空白があるだ...
>記事になっているのは,投稿後に確認すればわかっていると...
私はWindowsです。ここに投稿したRの a1= .... etc をcopy a...
ここで問題になったのは、LinuxとWindowsの改行のせいでしょ...
いや、ヘルプでは、改行は全部 「行末に~を書くと行末改行に...
OSにかかわらず、行末は ~ これであると書いていただければ...
要するに、Windowsから、この投稿部位へ気軽に書くわけにはい...
-> Windowsから、この投稿部位へ気軽に書くわけにはいかない...
だあれも,そんなこと意ってませんが。~
初心者だから難しいこと言ってくれるなというのんは,甘えか...
-[[練習用ページ:http://www.okada.jp.org/RWiki/index.php?c...
-私が書くとまた袋叩きと思いますが、一言。R helpにはほとん...
-「不満のあるかたが改良する」がこうしたサイトの運営精神で...
-ヘルプを改革してください→自分でしてください。あなたを含...
-例題や十分なサポートが必要でしたら、「有料」のS言語を使...
**polyroot関数について [#oa881aef]
>[[にゃあ]] (2006-01-19 (木) 14:32:36)~
~
Rでx^2−2x−3=0という方程式を解こうと思います。~
Rではpolyroot関数を用いて、
polyroot(c(1,-2,-3))
で解けると思うのですが、出力が
> polyroot(c(1,-2,-3))
[1] 0.3333333+0i -1.0000000+0i
となって、解がおかしいような気がします。~
どなたか検算をお願いします。~
//
-ヘルプをよくよみましょう。-- &new{2006-01-19 (木) 15:20...
> polyroot(c(-3,-2,1))
[1] -1+0i 3-0i
-あ、逆でしたね。失礼致しました。 -- [[にゃあ]] &new{2006...
**UNIX:R-2.0.1のバグ?でしょうか write.table出力不良 [#md...
>[[ホームチーム]] (2006-01-19 (木) 10:15:26)~
~
現在、WindowsとUnixでRのプログラミングを行っております。~
バージョンは双方共にR2.0.1です。~
Windowsでは、テキストエディターでプログラムを書いて、RのG...
Unixでは、Windowsで確認したプログラムを、FTPで設置し、R C...
~
プログラムの中に
write.table(summary_matrix,file="hoge.txt",sep="?t",col....
という部分があります。
プログラム自身は、自作関数による処理、クラスター解析や主...
開発環境であるWindowsXPでは、該当プログラムは全て問題なく...
UNIXで動作させたときに本当に正しくrow.namesがセットできて...
本現象について、お気づきの点等ありましたらご教授いただき...
//
-最新版にしてみて,なおかつエラーが発生するかどうか見てく...
-確かに仰る通りですね、考えてるくらいなら、最新版で確かめ...
-「旧版にバグがあろうとなかろうとだれも興味を持ちません。...
**Rバグフィックス、機能追加、改良の履歴を追うには? [#n15...
>[[やたま]] (2006-01-19 (木) 10:07:08)~
~
現在Windows環境でR-2.0.1を使っております。~
ただ、現状最新のVersionは2.2.1かと思いますので、バージョ...
そこで、R2.0.1→2.2.1に至るまでは数多くのバージョンアップ...
Rをインストールしたフォルダ以下にある「CHANGES」テキスト...
稚拙な質問で恐縮ですが、アドバイスいただければ幸いです。~
//
-[[RソースのNEWSファイル:http://cran.md.tsukuba.ac.jp/src...
-ありがとうございます。NEWSファイル早速見てみたいと思いま...
**svmのプログラムについて [#o607ef66]
>[[ying]] (2006-01-17 (火) 17:57:37)~
~
今svmについて理解している.でも,分からない所があって,教...
help(svm)からsvmについてたくさん書いてるけど,実際svmのpr...
実際このようにやってみたら:
> edit(svm)
function (x, ...)
UseMethod("svm")
<environment: namespace:e1071>
これしかなかった.もっと詳しいプログラムについて知りたい...
//
-プログラムを見たいということなら,以下のようだけど。それ...
> library(e1071)
> e1071:::svm.default
> e1071:::svm.formula
? svm をして,ヘルプおよび,そこからリンクされているウエ...
-help(svm) の最後に参考プログラムがありますが、これではた...
-トップ頁の R site search を使いキーワード "svm" で検索...
-ありがとうございます!!とても助かりました!! -- [[ying...
**モンテカルロ法による円周率 [#fdfe817e]
>[[しゃけ?]] (2006-01-16 (月) 15:46:54)~
~
下記のような方法を見つけたのですが、一行目から何をやって...
ULONG_MAX = 4294967295
以下ばっさり,削除(それにしても,投稿法くらい守ってね)~
//
-R と関係ありませんね。宿題だったらここはおかど違いです...
-rubyのRだと思ったのかな?rubyはここhttp://www.ruby-lang....
-ちなみに,R だと,
n<-100000;sum((colSums(matrix(runif(n*2)^2,2))<1))*4/n
位でできるしィ -- &new{2006-01-16 (月) 17:23:28};
-もっと短くなる
n<-100000;sum(runif(n)^2+runif(n)^2<1)*4/n
もっともっと? -- &new{2006-01-17 (火) 07:57:38};
**plot.svmについて [#cfa25020]
>[[ying]] (2006-01-14 (土) 16:42:59)~
~
データirisについてサポートして,グラフを描きたいけど、多...
plot(m2, iris, Petal.Width ~ Petal.Length,
slice = list(Sepal.Width = 3, Sepal.Length = 4))
がある。これはいったいどんな意味ですか?~
教えてください!!~
//
-plot.svm が何なのか,私にはわかりません!!!!!!!!...
示された例でも,m2 はなんなのでしょうか!!!!!!!!!...
一般的に多次元のデータを二次元平面にどのように描いたらよ...
!!!! -- &new{2006-01-14 (土) 18:38:57};
//
-yingさんの疑問が?plot.svmで得られるexampleを指していると...
## a simple example
library(MASS)
data(cats)
m <- svm(Sex~., data = cats)
plot(m, cats)
## more than two variables: fix 2 dimensions
data(iris)
m2 <- svm(Species~., data = iris)
plot(m2, iris, Petal.Width ~ Petal.Length,
slice = list(Sepal.Width = 3, Sepal.Length = 4))
ですから、plot(m2,...)は「m2についてfomulaで指定する次元...
-パッケージ e1071 中にある svm (Support Vector Machine...
-e1071に実装されているSVMは[[LIBSVM:http://www.csie.ntu.e...
-ご返事ありがとうございます.ここで,slice = list(Sepal.W...
-?plot.svmに説明があるようです -- [[Akira]] &new{2006-01-...
**Rを使った学術論文 [#rb695195]
>[[Akira]] (2006-01-14 (土) 13:33:59)~
~
Rの引用(Materials&Methodsとして)を何種類か見たのですが...
bioconductorとExcelでもできる簡単な処理ですが、投稿したい...
//
-投稿先の雑誌が指定する投稿規定では引用の記述方法も決まっ...
-ありがとうございます。参考にさせていただきます。ただ、生...
-補足させてください。citation()ではBibTeX形式以外にも一般...
-[[Rを引用する]]を作成しておきました -- [[谷村]] &new{200...
-TeX を使う人は LaTeX を使う人より少ないと思いますよ。 --...
**vectorの計算結果をmatrixまたはvectorに保存したい [#gbe1...
>[[柳]] (2006-01-13 (金) 13:02:58)~
~
x<-c(1:3)
y<-c(4:6)
z<-matrix(0,length(y),length(x))
myfunction<-function(x,y){
for(i in 1:length(x)){
z[,i]<-x[i]+y
}
}
をするとparse errorが出ますがなぜかぜんぜんわかりません~
教えて下さい~
//
-parse error というのは,出ませんでしたが。質問するときに...
また,この後に myfunction(x,y) というように関数を引用する...
質問(プログラム)の投稿についても,再度[[ヘルプ]]をご覧...
**関数のソースコード [#o8b7abaf]
>[[まいける]] (2006-01-12 (木) 17:35:58)~
~
はじめまして。~
Rにoptimという関数がありますが、そのソースコードを入手す...
また、そのソースコードはC等で書かれているものなのでしょう...
大変初歩的な質問で恐縮ですが、なにとぞご教示よろしくお願...
//
-コンソールのプロンプトに,optim と入力してみましょう -- ...
-早速のアドバイスありがとうございました。 -- [[まいける]]...
-もっと先を知りたいのなら,src/main/optim.c を見ればよい...
-すみません。もうひとつお教えください。src/main/optim.cは...
-R をインストールすれば必ずソースもインストールされるわけ...
-何度もご親切にお教え頂きありがとうございました。無事入手...
-http://rgonzui.nakama.ne.jp/search?q=package:R-2.2.0%20o...
**factorのlevelを削る方法 [#mc11864e]
>[[Moz]] (2006-01-10 (火) 20:25:23)~
~
x <- factor(c(rep("A",4),rep("B",2),rep("C",3)))
x
[1] A A A A B B C C C
Levels: A B C
x <- x[x!="C"]
x
[1] A A A A B B
Levels: A B C
levelからCを消すにはどうしたらよいのでしょうか。table()で...
ときにじゃまになります。無理矢理~
x <- as.factor(as.character(x))
x
[1] A A A A B B
Levels: A B
としましたが、もっと正統なやり方があるのではないかと思っ...
//
-正統かどうか知りませんが x <- factor(x[x!="C"]) -- [[tak...
-えぇと、
x <- x[, drop=T]
ですね。 -- [[びい]] &new{2006-01-11 (水) 06:11:20};
-takahashiさん、びいさんありがとうございました。今後は、x...
**データベースからのデータを使いたい [#a6d4a8ae]
>[[ひらい]] (2006-01-09 (月) 00:10:48)~
~
windowsでR2.2.0を使っています。~
MySQLの中のデータベースに入っているデータを使って、ユーク...
どなたかご教授お願いします。~
//
-RMySQL パッケージをインストールし、研究すべし。 -- &new...
-ちなみにRからデータベース内のデータはすでに見ることがで...
-あなたも,もう少し具体的に質問しなくちゃいけないし,回答...
-老婆心から質問のしかたについて書いてみました。(気を悪く...
OS:windows(XP)、
R:ver2.2.0(J)、
DB:MySQL、RMySQLにてRとダイレクトリンクしています。、
R内に取り込んだdataframeは XXX、
dataframeのフィールド名は、A,B,C、
このデータを使ってユークリッド距離(関数dist)をもとめたい...
-既に実施して上手く行かなかった例があると他の人の参考にな...
**Rの画面に表示される速度 [#r1dcb42d]
>[[aa]] (2006-01-05 (木) 00:18:37)~
~
Windows XP で,Rを使っています。~
長いプログラム(1000行ほど)をRのコンソールに一気に流した...
~
余程複雑な計算でなければ,新しいversion(2.20以降)の方が...
計算の実行速度ではなく,表示時間が遅くなります。~
この原因をご存知の方,アドバイスを頂けると幸いです。~
//
-バージョンこれこれではしかじか秒,違うバージョンかくかく...
-version は,1.81-2.11 vs 2.20-2.21 です。具体的な秒数は...
-重箱の隅つつきで申し訳ないが。R のバージョン表記は 2.2.1...
-たとえば,a <- sqrt(3) というのを1000行入力して,次のプ...
[長いプログラム(1000行ほど)をRのコンソールに一気に流す]...
//修正: sourece -> source
遅くなる理由が知りたいというならしようがないですが,我慢...
-ウインドウのサイズを小さくすると速くなりません? -- &ne...
**変数が行として表されているファイルからのインポート [#l7...
>[[本太]] (2006-01-01 (日) 23:36:29)~
~
変数が列として表されているCSVファイル(d1.csv)からデータを...
x<-read.table("C:/R/d1.csv",header=F,sep=",")
と記述しています。~
変数が行として表されているCSVファイル(d2.csv)を読み込み上...
すみませんがよろしくお願いします。
----- d1.csv ------
height weight age
172 72.6 25
159 59.8 27
164 78.7 42
179 85.4 35
164 65.7 30
-------------------
------------d2.csv-------------------
height 172 159 164 179 164
weight 72.6 59.8 78.7 85.4 65.7
age 25 27 42 35 30
--------------------------------------
~
//
-たぶん,ヘッダがついたファイルなのでは?などと思いつつ,
x <- t(read.table("c:/r/d1.csv" ,header=T,sep=","))
でいいかと. -- [[なかま]] &new{2006-01-02 (月) 01:12:43};
-data.frameがほしいということですので、
x <- data.frame(t(read.table("c:/r/d1.csv" ,header=T,sep...
でしょうか?ただ、要素の属性は変わると思います。 -- [[Aki...
-あなたの記述が若干不正確ではないかと思うのですが,
変数が列として表されているCSVファイル(d1.csv)からデータ...
x<-read.table("C:/R/d1.csv",header=F,sep=",")
は
x<-read.table("C:/R/d1.csv",header=T,sep=",")
ではないかと思うのはさておき,~
対象とするファイルが d2.csv で,その内容が,まさしく以下...
sep="," ということは,カンマで区切られていると言うことで...
実行結果で示すよりは,入力ファイルの形式で示した方が誤解...
height,172,159,164,179,164
weight,72.6,59.8,78.7,85.4,65.7
age,25,27,42,35,30
さて,そうであれば,あなたの本当に望むことは(回答例に示...
回答案も,実際にやってみればすぐにわかるとはいうものの~
もっとも,回答者をせめるのではなく,あなたが十分な情報を...
> x <- t(read.table("d2.csv" ,header=F,sep=","))
> name <- x[1,]
> x <- x[-1,]
> x <- matrix(as.numeric(x), nrow(x))
> colnames(x) <- name
> x <- data.frame(x)
> x
height weight age
1 172 72.6 25
2 159 59.8 27
3 164 78.7 42
4 179 85.4 35
5 164 65.7 30
d2.csv を読み込んだときと同じ結果ということは,このような...
**Rcmdrテキストファイルのインポート [#c3cf15bf]
>[[にゃあ]] (2006-01-01 (日) 04:41:36)~
~
Rcmdrでデータのインポート⇒テキストファイルからでCSVファイ...
これってバグなんでしょうか?~
また、同様に出力した筈のCSVファイルでさえ、データを読み込...
//
-CSVファイルの容量はどれくらいなのでしょうか?重すぎたり...
-Windows系ならたぶんデータが巨大過ぎてどこかのヒープが溢...
-読み込みが成功したファイルは1.73MBで、失敗したファイルは...
-一つお聞かせ(OSやRバージョン)願えれば,わたしは通常の3倍!...
-抽象的なバグ報告は,何の情報も提供しない。どうも,ファイ...
-WindowsはXPです。Rは闇2.2.0です。 -- [[にゃあ]] &new{200...
-それだけの情報では,まだ,不足ではないかなと。。。 -- &...
-しかしながらデータをここに載せるわけにはいかないので。行...
-とりあえず 行数 は伺えましたので列数も教えてもらえますか...
-あと、学生さんか社会人の方か存じませんが、タイトルは後で...
-成功した方の1.73MBのファイルは行数は3,945行105列です。失...
-同じ現象は再現できませんでしたが、ちょっと気になる動作を...
->なかまさん わざわざありがとうございました。現時点では...
-失敗するファイルの列数を100以下にすれば問題ないかも... -...
-分かりました。やはり直接CSVを読み込まないで、一旦Excel上...
-う〜ん、やっぱり具合が宜しくないようです。データが読み込...
-害が無ければ(無保証,無責任でよければ)、一度私宛(eiji.nak...
**日付変数をデータフレームの要素に格納したい [#sef3b878]
>[[じゃんぽけ]] (2005-12-29 (木) 11:43:38)~
~
Tips等調べて1日格闘してみましたが、わからないポイントが...
~
【質問内容】~
日付に関する演算を繰り返し行うプログラムを書く予定でして、~
~
1.文字型で格納しておいて取り出す度にDATES()で変換して使...
2.文字型で格納しておいて文字型に変換したものを別の変数...
3.最初から日付型で格納しておいて取り出す~
~
で3.の方法で実行する方法がないかなと思い模索している所...
~
日付型の変数をデータフレーム内の要素に代入しようとすると...
これを日付型のまま代入する方法はございますでしょうか?~
(列をベクトル演算で変換した場合には日付型で代入できるよ...
~
また、まだまだ勉強不足のため、下記のような挙動になる要因...
~
何度も質問致しまして恐縮ではございますがご教授頂ければ幸...
よろしくお願いします。~
~
【プログラム例】~
> DATE <- dates("05/12/31",format="y/m/d")
> DATE2<- "05/12/31"
>
> test1 <- data.frame(a=rep(NA,3))
> test1$a[1] <- DATE
> test1
a
1 13148
2 NA
3 NA
> mode(test1$a)
[1] "numeric"
>
> test2 <- data.frame(a=rep(NA,3))
> test2$a[1] <- DATE2
> test2
a
1 05/12/31
2 <NA>
3 <NA>
> mode(test2$a)
[1] "character"
>
> test3 <- data.frame(a=rep(NA,3))
> test3$a[1] <- dates(test1$a[1],format="y/m/d")
> test3
a
1 13148
2 NA
3 NA
> mode(test3$a)
[1] "numeric"
>
> test4 <- data.frame(a=rep(NA,3))
> test4$a <- dates(test2$a,format="y/m/d")
> test4
a
1 05/12/31
2 <NA>
3 <NA>
> mode(test4$a)
[1] "numeric"
//
-chronライブラリのdatesクラスですね。型はnumericでクラス...
-中澤さん、ありがとうございます。事前にデータフレームで定...
> data.frame(a=rep(dates("12/31/05"),3),b=0)
a b
1 13148 0
2 13148 0
3 13148 0
> data.frame(a=dates(rep("12/31/05",3)),b=0)
a b
1 12/31/05 0
2 12/31/05 0
3 12/31/05 0
ところで、上記のようにデータフレームにNAなど値を入れる場...
自己レスの修正をしました。
データフレーム作成時に、変数を日付型に宣言しておくことで
空データになっても日付型を保持していますが、
更新時に個別の行を更新しなければ日付型を保持できないよう...
> #データの定義をした後に空データにする
> test <- data.frame(a=dates(c(NA,NA),format="y/m/d"),b=...
> test <- test[FALSE,]
> test
[1] a b
<0 rows> (or 0-length row.names)
>
> #空のデータフレームに行を追加するとちゃんと日付を保持
> test <- rbind(test,c("2000/01/03",0))
> test
a b
1 00/01/03 0
>
> #データフレームが1行の場合、全行をまとめて更新すれば...
> test$a <- dates("2000/01/22",format="y/m/d")
> test
a b
1 00/01/22 0
>
> #更に1行追加。(実験1用と実験2用のデータを作成)
> test1 <- rbind(test,c("2000/01/05",0))
> test2 <- test1
> test1;test2
a b
1 00/01/22 0
2 00/01/05 0
a b
1 00/01/22 0
2 00/01/05 0
>
> #実験1:データフレームが2行以上の場合、
#全行をまとめて更新すれば日付型でなく なる
> test1$a <- dates("2000/01/22",format="y/m/d")
> test1
a b
1 10978 0
2 10978 0
>
> #実験1:このデータフレームに日付を文字型で
#いれようとすると変数aは文字型に変化
> test1 <- rbind(test1,c("2000/01/03",0))
> test1
a b
1 10978 0
2 10978 0
3 2000/01/03 0
> mode(test1$a)
[1] "character"
>
> #実験2:この場合は、データフレームの行を
#それぞれ更新すればOK
>
> test2$a <- dates(rep("2000/01/22",length(test2$a)),for...
> test2
a b
1 00/01/22 0
2 00/01/22 0
-- [[じゃんぽけ]] &new{2005-12-29 (木) 22:00:28};
**条件に合致する行を抽出した上で、新たな変数(列)を追加...
>[[じゃんぽけ]] (2005-12-28 (水) 11:51:41)~
~
一通りTips や Q&A を見てプログラムを書いてみたのですが、...
~
以下のように、「FOR文を利用して、条件に合致する行を抽出し...
~
考えたやり方では、~
「1.事前に追加する変数(列)は定義しておく」~
「2.抽出条件に当てはまる行がない場合は、IF文でエラーを...
ということで解決はできているようなのですが、もっと簡単に...
~
ご教授頂ければ幸いです。宜しくお願いします。~
~
> #その1:新たなdという変数(列)に直接的に値を追加・代入
#テストデータを作成
> test <- data.frame(a=c(1,2,3),b=c(4,5,6),c=c(7,8,9))
> test
a b c
1 1 4 7
2 2 5 8
3 3 6 9
>
> #合致する行がなくても代入するとエラー
> for(i in 4:3){
+ test[test$a == i,]$d <- 2
+ }
以下にエラー"$<-.data.frame"(`*tmp*`, "d", value = 2) :
置き換えは 1 列ですが、データは 0 列です
>
> #IF文で合致しない行の場合にスキップしてもエラー
> for(i in 4:3){
+ if(nrow(test[test$a == i,]) != 0){
test[test$a == i,]$d <- 2
} #こうやれば合致しないものにはエラーはでない
+ }
Warning message:
4 個の変数を与えて、3 個の変数を置き換えようとしています...
"[<-.data.frame"(`*tmp*`, test$a == i, , value = list(a...
>
> #その2:事前にdという変数(列)を作っておいて値を追加...
#テストデータを 作成
> test <- data.frame(a=c(1,2,3),b=c(4,5,6),c=c(7,8,9))
> test$d <- NA
> test
a b c d
1 1 4 7 NA
2 2 5 8 NA
3 3 6 9 NA
>
> #合致する行がなくても代入するとエラー
> for(i in 4:3){
+ test[test$a == i,]$d <- 2
+ }
以下にエラー"$<-.data.frame"(`*tmp*`, "d", value = 2) :
置き換えは 1 列ですが、データは 0 列です
>
> #IF文で合致しない行の場合にスキップすればOK
> #ただし、文章としてはやや冗長感がある?
> for(i in 4:3){
+ if(nrow(test[test$a == i,]) != 0){
test[test$a == i,]$d <- 2
} #こう やれば合致しないものにはエラーはでない
+ }
>
> test
a b c d
1 1 4 7 NA
2 2 5 8 NA
3 3 6 9 2
>
//
-cbind(test,d=rep(2,length(test$a))[!!match(test$a,4:3)])...
-なかまさん、ありがとうございます。例文を基にいろいろ試し...
-「FOR文を利用して・・・」ということなので、以下のような...
> ( tmp <- subset(test, a==2) ) # a==2 となる行を抽出
a b c
2 2 5 8
> ( transform(tmp, d=0) ) # データフレーム tmp に変数 d ...
a b c d
2 2 5 8 0
> transform(subset(test, a==2), d=0) # 上の 2 行をひとま...
-なかまさん、舟尾さん、ありがとうございました。最終的に、...
**欠損値のあるデータに対する主成分分析 [#m5f01e40]
>[[Shigu]] (2005-12-27 (火) 18:21:52)~
~
はじめまして、データ分析のためにRの勉強を始めたShiguと申...
googleと過去ログで調べたのですが、見つからなかったので質...
~
欠損値がそこらじゅうにあるcsvデータ(400サンプル×130属性)...
このような欠損値のあるデータに対して、各属性の第一主成分...
~
どなたかご教授どうぞよろしくお願いします。~
//
-すざまじい NA の嵐ですか。NA がどうしてそんなにたくさん...
-NAがゼロでも,130属性に対して400サンプルは少なくありませ...
-理想的にはそういうことですが。安定性のある分析結果が得ら...
-みなさまコメントありがとうございます。おっしゃるとおり卒...
-そのようなことをしてしまうと、主成分分析の意味は薄らいで...
-欠損値補完法について調べてみてはいかがでしょうか?(でも...
-コメントありがとうございます。とりあえず、ある閾値以上の...
-問診の欠損値ですと、尺度が名義尺度か順序尺度でしょうから...
-そうなのです。もっと厳密な補間法もあるとは思うのですが、...
**barplot関数でのErrorの処理 [#d33a0a9e]
>[[鍋]] (2005-12-26 (月) 22:24:05)~
~
> mydata
[1] "15" "17" "17" "22" "11" "22" "13" "20"
"19" "18" "11" "11" "18" "18" "24"
[16] "13" "21" "17" "19" "11" "10" "19" "13"
"6" "5" "5" "5" "3" "2" "2"
[31] "0" "2"
> barplot(mydata)
Error in -0.01 * height : non-numeric argument to binary...
何でこういうErrorが発生するのでしょうか?どう対応すればい...
//
-どうやってデータを入力したのかわかりませんが、各数字がダ...
mydata <- c(15,17,17,22,11,22,13,20,19,18,11,11,18,18,24,
13,21,17,19,11,10,19,13,6,5,5,5,3,2,2,0,2)
barplot(mydata)
とすれば大丈夫。-- [[soysoy]] &new{2005-12-26 (月) 23:16:...
-どうやって mydata に付値したのかを書かないと,教えようが...
-errorメッセージはmydataがnumericになっていないと言ってい...
-わかりました。ありがとうございます!! -- [[鍋]] &new{20...
-ひとりよがりだけではだめですね。「わかりました。ありがと...
**"を含む文字列を作りたい [#t99e7516]
>[[S. Sugawara]] (2005-12-25 (日) 14:37:16)~
~
hoge1.sav-hoge50.savと連番になっているspssファイルをまと...
library(foreign)~
tmp="hoge"~
for(i in 1:50)~
eval(parse(text=paste(tmp,i,"<-read.spss(", """ , tmp, ""...
~
のようにすると"""の部分で文法エラーになります。しかしこれ...
"を含む文字列を作成できれば解決すると思うのですが、その方...
//
-複雑な文字列を作るのには,sprintf 関数をお勧めします。以...
> tmp="hoge"
> i=12
> text=sprintf("%s%i<-read.spss(?"%s%i.sav?",
use.value.labels=TRUE, to.data.frame=TRUE)",
tmp, i, tmp, i)
> text
[1] "hoge12<-read.spss(?"hoge12.sav?",
use.value.labels=TRUE, to.data.frame=TRUE)"
二つ目の引用符の位置がおかしいと思いましたので直しました...
-別法というか,このページ(目次)の中程にある「自動でファ...
-解決しました。ありがとうございました。余談ですが、Rでは"...
-ダブルクオートはメタキャラです. -- [[なかま]] &new{2005-...
**plot(density(x))のy軸をFrequencyにしたいです。 [#u21d53...
>[[Akira]] (2005-12-24 (土) 00:01:14)~
~
複数のデータに対してヒストグラムを重ねて、データの違いを...
#例えばmatというdata.frameがあるとして
mat <- data.frame(rnorm(1000), rnorm(1000), rnorm(1000))
for(i in seq(ncol(mat))){
dat <- mat[, i]
dat <- density(dat)
dat$y <- dat$y * nrow(mat)
plot(dat, xlim=c(-10, 10), ylim=c(0, 100), col=i)
if(i != ncol(mat))
par(new=TRUE)
}
などとすればdensity(x)のy軸がFrequencyに変わると思ったの...
//
-5,6 行目は
dat$y <- dat$y
plot(dat, xlim=c(-10, 10), ylim=c(0, 0.5), col=i)
ではないでしょうか? -- &new{2005-12-24 (土) 09:51:25};
-ylim は適当に決めました。dat$y <- dat$y * nrow(mat) は d...
-縦軸の名前が Density なんだけど,それを Frequency に変え...
plot(dat, xlim=c(-10, 10), ylim=c(0, 400), col=i, ylab="...
でしょうけど。 -- &new{2005-12-24 (土) 22:03:24};
-ylab="Frequency"にすればdat$yの値も確率から頻度に変換さ...
hist(x)やtruehist(x)にはそれぞれfreqとprobのオプションが...
やりたいこととしては、hist(x)かtruehist(x)で柱の頂点を結...
-曰く「ylab="Frequency"にすればdat$yの値も確率から頻度に...
そんな便利な機能はないですね。~
やってみればわかるように,描画される文字だけが変わるんで...
-確かにそんな便利な機能は見たことがなかったです。そうなる...
で、やはりplot(density(x))のy軸は変わらないのでしょうか?...
-内容をまだ理解できていませんが、[[ヒストグラムと密度の推...
**交互作用項を含む多重回帰の総当たりのAIC比較 [#rb0c16fe]
>[[velvet]] (2005-12-23 (金) 13:13:52)~
~
現在以下の環境でRを勉強しているvelvetと申します~
OS:windows XP、R:Version2.2.0~
~
現在ある生物の出現が、どのような環境要因によって説明でき...
具体的には以下のようなデータです~
100地点において、ある生物が存在したかどうか(A、0(出現し...
このような方法はweb上でいくつか存在しましたが~
私の場合、3つの環境変数の間に相関が存在するため、これらの...
つまり~
glm(A~B, family=binomial) から~
glm(A~B + C + D + B*C + B*D + C*D + B*C*D, family=binomia...
どなたか具体的な方法を御存知でしょうか?~
宜しく御願い致します~
//
-[[総当たり法による重回帰分析:http://aoki2.si.gunma-u.ac....
name <- c("B","C","D","B*C","B*D", "C*D","B*C*D")
nv <- length(name)
str <- character(nv)
n <- 2^nv-1
result3 <- character(n)
for (i in 1:n) {
k <- i
m <- 0
for (j in 1:nv) {
if (k%%2) {
m <- m+1
str[m] <- name[j]
}
k <- k%/% 2
}
result3[i] <- paste(c("glm(A ~", paste(str[1:m], collap...
", family=binomial)"), collapse=" ")
}
print(result3,quote=FALSE)
これを,sink でファイルに保存して,しかるべき時に source ...
[1] glm(A ~ B , family=binomial) ...
[2] glm(A ~ C , family=binomial) ...
:
[127] glm(A ~ B + C + D + B*C + B*D
+ C*D + B*C*D , family=binomial)
127通りありますからねぇ。~
ああ,でも,glm(A ~ B*C*D , family=binomial) みたいなのは...
-早速のアドバイスありがとうございます。何とかなりそうです...
**Unix上のRでのdevice出力(jpeg,png)に関して [#zdae318f]
>[[サイハテ]] (2005-12-20 (火) 18:00:30)~
~
現在、以下の環境でRの勉強をしているサイハテと申します。~
~
OS:Unix(Sun solaris8)~
R:Version2.0.1~
Rの使用形態:簡単なスクリプトを”R CMD BATCH”で実行する~
~
非常に稚拙な質問で申し訳ないのですが、Unix上のRでグラフ(p...
~
できればR CMD BATCHで、WindowsではメジャーなJPEGやPNG形式...
教えていただけると非常に助かります。~
よろしくお願いいたしますm(_ _)m~
~
以下、?deviceの引用
Devices package:grDevices R Do...
List of Graphical Devices~
Description:~
The following graphics devices are currently availab...
* 'postscript' Writes PostScript graphics comman...
* 'pdf' Write PDF graphics commands to a file
* 'pictex' Writes LaTeX/PicTeX graphics commands...
* 'xfig' Device for XFIG graphics file format
* 'bitmap' bitmap pseudo-device via 'GhostScript...
available).
The following devices will be available if R was com...
them and started with the appropriate '--gui' argume...
* 'X11' The graphics driver for the X11 Window s...
* 'png' PNG bitmap device
* 'jpeg' JPEG bitmap device
None of these are available under 'R CMD BATCH'.
~
//
-直接の回答でなくてすみませんが,jpeg はグラフィックには...
-Imagemagick をインストールし COLOR(red){convert foo.pdf...
-左より,pdf, jpeg, png。プレゼンソフトに200%でペーストし...
#ref(hikaku.png)
実際のプレゼン画面上での pdf はもっときれい。-- &new{200...
-アドバイスありがとうございました。大変参考になります<(_ ...
**ARモデルの当てはめ [#t1392b83]
>[[itoken]] (2005-12-19 (月) 21:07:52)~
~
ARモデルのあてはめをAICを使って、自分でプログラムし、次数...
(n-k)×log{Q/(n-k)}+2×k k:次数 n:データ数 Q:残差平方和~
というモデルで計算しました。~
RでのAICの式はどのようになっているのかを教えていただける...
//
-どのライブラリを使って,どのようなプログラムで解析して,...
-何とか解決できました!!回答ありがとうございます!あと、...
-今後の参考のためにどういう問題でどう解決できたか記入して...
**Meadow+ESSにおいて、”アンダースコア”のショートカットキ...
>[[三田]] (2005-12-19 (月) 18:18:31)~
~
現在、Rwikiのページを参考に~
Meadow+ESSでRのスクリプト作成を行っております。~
~
Version:~
Meadow Emacs 21.4.1と表示されています~
ESS 2005-09-07版~
R 2.1.1~
~
上記のような環境において、Meadow上で変数名として_(アンダ...
入力したいのですが、ESSのショートカットキー~
~
Rwikiのページ:~
http://www.okada.jp.org/RWiki/index.php?ESSUsage~
~
において_(アンダースコア)は自動的に”<-”に変更されてしま...
何とも困っております。~
Googleや本Rwikiでも情報収集を試みたのですが、いきづまって...
//
-どうしてもアンダースコアでなくてはならないのですか?こだ...
-アンダースコアキーが付値記号にマッピングされているのは e...
-諸先輩方、迅速、かつ真摯なるアドバイスを頂戴しましてまこ...
**検索用ベクトルの値を使ってデータフレームの条件抽出をし...
>[[小田]] (2005-12-15 (木) 10:04:39)~
~
一通りTips や Q&A を見てみたのですが、力不足で最適なプロ...
どなたかご教授頂けるとうれしく思います。~
どうかよろしくお願いします。~
~
【実現したい事】~
検索用ベクトルの値を使い、データフレーム内のある列で検索...
>data<-data.frame(LABEL=c("A","B","C","D",
"E","F","G","H","I","J"), VALUE=c(1:10))
>data
LABEL VALUE
1 A 1
2 B 2
3 C 3
4 D 4
5 E 5
6 F 6
7 G 7
8 H 8
9 I 9
10 J 10
>#検索したい値
>search <- c("A","B","C")
>search
[1] "A" "B" "C"
>#実現したいこと
>data[data$LABEL =="A" |
data$LABEL =="B" |
data$LABEL =="C" ,]
LABEL VALUE
1 A 1
2 B 2
3 C 3
いくつか方法を考えているのですが、最適なプログラムを思い...
(1) 条件式をpasteで記述後、data[条件式,]を実行
> exec <- NA
> for(i in 1:length(search)){
+ exec <- paste(exec,
ifelse(i > 1," | ",""),
"data$LABEL =='",search[i],"'",sep="")
+ }
> exec
[1] "NAdata$LABEL == 'A' |
data$LABEL == 'B' |
data$LABEL == 'C'"
> data[exec,]
LABEL VALUE
NA <NA> NA
(2) IFELSEを使ってみた
> data[ifelse(search == data$LABEL,TRUE,FALSE),]
LABEL VALUE
1 A 1
2 B 2
3 C 3
Warning messages:
1: 長いオブジェクトの長さが短いオブジェクトの
長さの倍数になっていません in: is.na(e1) | is.n...
2: 長いオブジェクトの長さが
短いオブジェクトの長さの倍数になっていません in:
"==.default"(search, data$LABEL)
どなたかご教授お願いしますm(_ _)m~
//
-do.call("rbind",lapply(search,function(x){data[data$LABE...
-クイズの答えの一つとして, data[apply(sapply(search, fun...
こちらは,表示順は元のデータファイルの出現順-- &new{2005...
-data[data$LABEL %in% search,] で充分か.(^_^; -- [[なかま...
-data[is.element(data$LABEL, search),] も -- &new{2005-1...
-皆さんありがとうございます。無事解決できました!結局、se...
**AIXへのRプログラムインストールについて [#uf776bf1]
>[[柴田]] (2005-12-14 (水) 17:44:56)~
~
こんにちは。宜しくお願い致します。~
~
OS:AIX5.2~
AIXにRをインストールしている段階なのですが、makeコマンド...
「make:make 1254-025 既存詳細ファイルが存在するか、または...
~~
作業内容としましては、CRANにて最新のソース「R-2.2.0.tar.g...
この回避方法をご存知の方がいましたらご教授願いたいのです...
どうぞ宜しくお願い致します。~
//
-[[こちら:http://cran.r-project.org/doc/manuals/R-admin.h...
-早速のご回答有難うございます。がんばるしかないですね(^...
**stepAICによる変数増加法 [#j29f1143]
>[[R初心者]] (2005-12-14 (水) 15:21:25)~
~
重回帰モデルの変数選択を行う上で、~
変数増加法を用いたいのですが、~
stepAIC()の使い方が良くわかりません。~
helpによると、scope = list(upper=・・・~
としている辺りが増加法だと思うのですがよく理解できません...
~
result<-glm(y~???)~
result2<-stepAIC(result,scope=list(upper=x1*x2*x3))~
~
とするのでは?とも思いましたが、???の部分に何を入れたら良...
わかりませんでした。追加する1つ目の変数はこちらで、~
設定しておいたほうが良いのでしょうか?~
~
~
どなたか、ご指導お願いいたします。~
//
-最小のモデルにしておけば簡単です。
x1<-rnorm(100)
x2<-rnorm(100)
x3<-rnorm(100)
y<-rnorm(100)
g<-glm(y~1,gaussian) # 切片から始めたいなら。
library(MASS)
stepAIC(g,direction="forward",
scope=list(upper=~x1*x2*x3)) # scope=~x1*x2*x3でもよい。
upperの後の~を忘れないように。--[[KI]] &new{2005-12...
-例もつけて下さって、よく分かりました。どうもありがとうご...
**数量化 I 類で総当り法による変数選択 [#rb258afe]
>[[TOTO]] (2005-12-13 (火) 20:46:56)~
~
数量化 I 類で総当り法による変数選択(指標はAIC)をしたい...
as.factorを使って説明変数を変換した後、mle.aic()を使って...
//
-総当たり法ですから,全ての説明変数の組み合わせを発生させ...
[[http://aoki2.si.gunma-u.ac.jp/R/All_possible_subset_sel...
-紹介していただいたソースを改造し、うまくいきました。あり...
**library(Hmisc); library(Biobase)だとBiobaseが読み込めま...
>[[Akira]] (2005-12-12 (月) 11:01:01)~
~
bioconductorの質問はここで大丈夫でしょうか?~
使用環境はXPpro+闇R2.2.0です。Hmiscを読み込んでからBiobas...
# これだとエラーが出てbiobaseが読み込めません
library(Hmisc); library(Biobase)
# これだとOK。Biobase、Hmiscともに読み込めます。
library(Biobase); library(Hmisc)
# エラーメッセージです
> library(Hmisc)
> library(Biobase)
要求されたパッケージ tools をロード中です
以下にエラーsetMethod("contents", "environment",
function(object, all.names) { :
no existing definition for function 'contents'
エラー:.onLoad は 'Biobase' のための
'loadNamespace' に失敗しました
エラー:'Biobase' に対するパッケージもしくは
名前空間のロードが失敗しました
loadNamespaseが変更されているという意味だと思うのですが、...
~
よろしくお願いします。~
//
-各パッケージと R 本体とのバージョンはあっていますか(思...
-library(tools)を単独で実行するとどうなりますか? -- &ne...
-library(tools)は問題なくloadできます。library(tools); li...
Hmiscのバージョンは最新(3.0-7)です。Biobaseも最新(1.7?...
他のパッケージでもこんな現象はあるのでしょうか? -- [[Aki...
**Rをインストールしたのですが、CRANにアクセスできません。...
>[[阿部勝延]] (2005-12-12 (月) 09:30:20)~
~
R2.2.0(Windows版、Mac版)をインストールしたのですが、「R...
状況は~
Windows Xp Professional+R2.2.0~
プロキシーサーバーがあり、そこからファイアーウォールを...
Macintosh(MacOSX10.3.9)+R2.2.0~
こちらは、ちょっと複雑で、先ほどのWindowsマシンをProxy...
せっていは、P50にあるとおり、~
Sys.putenv("http_proxy"="http://proxyhost:8080")~
を実行します。このコマンドは通りますが、パッケージの一覧...
もしいいアドバイスがありましたら、よろしくお願いいたしま...
//
-プロキシサーバの名前が,本と同じく,proxyhost なんですか...
-Japan(Aizu)は同時接続ユーザ数の制限がきついようですので...
-お返事ありがとうございます。Japan(Tsukuba)はまだ試してい...
-こちらのネットワークのホストネームにかえてあります。 -- ...
-会社でProxy越しにRを使っていますが、--internet2 を付けて...
-"--internet2"オプションはproxyの設定としてWindows自体の...
-Xpの方は、Tsukubaを選択すると大丈夫でした。Macの方は、だ...
**subset= で複数の条件を指定したい [#gbfd54be]
>[[伊藤]] (2005-12-11 (日) 11:46:51)~
~
ある条件に従うデータだけにおいて線形回帰をしたいと考えて...
x1<-gl(2,10)
x2<-rep(gl(2,5),2)
x3<-runif(20)
y<-rnorm(20)
lm(y~x3)
このとき、{x1=1,x2=1}の場合だけを回帰したいときはどうすれ...
以下のようなことを試しましたが、うまくいきません。
lm(y~x3,subset=list(x1==1,x2==1)) #エラー
lm(y~x3,subset=x1==1 && x2==1) # 全部のデータ?
lm(y~x3,subset=c(x1==1,x2==1)) # 最初の指定だけ有効?
お手数ですが、どうかよろしくおねがいします。~
//
-& と && の違いに注意しましょう。それと,間違いがないこと...
> data <- cbind(x1,x2,x3,y)
> data
x1 x2 x3 y
[1,] 1 1 0.56633985 -0.86012923
[2,] 1 1 0.33230350 0.92239242
[3,] 1 1 0.99880629 0.39366260
[4,] 1 1 0.17977729 -0.36911252
[5,] 1 1 0.14474499 -0.74874814
[6,] 1 2 0.13511632 -0.74440885
[7,] 1 2 0.63733995 -0.28768662
[8,] 1 2 0.20289775 0.61580370
途中省略
[18,] 2 2 0.32580467 1.07307234
[19,] 2 2 0.01826360 1.16538160
[20,] 2 2 0.50006782 1.18701904
> data2 <- subset(data, x1==1 & x2==1)
> data2
x1 x2 x3 y
[1,] 1 1 0.5663398 -0.8601292
[2,] 1 1 0.3323035 0.9223924
[3,] 1 1 0.9988063 0.3936626
[4,] 1 1 0.1797773 -0.3691125
[5,] 1 1 0.1447450 -0.7487481
というところかなぁ。と。-- &new{2005-12-11 (日) 15:00:17};
-ありがとうございました。&と&&を完全に混同していました。...
しかし、MAC版で同じこと(subset(data, x1==1 & x2==1))...
-MAC は使いませんが、行列属性が取り除かれている (drop=TR...
-最新バージョンにしましょうね。 -- &new{2005-12-12 (月) ...
-ありがとうございます。後で試してみます。MACのほうのバー...
-最新バージョンにしたら解決されました。ありがとうございま...
**一度に表示しきれないオブジェクトについて [#h90583ed]
>[[Omar]] (2005-12-11 (日) 02:51:25)~
~
中身が多くて、スクロールバーを使っても最初の方の部分が表...
すべて見るためにはどうすればよいのでしょうか?~
今見ようとしているのは線形モデルオブジェクトです。~
Win XP, R 2.2.0を使っています。~
//
-help("page") とかしてみる。 -- [[(ただし)Linux ユーザ...
**R CMD BATCHの使い方 [#i9bf47ee]
>[[g]] (2005-12-09 (金) 12:12:50)~
~
例えば,a.Rというファイルを作り,中にlibrary(Rcmdr)と記述...
R CMD BATCH a.R
と打つと,Rcommanderが起動するのですが,すぐにRも終了する...
実際は,R CMD BATCH a.Rをb.batというファイルに記述し,バ...
ご意見いただけると幸いです.~
//
-R Commanderを直接起動するバッチファイルを作成したい、と...
-実際は,Javaでパネルを表示させたいので,a.Rの中は,"自作...
-マイドキュメントの直下に.Rprofileをつくって、その中身を
library(grDevices)
library(Rcmdr)
にすると、動作としては合っているものになるようです。-- [[...
-ありがとうございます.できました. -- [[g]] &new{2005-12...
**フォントの設定を保存するには? [#zb26a1bc]
>[[mura]] (2005-12-07 (水) 11:15:10)~
~
OS: Mac OS X 10.4.3~
R: Version 2.2.0 (2005-10-06 r35749)~
~
「環境設定」で文字の色を変更すると、次回以降も有効なまま...
ところで、メニューバー→フォーマット→フォント→フォントパネ...
フォントの設定を保存するにはどうしたらいいのでしょうか~
//
-何回か設定したり再起動したりしているうちに、設定が保存さ...
-解決済みですが、Mac版Rの環境設定ファイルは ~/Library/Pre...
**パッケージの更新 [#sa2cb913]
>[[にゃあ]] (2005-12-07 (水) 00:38:30)~
~
パッケージの更新しようとしたら次のエラーメッセージが出て...
~
警告:package 'lattice' is in use and will not be install...
~
“lattice”ってパッケージは更新できないのでしょうか?~
なお、Rは闇2.2.0で、Windows XPで使用しております。~
//
-latticeのモジュールを既にロード済みなのでインストールは...
-そうですね。MASS,graphics,grDevices,R2WinBUGS,BRugs,tclt...
-options(vanilla) : object "vanilla" not foundって出てく...
-
> help(vanilla)
No documentation for 'vanilla' in
specified packages and libraries:
you could try 'help.search("vanilla")'
> help.search("vanilla")
No help files found with alias or
concept or title matching 'vanilla'
って出てくるんですが・・・・・・???-- [[にゃあ]] &new{2005-12-0...
-vanillaはパッケージの名前ではなくて起動時のoption指定の...
-WinXPでは,Rを起動するアイコンのプロパティを開いて,リン...
-無事解決いたしました。どうもありがとうございました。 -- ...
**MySQLとRが連携できない… [#u74cdeeb]
>[[サイトウ]] (2005-12-05 (月) 18:02:07)~
~
WinXPで闇R-2.2.0を使用しています。このバージョンだとRMySQ...
そこで、このサイトに載っている手順通りにDBIとRODBC双方の...
> m <- dbDriver("MySQL")
以下にエラーdo.call(as.character(drvName),
list(...)) :
関数 "MySQL" を見つけることが
できませんでした
どうしたらよいでしょうか?~
どなたかご教授お願いします。~
//
-DBIとRODBCは別物のパッケージなのでは?RODBCからの接続だ...
-誠に申し訳ないのですが、データソースを作らないといけない...
-これはRとは関係ないのですが、MySQLやPostgreSQL,MSSQLserv...
-[コントロールパネル][管理ツール][データソース(ODBC)]を...
-ご丁寧にありがとうございます。早速、ODBCにデータソースを...
-データソースは正常に登録できましたか?正常接続できたので...
odbcConnect("データソース名","ユーザー名",
"パスワード","ケース")
という指定になると思います。細かい指定内容はRjpWikiには無...
-ケースはMySQLでは"mysql"を入れるようです。(RODBCパッケ...
-何度もすみません。okinawaさんの教えてくださっているとこ...
-mysqlのクライアントで動作するか(低水準のネットワークやラ...
-まずはMySQLのテーブルをODBCでExcelから開くところあたりか...
**jaccard係数によるクラスター分析 [#p849e80b]
>[[ミズノ]] (2005-12-03 (土) 11:48:13)~
~
jaccard係数を導いたのですが、その値を使ってクラスター分析...
つまり、こちらで距離を指定して樹形図を描けるのでしょうか?~
どなたかご指導お願いします。~
//
-hclust の第1引数が,"d : a dissimilarity structure as pr...
> x <- matrix(c(0,1,2,1,0,3,2,3,0),3)
> x
[,1] [,2] [,3]
[1,] 0 1 2
[2,] 1 0 3
[3,] 2 3 0
> y <- as.dist(x)
> y
1 2
2 1
3 2 3
> ans <- hclust(y)
> plot(ans, hang=-1)
こんな感じですね。 -- &new{2005-12-03 (土) 12:41:58};
-ご丁寧にありがとうございました。distクラスにすることで、...
**複数の生存曲線をプロットするには [#t0a3187e]
>[[かわぐち]] (2005-12-02 (金) 10:53:31)~
~
御世話になります。~
生存曲線をプロットするには、[[Rによる統計処理:http://aoki...
そこでsurvfitを用いplot(res,xlim=c(0,20))とすると軸はあい...
95%信頼区間の点線をのぞく方法はどうしたらよいでしょうか~
また、2群ではなく3群、4群となった場合にスマートにプロッ...
ありますか。~
~
データは”Rによる統計処理”から引用させていただきました。~
# 富永祐民「治療効果判定のための実用統計学 − 生命表法の解...
# 解析結果は 83-85 ページ~
# 1 は A 群,2 は B 群を表す~
> group <- c(1, 1, 2, 2, 1, 1, 2, 2, 1, 2, 2, 1, 1, 1, 2,...
> event <- c(1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0,...
> time <- c(2, 20, 5, 1, 3, 17, 2, 3, 15, 14, 12, 13, 11,...
//
-survfit で,conf.type="none" を指定しておく。 -- &new{2...
-conf.type="none" ありがとうございます。自己レスですがhel...
res <- survfit(Surv(time,event)~group,conf.type="none")
plot(res)
ところで、グループ毎の直線を区別するためにイベント発生、...
-plot関数の指定をすればよいのでは?
plot(res, lty=c(1,2))
plot(res, col=c(1,2))
plot(res, lwd=c(1,2))
などでどうでしょうか?でも、pchはだめみたいですね。僕も教...
それと、スクリプト部分は枠で囲んだほうが見やすいと思いま...
-plot(fit,col=c("red","blue"),mark=c(1,2)) -- &new{2005-...
-ありがとうございます -- [[Akira]] &new{2005-12-02 (金) 1...
-皆様ありがとうございました。 -- [[かわぐち]] &new{2005-1...
-先頭1桁に半角空白を付ければその行は薄い水色の枠内に入り...
**自動でファイル名を作成してファイルを読み込む場合に [#d8...
>[[蓮井]] (2005-11-30 (水) 17:50:27)~
~
ファイル名が、1から40までの数字2つの組合せでできているフ...
これを順番に開いて計算結果をファイル出力する作業をしたい...
ただ、このファイル群には、すべての組合せ分1600ファイルは...
~
そこで、
> for (i in 0:40) {
> if (i < 10) I <- paste("0",i,sep="")
else I <- as.character(i)
> for (j in 1:40) {
> if (j < 10) J <- paste("0",j,sep="")
else J <- as.character(j)
> fname0 <- paste(I,J,sep="")
> fname1 <- paste(fname0, ".txt", sep="")
として、ファイル名を自動的に作ってファイルを読み込もうと...
~
ファイル名がない場合に、その回をスキップするようにするに...
あるいは、別の方法を検討した方がよろしいでしょうか?~
~
よろしくお願いいたします。~
//
-邪道ならtry(読み込み処理) 真面目にやるなら dir(".","[0-4...
-list.files(pattern="正規表現")とかtryとか -- [[なかま]] ...
-まじめかどうかわかりませんが,ちょっと変わったものを。
filenames <- outer(1:40, 1:40,
function(i, j) sprintf("%02i%02i.txt", i, j))
for (str in filenames) {
if (file.access(str) == 0) {
ファイルが存在するので,
処理を行う
}
}
場合分けで paste というのは,避けたい。 -- &new{2005-11-...
-無駄が無いという点では次の折衷案が良い? 直前の例で fo...
-みなさま、ありがとうございます。まだ解決できないでおりま...
「ちょっと変わった」方法を試していたのですが、この場合そ...
ファイル名(の数字の部分)を変数として利用したいのです。~
あと、場合わけでpasteを避けた方が良い理由について、教えて...
-「ファイルが存在するので,処理を行う」の部分で,str がフ...
文字列にした後でまた数値を取り出すのは,as.integer(substr...
**闇R-2.2.0でSweaveを使用したときのfont指定 [#p59d5bab]
>[[Akira]] (2005-11-30 (水) 13:53:30)~
~
WinXPsp1で闇R-2.2.0を使用しています。Sweaveで画像を貼り付...
//
-cidfamily引数はfamilyに統合されますので,Sweave中には書か...
setHook(packageEvent("grDevices", "onLoad"),
function(...)
grDevices::ps.options(cidfamily=""))
のように設定してください -- [[なかま]] &new{2005-11-30 (...
-なかまさま、ご返事ありがとうございました。早速、対応させ...
**R Commanderで非線形回帰したい [#g5f15ada]
>[[ikeike]] (2005-11-29 (火) 22:56:18)~
~
R初心者@勉強中です。~
R 2.2.0にパッケージRcmdr Version 1.1-2を入れていろいろと...
統計量→モデルへの適合、に「非線形回帰」を組み込む(?)~
ことは可能でしょうか?~
~
Rでnlsを使えばよいのでしょうが、R Commanderの手軽さが気に...
~
Fox教授のHPには、~
Fit models~
Linear regression~
Linear model~
Generalized linear model~
Multinomial logit model~
Proportional-odds logit model~
(http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/)~
とあり、今のところ対応の予定はなさそうですが。~
~
よろしくお願い致します。~
//
-可能ですし、そんなに難しくはありません。適当に作ってみま...
-takahashiさま、ありがとうございます。恐ろしく使いにくい...
-言葉足らずですみません。恐ろしく使いにくいのは私のGUIの...
-Rcmdr上のデータセットとかを使いたいという話なら以下のよ...
Rcmdr.nls <- function(formula,data=NULL,start,
control=NULL, algorithm=NULL,
trace=NULL, subset=NULL,
weights=NULL, na.action=NULL,
model=NULL,
lower=NULL, upper=NULL ){
UpdateModelNumber()
modelValue <- paste("NonLinearRegressionModel.",
getRcmdr("modelNumber"), sep="")
if(is.null(data)) data <- ActiveDataSet()
else data <- paste(substitute(data))
args <- paste(c(paste("start=",
paste(c(substitute(start)))),
paste("control=",
paste(c(substitute(control)))),
paste("algorithm=",
paste(c(substitute(algorithm)))),
paste("trace=",
paste(c(substitute(trace)))),
paste("subset=",
paste(c(substitute(subset)))),
paste("weights=",
paste(c(substitute(weights)))),
paste("na.action=",
paste(c(substitute(na.action)))),
paste("model=",
paste(c(substitute(model)))),
paste("lower=",
paste(c(substitute(lower)))),
paste("upper=",
paste(c(substitute(model)))))
[!sapply(list(start,control,
algorithm,trace,subset,weights,
na.action,model,lower,upper),
is.null)],collapse=",")
command <- paste("nls(", c(formula),
", data=", data, ",", args, ")", sep="")
logger(paste(modelValue, " <- ",
command, sep=""))
assign(modelValue, justDoIt(command),
envir=.GlobalEnv)
doItAndPrint(paste("summary(",
modelValue, ")", sep=""))
activeModel(modelValue)
}
listNonLinearModels <-
function(envir=.GlobalEnv, ...) {
objects <- ls(envir=envir, ...)
if (length(objects) == 0) NULL
else objects[sapply(objects,
function(.x) "nls" ==
(class(eval(parse(text=.x),
envir=envir))[1]))]
}
Rcmdr.nls(density~a*conc,start=list(a=1))
#test code (active data set in
#Rcmdr should be `DNase')
-- [[takahashi]] &new{2005-12-01 (木) 11:19:33};
-takahashiさま。ありがとうございます。まだ??な感じです...
**分散分析 [#macc96ca]
>[[oa]] (2005-11-29 (火) 22:20:26)~
~
~
仮に以下のようにデータを読み込ませ、condition,sentence,pr...
condition sentence prime response
1 1 2 1471
1 2 1 812
2 1 2 830
2 2 1 1498
3 1 2 792
3 2 1 1068
4 1 2 753
4 2 1 612
~
//
-help(aov) -- &new{2005-11-29 (火) 23:04:04};
-「単語検索」→「分散分析」 -- &new{2005-11-30 (水) 08:39...
-ありがとうございました。自分普段はSASを使っていまして、R...
**ベクトルから0を取り出すこと [#e261134e]
>[[きたむら]] (2005-11-29 (火) 22:02:46)~
~
ベクトルからある数値を取り出すには~
例えば1を取り出すとき、~
> test<-c(1,2,3,4,5,0)~
> test[-1]~
[1] 2 3 4 5 0~
となりますが、~
~
0を取り出そうとすると、~
> test[-0]~
numeric(0)~
~
となってしまいます。~
[-0]は取り出す以外の意味があるのでようか?~
~
また、特定の値が複数ある場合、何個あるかを指定しないで~
それら全てを取り除くことは可能でしょうか?~
例えば[1,2,0,0,0,3]→[1,2,3]~
~
どなたか、ご指導よろしくおねがいします。~
//
-test[-1] はベクトルの1番目を取り除くという意味。ベクトル...
-ありがとうございます。全くの勘違いをしておりました。 -- ...
**対数グラフに回帰直線と補助線を入れる方法は [#k516d5e5]
>[[かわぐち]] (2005-11-27 (日) 21:01:09)~
~
下のようなデータがあり、対数グラフを作成しました。
x <- c(3,8,11,15,16)
y <- c(5,6,9.6,25.6,29.6)
plot(x,y,log="y")
初めのデータy=5を基準値として横線を引き、2番目以降のデー...
この2直線をグラフに追加するにはどうしたらよいでしょうか。
abline(5,0)
abline(lm(log(y)~x))
ではうまく線が入りません。~
よろしくおねがいします。~
//
-縦軸を実際の目盛りで描いたとき,回帰は指数曲線になること...
x <- c(3,8,11,15,16)
y <- c(5,6,9.6,25.6,29.6)
plot(x,y,log="y")
x2 <- x[-1]
y2 <- y[-1]
ans <- lm(log(y2)~x2)
x3 <- c(6, 18)
y3 <- exp(ans$coefficients[1]+ans$coefficients[2]*x3)
lines(x3, y3, col="red")
abline(h=5, col="blue")
#ref(exp.png)
ってとこでどうでしょ。 -- &new{2005-11-27 (日) 23:31:41};
-望みどおりです。初めのデータの抜き方もスマートで完璧です...
-言葉の問題ですが、このグラフを表現するのに、データの増加...
-私も,そこのところで悩んだんですよ。縦軸は単に測定値なん...
-では、yの値を指数回帰したところ、増加の開始時期はx=7.38...
-本当にデータ数は5つだけですか。それとデータは,水平な部...
-前に引き続いて,
ans2 <- nls(y2~a*b^x2,start=list(a=1.1,b=1.2))
p <- ans2$m$getPars()
y4 <- p[1]*p[2]^x3
lines(x3, y4)
として,比較してみればよろしいかと。 -- &new{2005-11-28 ...
-御指摘ありがとうございます。もう少し具体的に申しますと治...
**学習セットと検証セットの範囲を切り分ける方法 [#gaf3a4b7]
>[[大軽貴典]] (2005-11-25 (金) 10:20:00)~
~
はじめまして。~
Rでニューラルネットワークなどを使ってみようと思っています...
いま、手元にデータセットがあります。このデータセットは事...
これを用い、90%を学習セットに用い、残りの10%検証用に使お...
一度だけなら分けて入力すればよいのですが、グループカラム...
~
いきなりすべての工程をコード化できなくてもよいので、うま...
~
データセットは次のような構成になっています。~
目的変数 グループ 説明変数1 説明変数2 3 4 5 ....
A 1 1 -3.4~
B 3 0 3~
C 9 0 5.2~
B 10 1 7~
~
どなたかアドバイスお願いできないでしょうか?~
よろしくお願いいたします。~
//
-10%が検証セットですよね。以下のようにするのではダメでし...
for (i in 1:10) {
学習セット <- データフレーム[データフレーム["グルー...
検証セット <- データフレーム[データフレーム["グルー...
何らかの分析
}
どうでしょう。~
subset 関数を使うべし。以下のようにする方がモアベター。
for (i in 1:10) {
学習セット <- subset(データフレーム, データフレーム[...
検証セット <- subset(データフレーム, データフレーム[...
何らかの分析
}
ですね。 -- &new{2005-11-25 (金) 10:22:04};
//
-早速のアドバイスありがとうございます。教えていただいた方...
model<-svm(subset(training,select=-Object),training$Obje...
のような命令でNAがあるみたいなエラーが出ています。なお、t...
-実際に NA があるのではないですか。というか,subset(train...
-[[データフレームTips大全]]でわかりやすく教えていただきあ...
-補足すれば,どのようなことがあったために障害が生じていた...
**PDFとTeX [#s784e2fe]
>[[aa]] (2005-11-23 (水) 17:04:35)~
~
はじめまして。~
Rで作成したグラフィックスをPDFで書き出し,TeXでPDFを読み...
対応策をご存知の方,ご示唆を頂けると幸いです。~
~
【作成例 R】
setwd("C:/question20051123") #ディレクトリ
plot(1:10, main="日本語の入ったPDF") #画像を作成
#画像 をPDFで保存
dev.copy(pdf, "fig1.pdf", cidfamily="Japan1Ryumin",
width=12, height=5)
dev.off()
graphics.off()
【作成例 TeX】~
?documentclass[12pt,a4paper]{jarticle}
?usepackage[dvips]{graphicx}
?begin{document}
%図の挿入
?begin{figure}[htbp]
?begin{center}
?includegraphics[keepaspectratio=true,
height=100mm]{fig1.pdf}
?end{center}
?end{figure}
?end{document}
コンパイル時のError Messageは,
! LaTeX Error: Cannot determine size of graphic
in (ファイル名) (no BoundingBox)
当方の環境は以下の通りです。
OS: Windows XP
R: 闇R2.20
TeX: LaTeX2e
Ghostscript: Ghostscript 8.52
//
-pdf ではなく,eps ファイルでは駄目なのでしょうか?? -- ...
-大量の画像データを扱う場合,PDFでコンパイルした方が早い...
-コマンドプロンプトから、
ebb graph_name.pdf
というコマンドだったはず。-- [[蓮見]] &new{2005-11-24 (木...
-蓮見さんのご指摘のように,bb ファイルがないのが原因でし...
bmc -b graph_name.pdf
だったような。ほかには mediabb.sty を利用するという方法も...
-何がなくとも grep MediaBox hoge.pdf 等とすれば.BBoxの値...
-[[mediabb.sty:http://www.ns.musashi-tech.ac.jp/~inoue/Pa...
-解決済みのようですが、ご質問には[[Sweave:http://www.okad...
**イベントの少ない場合の生存分析 [#d5cb0463]
>[[かわぐち]] (2005-11-22 (火) 16:09:00)~
~
はじめまして。最近Rを知って感激して統計とともに勉強中です...
さて、生存分析にて型どおりKaplan-Meier,log-rank,Cox回帰分...
よろしくおねがいします。~
//
-Rに限らないことですが、例数が少ない場合で無理にCoxを実施...
-ありがとうございました。イベントが少ないのは臨床データな...
**300行400列の行列をの各セル比較したい [#p39d8aa7]
>[[ねこのて]] (2005-11-16 (水) 23:37:42)~
~
300行400列のテキスト形式の行列が2つあります。~
(細密数値情報と言うデータで、仕様は~
http://www.gsi.go.jp/MAP/CD-ROM/saimitu/htmls/format.ht...
~
この2つのファイルの同じセルについて、数値(土地利用の分...
(1から2がmケース、1から3がnケース、、、、、)~
~
Rでのデータハンドリングの経験がなく、探せる範囲ではヘル...
~
効率的な方法をお願いいたします。~
//
-非定型的な問題を解決するには,自分で関数を書かねばならな...
効率的であるかどうかは二の次のような気がします。~
正確な答えを得るために,いかに素早くコーディングできるか...
コンピュータがいかに短時間に答えを出せるかは,通常は問題...
というのは,よっぽどまずいプログラムでなければ,それなり...
というわけで,以下は回答例その1ということで。
> set.seed(1234)
> x <- matrix(sample(1:5, 12, replace=TRUE), 4, 3)
> y <- matrix(sample(1:5, 12, replace=TRUE), 4, 3)
> # プログラムコンテストは,ここから開始
# 以下で 1000 は,適当な数。必要なら10000でも100000 でも
> ans <- table(as.vector(x)*1000+as.vector(y))
> z <-as.integer(names(ans))
> ans <- cbind(floor(z/1000), z%%1000, ans)
> colnames(ans) <- c("before", "after", "frequency")
> ans
before after frequency
1001 1 1 1
1002 1 2 1
2002 2 2 1
3001 3 1 1
3002 3 2 1
4001 4 1 1
4002 4 2 3
4005 4 5 2
5002 5 2 1
代替案がいくつか出た段階で,どれが一番計算時間が短いかと...
代替プログラムを書こうと思う方は,このプログラムの4行目以...
-ありがとうございます~
書いてあることは理解できたので、やってみようとしたのです...
以下にエラーvector("integer", length) : 指定されたベクト...
-おかしいですね。入力間違いではないですか? -- [[青木繁伸...
-各行は最初の7カラムがID、あとは2カラム×400なので
> x <-read.fortran("S4_2617.TDU", c("i7", "400i2"))
> dfx <-data.frame(x)
> names(dfx) <-c("ID", paste("var", 1:400, sep=""))
> dfx$ID <-NULL
として読込み~
教えていただいた
> ans <- table(as.vector(x)*1000+as.vector(y))
を実施したところ、
> 以下にエラーvector("integer", length) :
指定されたベクトルのサイズが長すぎます、
となって実施できませんでした。
どこが間違っているのでしょうか? お手数おかけしますがご...
。
-あなたのプログラムでは,x,y(dfx,dfyも)がデータフレー...
-どうもありがとうございました。試してみましたら無事カウン...
-ハンドル名でも「ねこのて」はまずいのではと。 -- &new{20...
-何でまずいのか,私にはわかりませんねぇ(^_^) -- [[青木繁...
**共分散関数acf [#c16a57e7]
>[[Aki]] (2005-11-16 (水) 00:46:20)~
~
自己共分散関数を求めるacfで1次元の配列ではなくn×mの2次元...
グラフにはm×mのグラフが表示されます。~
これの非対角要素はccfで求められる相互共分散と同じなのでし...
//
-ヘルプを読みましょう。~
Description~
~
The function acf computes (and by default plots) estimate...
-ヘルプを読んだつもりになっていました。~
acfは自己共分散関数と自己相関関数を計算するの理解できるの...
しかしV1&V2といったグラフが出てくるのでこれは相互共分散関...
計算結果を見る感じではacfの非対角の要素がccfで計算したも...
-ソースが見られるときには,ソースを見るのがよいですね。~
> ccf
function (x, y, lag.max = NULL,
type = c("correlation", "covariance"),
plot = TRUE, na.action = na.fail, ...)
{
type <- match.arg(type)
if (is.matrix(x) || is.matrix(y))
stop("univariate time series only")
X <- na.action(ts.union(as.ts(x), as.ts(y)))
colnames(X) <- c(deparse(substitute(x)),
deparse(substitute(y)))
acf.out <- acf(X, lag.max = lag.max,
plot = FALSE, type = type)
ということで,引数をまとめて,acf を呼んでいるので acf と...
-なるほど、だいたい理解できました。~
いくつかの相互共分散をまとめて出したいときはccfでひとつず...
ありがとうございました。 -- [[AKi]] &new{2005-11-16 (水) ...
**ヒストグラムのy軸に中断線を入れたいです [#yc94b6be]
>[[Akira]] (2005-11-14 (月) 10:05:32)~
~
ヒストグラムの作図においてy軸に中断線を入れることはできま...
例えば、y軸が1〜100の範囲で1〜20と80〜100で作図したいと思...
よろしくお願いします。~
//
-パッケージplotrixに、axis.breakという関数があります。こ...
-example を実行させると,どうも期待する物ではないようです...
-ご連絡ありがとうございます。よい作図でないのであれば仕方...
-できないこともないようです。Google で "r-help axis break...
-プログラムを書けば,どんなことでもできますね。できると言...
**両対数のヒストグラム [#p0946bb0]
>[[muramatsu]] (2005-11-11 (金) 15:48:14)~
~
あるデータのヒストグラムを描きたいのですが、ばらつきが大...
"ヒストグラムと密度の推定"という記事をみましたが、両対数...
~
plot関数と同様に、
hist(data, log="xy")
ともやってみましたが、
hist.default(data, log = "xy") :
'x' は数値でなければなりません
というエラーが出てしまいました。しかし、ちゃんと数値デー...
plot(table(data))
ではきちんとヒストグラムが描けています。~
~
また、ヒストグラム作成時に区切り幅も対数で決める必要があ...
plot(table(data), log="xy")
のようにやってみました。すると、
1: 軸の限界が有限ではありません
[GScale(-1.#INF,2.18469,2, .); log=1]
2: Internal(pretty()) の範囲が大きすぎます..
修正しました
という警告がでて、plotに失敗しました。~
~
どうしたらよいでしょうか?よろしくお願いします。~
//
-「両対数のヒストグラム」って,どんな奴なんですか。~
「両対数」というのは,二変数ともに対数を取るということで...
data というのはベクトルデータですよね。plot(table(data)) ...
x <- round(rlnorm(1000),0)
plot(table(x))
みたいな感じかな。~
で,これを横軸だけを対数軸で(つまり片対数で)ヒストグラ...
x <- rlnorm(1000)
hist(log(x)) # hist(x) と比較せよ
みたいなのでよいのでは?横軸の目盛りも,対数目盛りになり...
しかし,対数目盛りも付け方に二通りのやり方があって,対数...
示した方法では,前者になっている。後者のやり方は,[[どこ...
z <- x <- rlnorm(1000)
hist(log(x), xlab="")
z <- floor(log10(z))
z2 <- 1:10*10^(log.min <- min(z)-2)
if ((n <- max(z)-log.min) > 0) {
for (i in 1:n) {
z2 <- c(z2, z2*10^i)
}
}
log.z2 <- log10(z2)
axis(1, at=log.z2, labels=z2, pos=-30)
みたいな感じかな。描かれる横軸二種。上が変換後の値の数値...
#ref(pdf.png)
-返信をしたいのですが、コメントの挿入のテキストボックスは...
-このページの一番下に紙と鉛筆のアイコンがありますので、そ...
-回答ありがとうございます。~
~
>「両対数のヒストグラム」って,どんな奴なんですか。~
~
縦軸、つまり度数も対数軸で書きたいと思っています。~
度数にすごくばらつきがあるのです。~
dataは
[1] 83.553719 80.760000 100.750000 ....
のようなベクトルデータです。~
以下の方法で、確率分布を描くことはできたのですが、
dist <- density(data)
plot(dist, log="xy")
下のようにヒストグラムを描こうとすると、
dist <- table(data)
plot(dist, log="xy")
やはり次のエラーが出ます。
1: 軸の限界が有限ではありません
[GScale(-1.#INF,2.18469,2, .); log=1]
2: Internal(pretty()) の範囲が大きすぎます..
修正しました
次のようにしても、
hist(data, log="xy")
このようなエラーが出ます。
高水準 plot 関数で,パラメータ "log" を設定できません
両対数ヒストグラムを描くにはどうしたらいいのでしょうか? ...
-hist2 <- hist.default とし,hist2 の最後の方にある r <- ...
r <- structure(list(breaks = breaks,
counts = log10(counts), intensities = dens,
density = dens, mids = mids, xname = xname,
equidist = equidist), class = "histogram")
に書き換える(counts=counts を counts = log10(counts) にす...
次に上に示されてことを縦軸にも施す。さっき作った hist2 を...
old <- par(mar=c(5,5,1,1), xpd=TRUE)
z <- x <- rlnorm(1000)
# hist ではなく hist2 を!
frq <- hist2(log(x), xlab="", ylab="")
# 横軸を描く
z <- floor(log10(z))
z2 <- 1:10*10^(log.min <- min(z)-2)
if ((n <- max(z)-log.min) > 0) {
for (i in 1:n) {
z2 <- c(z2, z2*10^i)
}
}
log.z2 <- log10(z2)
axis(1, at=log.z2, labels=z2, pos=-0.27)
# 縦軸を描く
z <- floor(frq$counts)
z2 <- 1:10*10^(log.min <- min(z)-2)
if ((n <- max(z)-log.min) > 0) {
for (i in 1:n) {
z2 <- c(z2, z2*10^i)
}
}
log.z2 <- log10(z2)
axis(2, at=log.z2, labels=z2, pos=-4.4)
par(old)
2つの軸を描く部分が冗長なので,一つの関数にまとめるとよい...
#ref(pdf2.png)
**補正AICについて [#ib89ba00]
>[[山形]] (2005-11-10 (木) 23:16:59)~
~
モデル選択をする場合、AICを基準にモデル選択をするのは知っ...
扱っているサンプルが少ないため、AICではモデルを過大評価し...
あると聞きました。~
その場合、補正したAIC(c-AIC)を使うといいということも聞き...
補正AICをRで行なうことは出来ますか?探してみたのですが、...
//
-[[stepAIC():http://finzi.psych.upenn.edu/R/library/MASS/...
**時系列データの生成について [#r9d27022]
>[[yuta]] (2005-11-09 (水) 15:41:12)~
~
表題の件で質問です。~
~
以下に例示するような、サンプリングのインターバルが不定で...
なお、行列testmatの1列目は日付のシリアル値(windowsで使...
test<-c({38482,NA,NA,NA,NA,NA,
38531,NA,0.992,NA,NA,NA,
38552,NA,0.988,0.994,0.990,NA,
38562,NA,0.993,0.995,0.992,NA,
38576,NA,0.989,0.990,0.994,NA,
38595,NA,0.994,0.996,0.990,NA,
38608,NA,0.931,0.992,0.990,NA,
38621,0.985,0.956,0.991,0.991,NA,
38637,0.984,0.670,0.980,0.976,NA,
38649,0.989,0.879,0.972,0.983,NA })
testmat <- matrix(test,c(10,6),byrow=T)
ts(testmat)
使用バージョンはR2.2.0(闇国際化)、OSはWindows2000です。
また、時系列オブジェクトの生成には基本パッケージのts()を...
宜しくお願いします。~
//
-何で,c({データ...}) なんだろう。私の環境ではエラーにな...
-tseriesのirtsではダメですか? -- &new{2005-11-09 (水) 1...
-ありがとうございます。当方の力不足で探し出せていませんで...
終了行:
COLOR(green){SIZE(20){初心者のための R および RjpWiki に...
新規投稿はできません
----
-[[初級Q&A アーカイブ(3)]] (元記事が 2005-05-02 より 2...
-[[初級Q&A アーカイブ(2)]] (元記事が 2004-12-13 より 2...
-[[初級Q&A アーカイブ(1)]] (元記事が 2004-08-03 より 2...
----
#contents
----
**outer 関数で引用する関数の定義法について [#q86a04cd]
>[[アール]] (2006-01-25 (水) 14:17:44)~
~
こんなことをする人はいないので,不具合でも何でもないが,...
outer 関数で引用する関数が返す値は,引数が絡んでいないと...
> x <- y <- c(-1,0,1)
> fun <- function(x, y) return(0)
> outer(x, y, fun)
以下にエラーouter(x, y, fun) : dim<- :
dims [product 9] は object [1] の長さに整合しません
> fun2 <- function(x, y) {z <- x+y; return(0)}
> outer(x, y, fun2)
以下にエラーouter(x, y, fun2) : dim<- :
dims [product 9] は object [1] の長さに整合しません
> fun3 <- function(x, y) return(x*0)
> outer(x, y, fun3)
[,1] [,2] [,3]
[1,] 0 0 0
[2,] 0 0 0
[3,] 0 0 0
//
-これは引数が絡んでないというか関数が返す値の構造の問題。...
**関数のプロット [#fa52cc12]
>[[ying]] (2006-01-24 (火) 15:50:30)~
~
多変数関数 f(x1,x2,x3,x4)=a*x1+b*x2+c*x3+d*x4 (a,b,c,d:定...
//
-x3, x4 はどうやって表現するのですか?~
これは,いわゆるその「超平面」の式ですよねぇ。平面ではあ...
この式は変数が5つなので,5次元空間です。~
5次元空間は,我々3次元に住んでいる人間には想像もできない...
f(x1,x2)=a*x1+b*x2+c というのは,3次元空間での平面を表す...
-x3とx4を任意の値を代入する.ここで、例えばx3=3,x4=4とす...
-f(x1,x2,3,4)=0 のグラフ? y=f(x1,x2,3,4)のグラフというこ...
-f(x1,x2,3,4)=0のグラフです. -- [[ying]] &new{2006-01-25...
-あなたもね,f(x1)=a*x1+b=0 のグラフがどんなものなのかが...
-こんな図になります。
#ref(mochi-yaki-ami.png)
黒く表されているのが結果として描かれる平面。これは,x,y平...
プログラムは
y <- x <- seq(-1,1,length=51)
f <- function(x, y) {(x+y)*0}
z <- outer(x, y, f)
persp(x, y, z, zlim=c(-0.5, 0.5))
のようになります。f の定義で単に0を返すように定義すれば良...
-「f(x1,x2,3,4)=0のグラフです」を解釈すると a*x1+b*x2+c*...
**直交表実験における2つの水準間の母平均の差の推定方法 [#...
>[[ExperimentalDesign]] (2006-01-24 (火) 14:29:09)~
~
直交表実験の結果は次のとおりです。xが特性値でA〜Hまでが2...
DATA <- structure(list(x = c(16, 38, 41, 25, 38, 58, 43,...
22, 38, 5, 41, 32, 28), A = c(-1, -1, -1, -1, -1, -1, -1...
1, 1, 1, 1, 1, 1, 1, 1), B = c(-1, -1, -1, -1, 1, 1, 1, ...
-1, -1, -1, 1, 1, 1, 1), C = c(-1, -1, 1, 1, -1, -1, 1, ...
-1, 1, 1, -1, -1, 1, 1), D = c(-1, 1, -1, 1, -1, 1, -1, ...
1, -1, 1, -1, 1, -1, 1), G = c(-1, 1, -1, 1, -1, 1, -1, ...
-1, 1, -1, 1, -1, 1, -1), H = c(-1, 1, -1, 1, 1, -1, 1, ...
1, -1, 1, 1, -1, 1, -1), F = c(-1, 1, 1, -1, 1, -1, -1, ...
-1, -1, 1, -1, 1, 1, -1)), .Names = c("x", "A", "B", "C"...
"G", "H", "F"), row.names = c("1", "2", "3", "4", "5", "...
"8", "9", "10", "11", "12", "13", "14", "15", "16"), cla...
実験の結果から分散分析を次のようにしたところ~
summary(aov(x~.+(A+B+C)^2+C:D+D:F,DATA))
G,H,A:C,B:C,D:Fの効果が小さいことがわかったのでこれを無視...
この結果から、A1B1C1D1F1水準(L1)とA1B2C1D2F2水準(L2)での...
mod <- lm(x~.-G-H+A:B+C:D,DATA)
L1<-predict(mod,data.frame(A=-1,B=-1,C=-1,D=-1,F=-1,G=0,...
level=.95,interval="confidence",se.fit=T)
L2<-predict(mod,data.frame(A=-1,B=1,C=-1,D=1,F=1,G=0,H=0),
level=.95,interval="confidence",se.fit=T)
として、望む結果を得られました。~
この結果を受け、L1とL2の差がどれくらいあるのか推定したい...
//
-lwr = -60.7 , upr = -31.3 の信頼度は 99% ということでし...
また,望む結果というのは,L1とL2の結果からどうやったら示...
そういうことであると仮定して,
> (L1$fit-L2$fit)[1]+c(-1,1)*qnorm(0.995)*L1$residual.s...
[1] -60.68449 -31.31551
かなぁ? -- &new{2006-01-24 (火) 14:57:34};
-ありがとうございます。できました。信頼度は手元の本では95...
-どういうふうに「できました。」なのか? -- &new{2006-01-...
-質問のL16直交表による2水準のみの因子の実験では
> (L1$fit-L2$fit)[1]+c(-1,1)*qnorm(0.995)*L1$residual.s...
で信頼区間を得ることができたので、そういう意味で「できま...
-プログラムと実行結果の両方を提示しているので,「できる」...
-私の文章がわかりにくく、誤解させてしまったことにお詫び申...
{mu(AiBjCk...) - mu(AlBmCn...)}±t(φε,0.05)*sqrt(Vε/nd)
という形で、有効繰り返し数ndを自分で計算しなくても求めて...
-φε,Vε はなんなんでしょう?それがわかるとどうにかできる...
-お手数おかけして申し訳ありません。φεはプーリング後の分散...
-そこまでわかっているなら,自分でプログラムするとよいので...
-自分ではプログラムする技術がないので関数やパッケージを探...
**2つのグラフィックスの軸の一致 [#u7c0a328]
>[[mitsu5]] (2006-01-20 (金) 16:55:33)~
~
きわめて初歩的なことですが、よろしくお願いいたします。~
boxplotと散布図を合成したいと思いました。
a1=rnorm(30)
a2=rnorm(30)
a3=rnorm(30)
x=c(rep(1,30),rep(2,30),rep(3,30))
boxplot(a1,a2,a3)
par(new=T)
plot(x,c(a1,a2,a3),xlim=par("usr")[1:2],axes=F)
こうすればかなり良い線は行くのですが、X軸の1と3で微妙にず...
軸の一致の調整はどうすればよいのでしょうか。よろしくご指...
//
-par はいりません。最後の plot を points にします(余分な...
a1=rnorm(30)
a2=rnorm(30)
a3=rnorm(30)
x=c(rep(1,30),rep(2,30),rep(3,30))
boxplot(a1,a2,a3)
#par(new=T)
points(x,c(a1,a2,a3))
#ref(boxplot.png)
今回はこちらで直しておきますが,今後は[[ヘルプ]]を読んで...
-素早いレス、どうもありがとうございます。こんな簡単に出来...
こんなに簡単とは吃驚ですが、google検索 OKADA.JP.ORG を検...
RjpWiki->Tips紹介->グラフィックス参考実例集 R-Tips ...
これらを見ても複雑すぎて、判らないし、~
> 今後はヘルプを読んで,きれいに投稿しましょう。~
何処のヘルプを読めばよいでしょうか。ご指導のほどよろしく...
-あれ?あなたのお使いのブラウザがなんなのかわかりませんが...
-直すのも重複してしまったようですね。最終調整をよろしくで...
-何のヘルプ->Rjpwikiの[[ヘルプ]]です(返信のところにリン...
-追加:同じ座標系でプロットを追加するのは,(1)最初の描画...
-私の理解不十分で申し訳ありません。どうも皆さんはLinuxで...
-mitsu5さん。私もwindowsです。投稿するためにはwikiの文書...
-あなたの先ほどの記事,かなり読みづらいです。お節介ですが...
私の理解不十分で申し訳ありません。~
どうも皆さんはLinuxですか?それともMac?~
>ついでながら,あなたの今回の投稿も,自分では改行したつ...
>実際には改行になっていなくって変なところに空白があるだ...
>記事になっているのは,投稿後に確認すればわかっていると...
私はWindowsです。ここに投稿したRの a1= .... etc をcopy a...
ここで問題になったのは、LinuxとWindowsの改行のせいでしょ...
いや、ヘルプでは、改行は全部 「行末に~を書くと行末改行に...
OSにかかわらず、行末は ~ これであると書いていただければ...
要するに、Windowsから、この投稿部位へ気軽に書くわけにはい...
-> Windowsから、この投稿部位へ気軽に書くわけにはいかない...
だあれも,そんなこと意ってませんが。~
初心者だから難しいこと言ってくれるなというのんは,甘えか...
-[[練習用ページ:http://www.okada.jp.org/RWiki/index.php?c...
-私が書くとまた袋叩きと思いますが、一言。R helpにはほとん...
-「不満のあるかたが改良する」がこうしたサイトの運営精神で...
-ヘルプを改革してください→自分でしてください。あなたを含...
-例題や十分なサポートが必要でしたら、「有料」のS言語を使...
**polyroot関数について [#oa881aef]
>[[にゃあ]] (2006-01-19 (木) 14:32:36)~
~
Rでx^2−2x−3=0という方程式を解こうと思います。~
Rではpolyroot関数を用いて、
polyroot(c(1,-2,-3))
で解けると思うのですが、出力が
> polyroot(c(1,-2,-3))
[1] 0.3333333+0i -1.0000000+0i
となって、解がおかしいような気がします。~
どなたか検算をお願いします。~
//
-ヘルプをよくよみましょう。-- &new{2006-01-19 (木) 15:20...
> polyroot(c(-3,-2,1))
[1] -1+0i 3-0i
-あ、逆でしたね。失礼致しました。 -- [[にゃあ]] &new{2006...
**UNIX:R-2.0.1のバグ?でしょうか write.table出力不良 [#md...
>[[ホームチーム]] (2006-01-19 (木) 10:15:26)~
~
現在、WindowsとUnixでRのプログラミングを行っております。~
バージョンは双方共にR2.0.1です。~
Windowsでは、テキストエディターでプログラムを書いて、RのG...
Unixでは、Windowsで確認したプログラムを、FTPで設置し、R C...
~
プログラムの中に
write.table(summary_matrix,file="hoge.txt",sep="?t",col....
という部分があります。
プログラム自身は、自作関数による処理、クラスター解析や主...
開発環境であるWindowsXPでは、該当プログラムは全て問題なく...
UNIXで動作させたときに本当に正しくrow.namesがセットできて...
本現象について、お気づきの点等ありましたらご教授いただき...
//
-最新版にしてみて,なおかつエラーが発生するかどうか見てく...
-確かに仰る通りですね、考えてるくらいなら、最新版で確かめ...
-「旧版にバグがあろうとなかろうとだれも興味を持ちません。...
**Rバグフィックス、機能追加、改良の履歴を追うには? [#n15...
>[[やたま]] (2006-01-19 (木) 10:07:08)~
~
現在Windows環境でR-2.0.1を使っております。~
ただ、現状最新のVersionは2.2.1かと思いますので、バージョ...
そこで、R2.0.1→2.2.1に至るまでは数多くのバージョンアップ...
Rをインストールしたフォルダ以下にある「CHANGES」テキスト...
稚拙な質問で恐縮ですが、アドバイスいただければ幸いです。~
//
-[[RソースのNEWSファイル:http://cran.md.tsukuba.ac.jp/src...
-ありがとうございます。NEWSファイル早速見てみたいと思いま...
**svmのプログラムについて [#o607ef66]
>[[ying]] (2006-01-17 (火) 17:57:37)~
~
今svmについて理解している.でも,分からない所があって,教...
help(svm)からsvmについてたくさん書いてるけど,実際svmのpr...
実際このようにやってみたら:
> edit(svm)
function (x, ...)
UseMethod("svm")
<environment: namespace:e1071>
これしかなかった.もっと詳しいプログラムについて知りたい...
//
-プログラムを見たいということなら,以下のようだけど。それ...
> library(e1071)
> e1071:::svm.default
> e1071:::svm.formula
? svm をして,ヘルプおよび,そこからリンクされているウエ...
-help(svm) の最後に参考プログラムがありますが、これではた...
-トップ頁の R site search を使いキーワード "svm" で検索...
-ありがとうございます!!とても助かりました!! -- [[ying...
**モンテカルロ法による円周率 [#fdfe817e]
>[[しゃけ?]] (2006-01-16 (月) 15:46:54)~
~
下記のような方法を見つけたのですが、一行目から何をやって...
ULONG_MAX = 4294967295
以下ばっさり,削除(それにしても,投稿法くらい守ってね)~
//
-R と関係ありませんね。宿題だったらここはおかど違いです...
-rubyのRだと思ったのかな?rubyはここhttp://www.ruby-lang....
-ちなみに,R だと,
n<-100000;sum((colSums(matrix(runif(n*2)^2,2))<1))*4/n
位でできるしィ -- &new{2006-01-16 (月) 17:23:28};
-もっと短くなる
n<-100000;sum(runif(n)^2+runif(n)^2<1)*4/n
もっともっと? -- &new{2006-01-17 (火) 07:57:38};
**plot.svmについて [#cfa25020]
>[[ying]] (2006-01-14 (土) 16:42:59)~
~
データirisについてサポートして,グラフを描きたいけど、多...
plot(m2, iris, Petal.Width ~ Petal.Length,
slice = list(Sepal.Width = 3, Sepal.Length = 4))
がある。これはいったいどんな意味ですか?~
教えてください!!~
//
-plot.svm が何なのか,私にはわかりません!!!!!!!!...
示された例でも,m2 はなんなのでしょうか!!!!!!!!!...
一般的に多次元のデータを二次元平面にどのように描いたらよ...
!!!! -- &new{2006-01-14 (土) 18:38:57};
//
-yingさんの疑問が?plot.svmで得られるexampleを指していると...
## a simple example
library(MASS)
data(cats)
m <- svm(Sex~., data = cats)
plot(m, cats)
## more than two variables: fix 2 dimensions
data(iris)
m2 <- svm(Species~., data = iris)
plot(m2, iris, Petal.Width ~ Petal.Length,
slice = list(Sepal.Width = 3, Sepal.Length = 4))
ですから、plot(m2,...)は「m2についてfomulaで指定する次元...
-パッケージ e1071 中にある svm (Support Vector Machine...
-e1071に実装されているSVMは[[LIBSVM:http://www.csie.ntu.e...
-ご返事ありがとうございます.ここで,slice = list(Sepal.W...
-?plot.svmに説明があるようです -- [[Akira]] &new{2006-01-...
**Rを使った学術論文 [#rb695195]
>[[Akira]] (2006-01-14 (土) 13:33:59)~
~
Rの引用(Materials&Methodsとして)を何種類か見たのですが...
bioconductorとExcelでもできる簡単な処理ですが、投稿したい...
//
-投稿先の雑誌が指定する投稿規定では引用の記述方法も決まっ...
-ありがとうございます。参考にさせていただきます。ただ、生...
-補足させてください。citation()ではBibTeX形式以外にも一般...
-[[Rを引用する]]を作成しておきました -- [[谷村]] &new{200...
-TeX を使う人は LaTeX を使う人より少ないと思いますよ。 --...
**vectorの計算結果をmatrixまたはvectorに保存したい [#gbe1...
>[[柳]] (2006-01-13 (金) 13:02:58)~
~
x<-c(1:3)
y<-c(4:6)
z<-matrix(0,length(y),length(x))
myfunction<-function(x,y){
for(i in 1:length(x)){
z[,i]<-x[i]+y
}
}
をするとparse errorが出ますがなぜかぜんぜんわかりません~
教えて下さい~
//
-parse error というのは,出ませんでしたが。質問するときに...
また,この後に myfunction(x,y) というように関数を引用する...
質問(プログラム)の投稿についても,再度[[ヘルプ]]をご覧...
**関数のソースコード [#o8b7abaf]
>[[まいける]] (2006-01-12 (木) 17:35:58)~
~
はじめまして。~
Rにoptimという関数がありますが、そのソースコードを入手す...
また、そのソースコードはC等で書かれているものなのでしょう...
大変初歩的な質問で恐縮ですが、なにとぞご教示よろしくお願...
//
-コンソールのプロンプトに,optim と入力してみましょう -- ...
-早速のアドバイスありがとうございました。 -- [[まいける]]...
-もっと先を知りたいのなら,src/main/optim.c を見ればよい...
-すみません。もうひとつお教えください。src/main/optim.cは...
-R をインストールすれば必ずソースもインストールされるわけ...
-何度もご親切にお教え頂きありがとうございました。無事入手...
-http://rgonzui.nakama.ne.jp/search?q=package:R-2.2.0%20o...
**factorのlevelを削る方法 [#mc11864e]
>[[Moz]] (2006-01-10 (火) 20:25:23)~
~
x <- factor(c(rep("A",4),rep("B",2),rep("C",3)))
x
[1] A A A A B B C C C
Levels: A B C
x <- x[x!="C"]
x
[1] A A A A B B
Levels: A B C
levelからCを消すにはどうしたらよいのでしょうか。table()で...
ときにじゃまになります。無理矢理~
x <- as.factor(as.character(x))
x
[1] A A A A B B
Levels: A B
としましたが、もっと正統なやり方があるのではないかと思っ...
//
-正統かどうか知りませんが x <- factor(x[x!="C"]) -- [[tak...
-えぇと、
x <- x[, drop=T]
ですね。 -- [[びい]] &new{2006-01-11 (水) 06:11:20};
-takahashiさん、びいさんありがとうございました。今後は、x...
**データベースからのデータを使いたい [#a6d4a8ae]
>[[ひらい]] (2006-01-09 (月) 00:10:48)~
~
windowsでR2.2.0を使っています。~
MySQLの中のデータベースに入っているデータを使って、ユーク...
どなたかご教授お願いします。~
//
-RMySQL パッケージをインストールし、研究すべし。 -- &new...
-ちなみにRからデータベース内のデータはすでに見ることがで...
-あなたも,もう少し具体的に質問しなくちゃいけないし,回答...
-老婆心から質問のしかたについて書いてみました。(気を悪く...
OS:windows(XP)、
R:ver2.2.0(J)、
DB:MySQL、RMySQLにてRとダイレクトリンクしています。、
R内に取り込んだdataframeは XXX、
dataframeのフィールド名は、A,B,C、
このデータを使ってユークリッド距離(関数dist)をもとめたい...
-既に実施して上手く行かなかった例があると他の人の参考にな...
**Rの画面に表示される速度 [#r1dcb42d]
>[[aa]] (2006-01-05 (木) 00:18:37)~
~
Windows XP で,Rを使っています。~
長いプログラム(1000行ほど)をRのコンソールに一気に流した...
~
余程複雑な計算でなければ,新しいversion(2.20以降)の方が...
計算の実行速度ではなく,表示時間が遅くなります。~
この原因をご存知の方,アドバイスを頂けると幸いです。~
//
-バージョンこれこれではしかじか秒,違うバージョンかくかく...
-version は,1.81-2.11 vs 2.20-2.21 です。具体的な秒数は...
-重箱の隅つつきで申し訳ないが。R のバージョン表記は 2.2.1...
-たとえば,a <- sqrt(3) というのを1000行入力して,次のプ...
[長いプログラム(1000行ほど)をRのコンソールに一気に流す]...
//修正: sourece -> source
遅くなる理由が知りたいというならしようがないですが,我慢...
-ウインドウのサイズを小さくすると速くなりません? -- &ne...
**変数が行として表されているファイルからのインポート [#l7...
>[[本太]] (2006-01-01 (日) 23:36:29)~
~
変数が列として表されているCSVファイル(d1.csv)からデータを...
x<-read.table("C:/R/d1.csv",header=F,sep=",")
と記述しています。~
変数が行として表されているCSVファイル(d2.csv)を読み込み上...
すみませんがよろしくお願いします。
----- d1.csv ------
height weight age
172 72.6 25
159 59.8 27
164 78.7 42
179 85.4 35
164 65.7 30
-------------------
------------d2.csv-------------------
height 172 159 164 179 164
weight 72.6 59.8 78.7 85.4 65.7
age 25 27 42 35 30
--------------------------------------
~
//
-たぶん,ヘッダがついたファイルなのでは?などと思いつつ,
x <- t(read.table("c:/r/d1.csv" ,header=T,sep=","))
でいいかと. -- [[なかま]] &new{2006-01-02 (月) 01:12:43};
-data.frameがほしいということですので、
x <- data.frame(t(read.table("c:/r/d1.csv" ,header=T,sep...
でしょうか?ただ、要素の属性は変わると思います。 -- [[Aki...
-あなたの記述が若干不正確ではないかと思うのですが,
変数が列として表されているCSVファイル(d1.csv)からデータ...
x<-read.table("C:/R/d1.csv",header=F,sep=",")
は
x<-read.table("C:/R/d1.csv",header=T,sep=",")
ではないかと思うのはさておき,~
対象とするファイルが d2.csv で,その内容が,まさしく以下...
sep="," ということは,カンマで区切られていると言うことで...
実行結果で示すよりは,入力ファイルの形式で示した方が誤解...
height,172,159,164,179,164
weight,72.6,59.8,78.7,85.4,65.7
age,25,27,42,35,30
さて,そうであれば,あなたの本当に望むことは(回答例に示...
回答案も,実際にやってみればすぐにわかるとはいうものの~
もっとも,回答者をせめるのではなく,あなたが十分な情報を...
> x <- t(read.table("d2.csv" ,header=F,sep=","))
> name <- x[1,]
> x <- x[-1,]
> x <- matrix(as.numeric(x), nrow(x))
> colnames(x) <- name
> x <- data.frame(x)
> x
height weight age
1 172 72.6 25
2 159 59.8 27
3 164 78.7 42
4 179 85.4 35
5 164 65.7 30
d2.csv を読み込んだときと同じ結果ということは,このような...
**Rcmdrテキストファイルのインポート [#c3cf15bf]
>[[にゃあ]] (2006-01-01 (日) 04:41:36)~
~
Rcmdrでデータのインポート⇒テキストファイルからでCSVファイ...
これってバグなんでしょうか?~
また、同様に出力した筈のCSVファイルでさえ、データを読み込...
//
-CSVファイルの容量はどれくらいなのでしょうか?重すぎたり...
-Windows系ならたぶんデータが巨大過ぎてどこかのヒープが溢...
-読み込みが成功したファイルは1.73MBで、失敗したファイルは...
-一つお聞かせ(OSやRバージョン)願えれば,わたしは通常の3倍!...
-抽象的なバグ報告は,何の情報も提供しない。どうも,ファイ...
-WindowsはXPです。Rは闇2.2.0です。 -- [[にゃあ]] &new{200...
-それだけの情報では,まだ,不足ではないかなと。。。 -- &...
-しかしながらデータをここに載せるわけにはいかないので。行...
-とりあえず 行数 は伺えましたので列数も教えてもらえますか...
-あと、学生さんか社会人の方か存じませんが、タイトルは後で...
-成功した方の1.73MBのファイルは行数は3,945行105列です。失...
-同じ現象は再現できませんでしたが、ちょっと気になる動作を...
->なかまさん わざわざありがとうございました。現時点では...
-失敗するファイルの列数を100以下にすれば問題ないかも... -...
-分かりました。やはり直接CSVを読み込まないで、一旦Excel上...
-う〜ん、やっぱり具合が宜しくないようです。データが読み込...
-害が無ければ(無保証,無責任でよければ)、一度私宛(eiji.nak...
**日付変数をデータフレームの要素に格納したい [#sef3b878]
>[[じゃんぽけ]] (2005-12-29 (木) 11:43:38)~
~
Tips等調べて1日格闘してみましたが、わからないポイントが...
~
【質問内容】~
日付に関する演算を繰り返し行うプログラムを書く予定でして、~
~
1.文字型で格納しておいて取り出す度にDATES()で変換して使...
2.文字型で格納しておいて文字型に変換したものを別の変数...
3.最初から日付型で格納しておいて取り出す~
~
で3.の方法で実行する方法がないかなと思い模索している所...
~
日付型の変数をデータフレーム内の要素に代入しようとすると...
これを日付型のまま代入する方法はございますでしょうか?~
(列をベクトル演算で変換した場合には日付型で代入できるよ...
~
また、まだまだ勉強不足のため、下記のような挙動になる要因...
~
何度も質問致しまして恐縮ではございますがご教授頂ければ幸...
よろしくお願いします。~
~
【プログラム例】~
> DATE <- dates("05/12/31",format="y/m/d")
> DATE2<- "05/12/31"
>
> test1 <- data.frame(a=rep(NA,3))
> test1$a[1] <- DATE
> test1
a
1 13148
2 NA
3 NA
> mode(test1$a)
[1] "numeric"
>
> test2 <- data.frame(a=rep(NA,3))
> test2$a[1] <- DATE2
> test2
a
1 05/12/31
2 <NA>
3 <NA>
> mode(test2$a)
[1] "character"
>
> test3 <- data.frame(a=rep(NA,3))
> test3$a[1] <- dates(test1$a[1],format="y/m/d")
> test3
a
1 13148
2 NA
3 NA
> mode(test3$a)
[1] "numeric"
>
> test4 <- data.frame(a=rep(NA,3))
> test4$a <- dates(test2$a,format="y/m/d")
> test4
a
1 05/12/31
2 <NA>
3 <NA>
> mode(test4$a)
[1] "numeric"
//
-chronライブラリのdatesクラスですね。型はnumericでクラス...
-中澤さん、ありがとうございます。事前にデータフレームで定...
> data.frame(a=rep(dates("12/31/05"),3),b=0)
a b
1 13148 0
2 13148 0
3 13148 0
> data.frame(a=dates(rep("12/31/05",3)),b=0)
a b
1 12/31/05 0
2 12/31/05 0
3 12/31/05 0
ところで、上記のようにデータフレームにNAなど値を入れる場...
自己レスの修正をしました。
データフレーム作成時に、変数を日付型に宣言しておくことで
空データになっても日付型を保持していますが、
更新時に個別の行を更新しなければ日付型を保持できないよう...
> #データの定義をした後に空データにする
> test <- data.frame(a=dates(c(NA,NA),format="y/m/d"),b=...
> test <- test[FALSE,]
> test
[1] a b
<0 rows> (or 0-length row.names)
>
> #空のデータフレームに行を追加するとちゃんと日付を保持
> test <- rbind(test,c("2000/01/03",0))
> test
a b
1 00/01/03 0
>
> #データフレームが1行の場合、全行をまとめて更新すれば...
> test$a <- dates("2000/01/22",format="y/m/d")
> test
a b
1 00/01/22 0
>
> #更に1行追加。(実験1用と実験2用のデータを作成)
> test1 <- rbind(test,c("2000/01/05",0))
> test2 <- test1
> test1;test2
a b
1 00/01/22 0
2 00/01/05 0
a b
1 00/01/22 0
2 00/01/05 0
>
> #実験1:データフレームが2行以上の場合、
#全行をまとめて更新すれば日付型でなく なる
> test1$a <- dates("2000/01/22",format="y/m/d")
> test1
a b
1 10978 0
2 10978 0
>
> #実験1:このデータフレームに日付を文字型で
#いれようとすると変数aは文字型に変化
> test1 <- rbind(test1,c("2000/01/03",0))
> test1
a b
1 10978 0
2 10978 0
3 2000/01/03 0
> mode(test1$a)
[1] "character"
>
> #実験2:この場合は、データフレームの行を
#それぞれ更新すればOK
>
> test2$a <- dates(rep("2000/01/22",length(test2$a)),for...
> test2
a b
1 00/01/22 0
2 00/01/22 0
-- [[じゃんぽけ]] &new{2005-12-29 (木) 22:00:28};
**条件に合致する行を抽出した上で、新たな変数(列)を追加...
>[[じゃんぽけ]] (2005-12-28 (水) 11:51:41)~
~
一通りTips や Q&A を見てプログラムを書いてみたのですが、...
~
以下のように、「FOR文を利用して、条件に合致する行を抽出し...
~
考えたやり方では、~
「1.事前に追加する変数(列)は定義しておく」~
「2.抽出条件に当てはまる行がない場合は、IF文でエラーを...
ということで解決はできているようなのですが、もっと簡単に...
~
ご教授頂ければ幸いです。宜しくお願いします。~
~
> #その1:新たなdという変数(列)に直接的に値を追加・代入
#テストデータを作成
> test <- data.frame(a=c(1,2,3),b=c(4,5,6),c=c(7,8,9))
> test
a b c
1 1 4 7
2 2 5 8
3 3 6 9
>
> #合致する行がなくても代入するとエラー
> for(i in 4:3){
+ test[test$a == i,]$d <- 2
+ }
以下にエラー"$<-.data.frame"(`*tmp*`, "d", value = 2) :
置き換えは 1 列ですが、データは 0 列です
>
> #IF文で合致しない行の場合にスキップしてもエラー
> for(i in 4:3){
+ if(nrow(test[test$a == i,]) != 0){
test[test$a == i,]$d <- 2
} #こうやれば合致しないものにはエラーはでない
+ }
Warning message:
4 個の変数を与えて、3 個の変数を置き換えようとしています...
"[<-.data.frame"(`*tmp*`, test$a == i, , value = list(a...
>
> #その2:事前にdという変数(列)を作っておいて値を追加...
#テストデータを 作成
> test <- data.frame(a=c(1,2,3),b=c(4,5,6),c=c(7,8,9))
> test$d <- NA
> test
a b c d
1 1 4 7 NA
2 2 5 8 NA
3 3 6 9 NA
>
> #合致する行がなくても代入するとエラー
> for(i in 4:3){
+ test[test$a == i,]$d <- 2
+ }
以下にエラー"$<-.data.frame"(`*tmp*`, "d", value = 2) :
置き換えは 1 列ですが、データは 0 列です
>
> #IF文で合致しない行の場合にスキップすればOK
> #ただし、文章としてはやや冗長感がある?
> for(i in 4:3){
+ if(nrow(test[test$a == i,]) != 0){
test[test$a == i,]$d <- 2
} #こう やれば合致しないものにはエラーはでない
+ }
>
> test
a b c d
1 1 4 7 NA
2 2 5 8 NA
3 3 6 9 2
>
//
-cbind(test,d=rep(2,length(test$a))[!!match(test$a,4:3)])...
-なかまさん、ありがとうございます。例文を基にいろいろ試し...
-「FOR文を利用して・・・」ということなので、以下のような...
> ( tmp <- subset(test, a==2) ) # a==2 となる行を抽出
a b c
2 2 5 8
> ( transform(tmp, d=0) ) # データフレーム tmp に変数 d ...
a b c d
2 2 5 8 0
> transform(subset(test, a==2), d=0) # 上の 2 行をひとま...
-なかまさん、舟尾さん、ありがとうございました。最終的に、...
**欠損値のあるデータに対する主成分分析 [#m5f01e40]
>[[Shigu]] (2005-12-27 (火) 18:21:52)~
~
はじめまして、データ分析のためにRの勉強を始めたShiguと申...
googleと過去ログで調べたのですが、見つからなかったので質...
~
欠損値がそこらじゅうにあるcsvデータ(400サンプル×130属性)...
このような欠損値のあるデータに対して、各属性の第一主成分...
~
どなたかご教授どうぞよろしくお願いします。~
//
-すざまじい NA の嵐ですか。NA がどうしてそんなにたくさん...
-NAがゼロでも,130属性に対して400サンプルは少なくありませ...
-理想的にはそういうことですが。安定性のある分析結果が得ら...
-みなさまコメントありがとうございます。おっしゃるとおり卒...
-そのようなことをしてしまうと、主成分分析の意味は薄らいで...
-欠損値補完法について調べてみてはいかがでしょうか?(でも...
-コメントありがとうございます。とりあえず、ある閾値以上の...
-問診の欠損値ですと、尺度が名義尺度か順序尺度でしょうから...
-そうなのです。もっと厳密な補間法もあるとは思うのですが、...
**barplot関数でのErrorの処理 [#d33a0a9e]
>[[鍋]] (2005-12-26 (月) 22:24:05)~
~
> mydata
[1] "15" "17" "17" "22" "11" "22" "13" "20"
"19" "18" "11" "11" "18" "18" "24"
[16] "13" "21" "17" "19" "11" "10" "19" "13"
"6" "5" "5" "5" "3" "2" "2"
[31] "0" "2"
> barplot(mydata)
Error in -0.01 * height : non-numeric argument to binary...
何でこういうErrorが発生するのでしょうか?どう対応すればい...
//
-どうやってデータを入力したのかわかりませんが、各数字がダ...
mydata <- c(15,17,17,22,11,22,13,20,19,18,11,11,18,18,24,
13,21,17,19,11,10,19,13,6,5,5,5,3,2,2,0,2)
barplot(mydata)
とすれば大丈夫。-- [[soysoy]] &new{2005-12-26 (月) 23:16:...
-どうやって mydata に付値したのかを書かないと,教えようが...
-errorメッセージはmydataがnumericになっていないと言ってい...
-わかりました。ありがとうございます!! -- [[鍋]] &new{20...
-ひとりよがりだけではだめですね。「わかりました。ありがと...
**"を含む文字列を作りたい [#t99e7516]
>[[S. Sugawara]] (2005-12-25 (日) 14:37:16)~
~
hoge1.sav-hoge50.savと連番になっているspssファイルをまと...
library(foreign)~
tmp="hoge"~
for(i in 1:50)~
eval(parse(text=paste(tmp,i,"<-read.spss(", """ , tmp, ""...
~
のようにすると"""の部分で文法エラーになります。しかしこれ...
"を含む文字列を作成できれば解決すると思うのですが、その方...
//
-複雑な文字列を作るのには,sprintf 関数をお勧めします。以...
> tmp="hoge"
> i=12
> text=sprintf("%s%i<-read.spss(?"%s%i.sav?",
use.value.labels=TRUE, to.data.frame=TRUE)",
tmp, i, tmp, i)
> text
[1] "hoge12<-read.spss(?"hoge12.sav?",
use.value.labels=TRUE, to.data.frame=TRUE)"
二つ目の引用符の位置がおかしいと思いましたので直しました...
-別法というか,このページ(目次)の中程にある「自動でファ...
-解決しました。ありがとうございました。余談ですが、Rでは"...
-ダブルクオートはメタキャラです. -- [[なかま]] &new{2005-...
**plot(density(x))のy軸をFrequencyにしたいです。 [#u21d53...
>[[Akira]] (2005-12-24 (土) 00:01:14)~
~
複数のデータに対してヒストグラムを重ねて、データの違いを...
#例えばmatというdata.frameがあるとして
mat <- data.frame(rnorm(1000), rnorm(1000), rnorm(1000))
for(i in seq(ncol(mat))){
dat <- mat[, i]
dat <- density(dat)
dat$y <- dat$y * nrow(mat)
plot(dat, xlim=c(-10, 10), ylim=c(0, 100), col=i)
if(i != ncol(mat))
par(new=TRUE)
}
などとすればdensity(x)のy軸がFrequencyに変わると思ったの...
//
-5,6 行目は
dat$y <- dat$y
plot(dat, xlim=c(-10, 10), ylim=c(0, 0.5), col=i)
ではないでしょうか? -- &new{2005-12-24 (土) 09:51:25};
-ylim は適当に決めました。dat$y <- dat$y * nrow(mat) は d...
-縦軸の名前が Density なんだけど,それを Frequency に変え...
plot(dat, xlim=c(-10, 10), ylim=c(0, 400), col=i, ylab="...
でしょうけど。 -- &new{2005-12-24 (土) 22:03:24};
-ylab="Frequency"にすればdat$yの値も確率から頻度に変換さ...
hist(x)やtruehist(x)にはそれぞれfreqとprobのオプションが...
やりたいこととしては、hist(x)かtruehist(x)で柱の頂点を結...
-曰く「ylab="Frequency"にすればdat$yの値も確率から頻度に...
そんな便利な機能はないですね。~
やってみればわかるように,描画される文字だけが変わるんで...
-確かにそんな便利な機能は見たことがなかったです。そうなる...
で、やはりplot(density(x))のy軸は変わらないのでしょうか?...
-内容をまだ理解できていませんが、[[ヒストグラムと密度の推...
**交互作用項を含む多重回帰の総当たりのAIC比較 [#rb0c16fe]
>[[velvet]] (2005-12-23 (金) 13:13:52)~
~
現在以下の環境でRを勉強しているvelvetと申します~
OS:windows XP、R:Version2.2.0~
~
現在ある生物の出現が、どのような環境要因によって説明でき...
具体的には以下のようなデータです~
100地点において、ある生物が存在したかどうか(A、0(出現し...
このような方法はweb上でいくつか存在しましたが~
私の場合、3つの環境変数の間に相関が存在するため、これらの...
つまり~
glm(A~B, family=binomial) から~
glm(A~B + C + D + B*C + B*D + C*D + B*C*D, family=binomia...
どなたか具体的な方法を御存知でしょうか?~
宜しく御願い致します~
//
-[[総当たり法による重回帰分析:http://aoki2.si.gunma-u.ac....
name <- c("B","C","D","B*C","B*D", "C*D","B*C*D")
nv <- length(name)
str <- character(nv)
n <- 2^nv-1
result3 <- character(n)
for (i in 1:n) {
k <- i
m <- 0
for (j in 1:nv) {
if (k%%2) {
m <- m+1
str[m] <- name[j]
}
k <- k%/% 2
}
result3[i] <- paste(c("glm(A ~", paste(str[1:m], collap...
", family=binomial)"), collapse=" ")
}
print(result3,quote=FALSE)
これを,sink でファイルに保存して,しかるべき時に source ...
[1] glm(A ~ B , family=binomial) ...
[2] glm(A ~ C , family=binomial) ...
:
[127] glm(A ~ B + C + D + B*C + B*D
+ C*D + B*C*D , family=binomial)
127通りありますからねぇ。~
ああ,でも,glm(A ~ B*C*D , family=binomial) みたいなのは...
-早速のアドバイスありがとうございます。何とかなりそうです...
**Unix上のRでのdevice出力(jpeg,png)に関して [#zdae318f]
>[[サイハテ]] (2005-12-20 (火) 18:00:30)~
~
現在、以下の環境でRの勉強をしているサイハテと申します。~
~
OS:Unix(Sun solaris8)~
R:Version2.0.1~
Rの使用形態:簡単なスクリプトを”R CMD BATCH”で実行する~
~
非常に稚拙な質問で申し訳ないのですが、Unix上のRでグラフ(p...
~
できればR CMD BATCHで、WindowsではメジャーなJPEGやPNG形式...
教えていただけると非常に助かります。~
よろしくお願いいたしますm(_ _)m~
~
以下、?deviceの引用
Devices package:grDevices R Do...
List of Graphical Devices~
Description:~
The following graphics devices are currently availab...
* 'postscript' Writes PostScript graphics comman...
* 'pdf' Write PDF graphics commands to a file
* 'pictex' Writes LaTeX/PicTeX graphics commands...
* 'xfig' Device for XFIG graphics file format
* 'bitmap' bitmap pseudo-device via 'GhostScript...
available).
The following devices will be available if R was com...
them and started with the appropriate '--gui' argume...
* 'X11' The graphics driver for the X11 Window s...
* 'png' PNG bitmap device
* 'jpeg' JPEG bitmap device
None of these are available under 'R CMD BATCH'.
~
//
-直接の回答でなくてすみませんが,jpeg はグラフィックには...
-Imagemagick をインストールし COLOR(red){convert foo.pdf...
-左より,pdf, jpeg, png。プレゼンソフトに200%でペーストし...
#ref(hikaku.png)
実際のプレゼン画面上での pdf はもっときれい。-- &new{200...
-アドバイスありがとうございました。大変参考になります<(_ ...
**ARモデルの当てはめ [#t1392b83]
>[[itoken]] (2005-12-19 (月) 21:07:52)~
~
ARモデルのあてはめをAICを使って、自分でプログラムし、次数...
(n-k)×log{Q/(n-k)}+2×k k:次数 n:データ数 Q:残差平方和~
というモデルで計算しました。~
RでのAICの式はどのようになっているのかを教えていただける...
//
-どのライブラリを使って,どのようなプログラムで解析して,...
-何とか解決できました!!回答ありがとうございます!あと、...
-今後の参考のためにどういう問題でどう解決できたか記入して...
**Meadow+ESSにおいて、”アンダースコア”のショートカットキ...
>[[三田]] (2005-12-19 (月) 18:18:31)~
~
現在、Rwikiのページを参考に~
Meadow+ESSでRのスクリプト作成を行っております。~
~
Version:~
Meadow Emacs 21.4.1と表示されています~
ESS 2005-09-07版~
R 2.1.1~
~
上記のような環境において、Meadow上で変数名として_(アンダ...
入力したいのですが、ESSのショートカットキー~
~
Rwikiのページ:~
http://www.okada.jp.org/RWiki/index.php?ESSUsage~
~
において_(アンダースコア)は自動的に”<-”に変更されてしま...
何とも困っております。~
Googleや本Rwikiでも情報収集を試みたのですが、いきづまって...
//
-どうしてもアンダースコアでなくてはならないのですか?こだ...
-アンダースコアキーが付値記号にマッピングされているのは e...
-諸先輩方、迅速、かつ真摯なるアドバイスを頂戴しましてまこ...
**検索用ベクトルの値を使ってデータフレームの条件抽出をし...
>[[小田]] (2005-12-15 (木) 10:04:39)~
~
一通りTips や Q&A を見てみたのですが、力不足で最適なプロ...
どなたかご教授頂けるとうれしく思います。~
どうかよろしくお願いします。~
~
【実現したい事】~
検索用ベクトルの値を使い、データフレーム内のある列で検索...
>data<-data.frame(LABEL=c("A","B","C","D",
"E","F","G","H","I","J"), VALUE=c(1:10))
>data
LABEL VALUE
1 A 1
2 B 2
3 C 3
4 D 4
5 E 5
6 F 6
7 G 7
8 H 8
9 I 9
10 J 10
>#検索したい値
>search <- c("A","B","C")
>search
[1] "A" "B" "C"
>#実現したいこと
>data[data$LABEL =="A" |
data$LABEL =="B" |
data$LABEL =="C" ,]
LABEL VALUE
1 A 1
2 B 2
3 C 3
いくつか方法を考えているのですが、最適なプログラムを思い...
(1) 条件式をpasteで記述後、data[条件式,]を実行
> exec <- NA
> for(i in 1:length(search)){
+ exec <- paste(exec,
ifelse(i > 1," | ",""),
"data$LABEL =='",search[i],"'",sep="")
+ }
> exec
[1] "NAdata$LABEL == 'A' |
data$LABEL == 'B' |
data$LABEL == 'C'"
> data[exec,]
LABEL VALUE
NA <NA> NA
(2) IFELSEを使ってみた
> data[ifelse(search == data$LABEL,TRUE,FALSE),]
LABEL VALUE
1 A 1
2 B 2
3 C 3
Warning messages:
1: 長いオブジェクトの長さが短いオブジェクトの
長さの倍数になっていません in: is.na(e1) | is.n...
2: 長いオブジェクトの長さが
短いオブジェクトの長さの倍数になっていません in:
"==.default"(search, data$LABEL)
どなたかご教授お願いしますm(_ _)m~
//
-do.call("rbind",lapply(search,function(x){data[data$LABE...
-クイズの答えの一つとして, data[apply(sapply(search, fun...
こちらは,表示順は元のデータファイルの出現順-- &new{2005...
-data[data$LABEL %in% search,] で充分か.(^_^; -- [[なかま...
-data[is.element(data$LABEL, search),] も -- &new{2005-1...
-皆さんありがとうございます。無事解決できました!結局、se...
**AIXへのRプログラムインストールについて [#uf776bf1]
>[[柴田]] (2005-12-14 (水) 17:44:56)~
~
こんにちは。宜しくお願い致します。~
~
OS:AIX5.2~
AIXにRをインストールしている段階なのですが、makeコマンド...
「make:make 1254-025 既存詳細ファイルが存在するか、または...
~~
作業内容としましては、CRANにて最新のソース「R-2.2.0.tar.g...
この回避方法をご存知の方がいましたらご教授願いたいのです...
どうぞ宜しくお願い致します。~
//
-[[こちら:http://cran.r-project.org/doc/manuals/R-admin.h...
-早速のご回答有難うございます。がんばるしかないですね(^...
**stepAICによる変数増加法 [#j29f1143]
>[[R初心者]] (2005-12-14 (水) 15:21:25)~
~
重回帰モデルの変数選択を行う上で、~
変数増加法を用いたいのですが、~
stepAIC()の使い方が良くわかりません。~
helpによると、scope = list(upper=・・・~
としている辺りが増加法だと思うのですがよく理解できません...
~
result<-glm(y~???)~
result2<-stepAIC(result,scope=list(upper=x1*x2*x3))~
~
とするのでは?とも思いましたが、???の部分に何を入れたら良...
わかりませんでした。追加する1つ目の変数はこちらで、~
設定しておいたほうが良いのでしょうか?~
~
~
どなたか、ご指導お願いいたします。~
//
-最小のモデルにしておけば簡単です。
x1<-rnorm(100)
x2<-rnorm(100)
x3<-rnorm(100)
y<-rnorm(100)
g<-glm(y~1,gaussian) # 切片から始めたいなら。
library(MASS)
stepAIC(g,direction="forward",
scope=list(upper=~x1*x2*x3)) # scope=~x1*x2*x3でもよい。
upperの後の~を忘れないように。--[[KI]] &new{2005-12...
-例もつけて下さって、よく分かりました。どうもありがとうご...
**数量化 I 類で総当り法による変数選択 [#rb258afe]
>[[TOTO]] (2005-12-13 (火) 20:46:56)~
~
数量化 I 類で総当り法による変数選択(指標はAIC)をしたい...
as.factorを使って説明変数を変換した後、mle.aic()を使って...
//
-総当たり法ですから,全ての説明変数の組み合わせを発生させ...
[[http://aoki2.si.gunma-u.ac.jp/R/All_possible_subset_sel...
-紹介していただいたソースを改造し、うまくいきました。あり...
**library(Hmisc); library(Biobase)だとBiobaseが読み込めま...
>[[Akira]] (2005-12-12 (月) 11:01:01)~
~
bioconductorの質問はここで大丈夫でしょうか?~
使用環境はXPpro+闇R2.2.0です。Hmiscを読み込んでからBiobas...
# これだとエラーが出てbiobaseが読み込めません
library(Hmisc); library(Biobase)
# これだとOK。Biobase、Hmiscともに読み込めます。
library(Biobase); library(Hmisc)
# エラーメッセージです
> library(Hmisc)
> library(Biobase)
要求されたパッケージ tools をロード中です
以下にエラーsetMethod("contents", "environment",
function(object, all.names) { :
no existing definition for function 'contents'
エラー:.onLoad は 'Biobase' のための
'loadNamespace' に失敗しました
エラー:'Biobase' に対するパッケージもしくは
名前空間のロードが失敗しました
loadNamespaseが変更されているという意味だと思うのですが、...
~
よろしくお願いします。~
//
-各パッケージと R 本体とのバージョンはあっていますか(思...
-library(tools)を単独で実行するとどうなりますか? -- &ne...
-library(tools)は問題なくloadできます。library(tools); li...
Hmiscのバージョンは最新(3.0-7)です。Biobaseも最新(1.7?...
他のパッケージでもこんな現象はあるのでしょうか? -- [[Aki...
**Rをインストールしたのですが、CRANにアクセスできません。...
>[[阿部勝延]] (2005-12-12 (月) 09:30:20)~
~
R2.2.0(Windows版、Mac版)をインストールしたのですが、「R...
状況は~
Windows Xp Professional+R2.2.0~
プロキシーサーバーがあり、そこからファイアーウォールを...
Macintosh(MacOSX10.3.9)+R2.2.0~
こちらは、ちょっと複雑で、先ほどのWindowsマシンをProxy...
せっていは、P50にあるとおり、~
Sys.putenv("http_proxy"="http://proxyhost:8080")~
を実行します。このコマンドは通りますが、パッケージの一覧...
もしいいアドバイスがありましたら、よろしくお願いいたしま...
//
-プロキシサーバの名前が,本と同じく,proxyhost なんですか...
-Japan(Aizu)は同時接続ユーザ数の制限がきついようですので...
-お返事ありがとうございます。Japan(Tsukuba)はまだ試してい...
-こちらのネットワークのホストネームにかえてあります。 -- ...
-会社でProxy越しにRを使っていますが、--internet2 を付けて...
-"--internet2"オプションはproxyの設定としてWindows自体の...
-Xpの方は、Tsukubaを選択すると大丈夫でした。Macの方は、だ...
**subset= で複数の条件を指定したい [#gbfd54be]
>[[伊藤]] (2005-12-11 (日) 11:46:51)~
~
ある条件に従うデータだけにおいて線形回帰をしたいと考えて...
x1<-gl(2,10)
x2<-rep(gl(2,5),2)
x3<-runif(20)
y<-rnorm(20)
lm(y~x3)
このとき、{x1=1,x2=1}の場合だけを回帰したいときはどうすれ...
以下のようなことを試しましたが、うまくいきません。
lm(y~x3,subset=list(x1==1,x2==1)) #エラー
lm(y~x3,subset=x1==1 && x2==1) # 全部のデータ?
lm(y~x3,subset=c(x1==1,x2==1)) # 最初の指定だけ有効?
お手数ですが、どうかよろしくおねがいします。~
//
-& と && の違いに注意しましょう。それと,間違いがないこと...
> data <- cbind(x1,x2,x3,y)
> data
x1 x2 x3 y
[1,] 1 1 0.56633985 -0.86012923
[2,] 1 1 0.33230350 0.92239242
[3,] 1 1 0.99880629 0.39366260
[4,] 1 1 0.17977729 -0.36911252
[5,] 1 1 0.14474499 -0.74874814
[6,] 1 2 0.13511632 -0.74440885
[7,] 1 2 0.63733995 -0.28768662
[8,] 1 2 0.20289775 0.61580370
途中省略
[18,] 2 2 0.32580467 1.07307234
[19,] 2 2 0.01826360 1.16538160
[20,] 2 2 0.50006782 1.18701904
> data2 <- subset(data, x1==1 & x2==1)
> data2
x1 x2 x3 y
[1,] 1 1 0.5663398 -0.8601292
[2,] 1 1 0.3323035 0.9223924
[3,] 1 1 0.9988063 0.3936626
[4,] 1 1 0.1797773 -0.3691125
[5,] 1 1 0.1447450 -0.7487481
というところかなぁ。と。-- &new{2005-12-11 (日) 15:00:17};
-ありがとうございました。&と&&を完全に混同していました。...
しかし、MAC版で同じこと(subset(data, x1==1 & x2==1))...
-MAC は使いませんが、行列属性が取り除かれている (drop=TR...
-最新バージョンにしましょうね。 -- &new{2005-12-12 (月) ...
-ありがとうございます。後で試してみます。MACのほうのバー...
-最新バージョンにしたら解決されました。ありがとうございま...
**一度に表示しきれないオブジェクトについて [#h90583ed]
>[[Omar]] (2005-12-11 (日) 02:51:25)~
~
中身が多くて、スクロールバーを使っても最初の方の部分が表...
すべて見るためにはどうすればよいのでしょうか?~
今見ようとしているのは線形モデルオブジェクトです。~
Win XP, R 2.2.0を使っています。~
//
-help("page") とかしてみる。 -- [[(ただし)Linux ユーザ...
**R CMD BATCHの使い方 [#i9bf47ee]
>[[g]] (2005-12-09 (金) 12:12:50)~
~
例えば,a.Rというファイルを作り,中にlibrary(Rcmdr)と記述...
R CMD BATCH a.R
と打つと,Rcommanderが起動するのですが,すぐにRも終了する...
実際は,R CMD BATCH a.Rをb.batというファイルに記述し,バ...
ご意見いただけると幸いです.~
//
-R Commanderを直接起動するバッチファイルを作成したい、と...
-実際は,Javaでパネルを表示させたいので,a.Rの中は,"自作...
-マイドキュメントの直下に.Rprofileをつくって、その中身を
library(grDevices)
library(Rcmdr)
にすると、動作としては合っているものになるようです。-- [[...
-ありがとうございます.できました. -- [[g]] &new{2005-12...
**フォントの設定を保存するには? [#zb26a1bc]
>[[mura]] (2005-12-07 (水) 11:15:10)~
~
OS: Mac OS X 10.4.3~
R: Version 2.2.0 (2005-10-06 r35749)~
~
「環境設定」で文字の色を変更すると、次回以降も有効なまま...
ところで、メニューバー→フォーマット→フォント→フォントパネ...
フォントの設定を保存するにはどうしたらいいのでしょうか~
//
-何回か設定したり再起動したりしているうちに、設定が保存さ...
-解決済みですが、Mac版Rの環境設定ファイルは ~/Library/Pre...
**パッケージの更新 [#sa2cb913]
>[[にゃあ]] (2005-12-07 (水) 00:38:30)~
~
パッケージの更新しようとしたら次のエラーメッセージが出て...
~
警告:package 'lattice' is in use and will not be install...
~
“lattice”ってパッケージは更新できないのでしょうか?~
なお、Rは闇2.2.0で、Windows XPで使用しております。~
//
-latticeのモジュールを既にロード済みなのでインストールは...
-そうですね。MASS,graphics,grDevices,R2WinBUGS,BRugs,tclt...
-options(vanilla) : object "vanilla" not foundって出てく...
-
> help(vanilla)
No documentation for 'vanilla' in
specified packages and libraries:
you could try 'help.search("vanilla")'
> help.search("vanilla")
No help files found with alias or
concept or title matching 'vanilla'
って出てくるんですが・・・・・・???-- [[にゃあ]] &new{2005-12-0...
-vanillaはパッケージの名前ではなくて起動時のoption指定の...
-WinXPでは,Rを起動するアイコンのプロパティを開いて,リン...
-無事解決いたしました。どうもありがとうございました。 -- ...
**MySQLとRが連携できない… [#u74cdeeb]
>[[サイトウ]] (2005-12-05 (月) 18:02:07)~
~
WinXPで闇R-2.2.0を使用しています。このバージョンだとRMySQ...
そこで、このサイトに載っている手順通りにDBIとRODBC双方の...
> m <- dbDriver("MySQL")
以下にエラーdo.call(as.character(drvName),
list(...)) :
関数 "MySQL" を見つけることが
できませんでした
どうしたらよいでしょうか?~
どなたかご教授お願いします。~
//
-DBIとRODBCは別物のパッケージなのでは?RODBCからの接続だ...
-誠に申し訳ないのですが、データソースを作らないといけない...
-これはRとは関係ないのですが、MySQLやPostgreSQL,MSSQLserv...
-[コントロールパネル][管理ツール][データソース(ODBC)]を...
-ご丁寧にありがとうございます。早速、ODBCにデータソースを...
-データソースは正常に登録できましたか?正常接続できたので...
odbcConnect("データソース名","ユーザー名",
"パスワード","ケース")
という指定になると思います。細かい指定内容はRjpWikiには無...
-ケースはMySQLでは"mysql"を入れるようです。(RODBCパッケ...
-何度もすみません。okinawaさんの教えてくださっているとこ...
-mysqlのクライアントで動作するか(低水準のネットワークやラ...
-まずはMySQLのテーブルをODBCでExcelから開くところあたりか...
**jaccard係数によるクラスター分析 [#p849e80b]
>[[ミズノ]] (2005-12-03 (土) 11:48:13)~
~
jaccard係数を導いたのですが、その値を使ってクラスター分析...
つまり、こちらで距離を指定して樹形図を描けるのでしょうか?~
どなたかご指導お願いします。~
//
-hclust の第1引数が,"d : a dissimilarity structure as pr...
> x <- matrix(c(0,1,2,1,0,3,2,3,0),3)
> x
[,1] [,2] [,3]
[1,] 0 1 2
[2,] 1 0 3
[3,] 2 3 0
> y <- as.dist(x)
> y
1 2
2 1
3 2 3
> ans <- hclust(y)
> plot(ans, hang=-1)
こんな感じですね。 -- &new{2005-12-03 (土) 12:41:58};
-ご丁寧にありがとうございました。distクラスにすることで、...
**複数の生存曲線をプロットするには [#t0a3187e]
>[[かわぐち]] (2005-12-02 (金) 10:53:31)~
~
御世話になります。~
生存曲線をプロットするには、[[Rによる統計処理:http://aoki...
そこでsurvfitを用いplot(res,xlim=c(0,20))とすると軸はあい...
95%信頼区間の点線をのぞく方法はどうしたらよいでしょうか~
また、2群ではなく3群、4群となった場合にスマートにプロッ...
ありますか。~
~
データは”Rによる統計処理”から引用させていただきました。~
# 富永祐民「治療効果判定のための実用統計学 − 生命表法の解...
# 解析結果は 83-85 ページ~
# 1 は A 群,2 は B 群を表す~
> group <- c(1, 1, 2, 2, 1, 1, 2, 2, 1, 2, 2, 1, 1, 1, 2,...
> event <- c(1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0,...
> time <- c(2, 20, 5, 1, 3, 17, 2, 3, 15, 14, 12, 13, 11,...
//
-survfit で,conf.type="none" を指定しておく。 -- &new{2...
-conf.type="none" ありがとうございます。自己レスですがhel...
res <- survfit(Surv(time,event)~group,conf.type="none")
plot(res)
ところで、グループ毎の直線を区別するためにイベント発生、...
-plot関数の指定をすればよいのでは?
plot(res, lty=c(1,2))
plot(res, col=c(1,2))
plot(res, lwd=c(1,2))
などでどうでしょうか?でも、pchはだめみたいですね。僕も教...
それと、スクリプト部分は枠で囲んだほうが見やすいと思いま...
-plot(fit,col=c("red","blue"),mark=c(1,2)) -- &new{2005-...
-ありがとうございます -- [[Akira]] &new{2005-12-02 (金) 1...
-皆様ありがとうございました。 -- [[かわぐち]] &new{2005-1...
-先頭1桁に半角空白を付ければその行は薄い水色の枠内に入り...
**自動でファイル名を作成してファイルを読み込む場合に [#d8...
>[[蓮井]] (2005-11-30 (水) 17:50:27)~
~
ファイル名が、1から40までの数字2つの組合せでできているフ...
これを順番に開いて計算結果をファイル出力する作業をしたい...
ただ、このファイル群には、すべての組合せ分1600ファイルは...
~
そこで、
> for (i in 0:40) {
> if (i < 10) I <- paste("0",i,sep="")
else I <- as.character(i)
> for (j in 1:40) {
> if (j < 10) J <- paste("0",j,sep="")
else J <- as.character(j)
> fname0 <- paste(I,J,sep="")
> fname1 <- paste(fname0, ".txt", sep="")
として、ファイル名を自動的に作ってファイルを読み込もうと...
~
ファイル名がない場合に、その回をスキップするようにするに...
あるいは、別の方法を検討した方がよろしいでしょうか?~
~
よろしくお願いいたします。~
//
-邪道ならtry(読み込み処理) 真面目にやるなら dir(".","[0-4...
-list.files(pattern="正規表現")とかtryとか -- [[なかま]] ...
-まじめかどうかわかりませんが,ちょっと変わったものを。
filenames <- outer(1:40, 1:40,
function(i, j) sprintf("%02i%02i.txt", i, j))
for (str in filenames) {
if (file.access(str) == 0) {
ファイルが存在するので,
処理を行う
}
}
場合分けで paste というのは,避けたい。 -- &new{2005-11-...
-無駄が無いという点では次の折衷案が良い? 直前の例で fo...
-みなさま、ありがとうございます。まだ解決できないでおりま...
「ちょっと変わった」方法を試していたのですが、この場合そ...
ファイル名(の数字の部分)を変数として利用したいのです。~
あと、場合わけでpasteを避けた方が良い理由について、教えて...
-「ファイルが存在するので,処理を行う」の部分で,str がフ...
文字列にした後でまた数値を取り出すのは,as.integer(substr...
**闇R-2.2.0でSweaveを使用したときのfont指定 [#p59d5bab]
>[[Akira]] (2005-11-30 (水) 13:53:30)~
~
WinXPsp1で闇R-2.2.0を使用しています。Sweaveで画像を貼り付...
//
-cidfamily引数はfamilyに統合されますので,Sweave中には書か...
setHook(packageEvent("grDevices", "onLoad"),
function(...)
grDevices::ps.options(cidfamily=""))
のように設定してください -- [[なかま]] &new{2005-11-30 (...
-なかまさま、ご返事ありがとうございました。早速、対応させ...
**R Commanderで非線形回帰したい [#g5f15ada]
>[[ikeike]] (2005-11-29 (火) 22:56:18)~
~
R初心者@勉強中です。~
R 2.2.0にパッケージRcmdr Version 1.1-2を入れていろいろと...
統計量→モデルへの適合、に「非線形回帰」を組み込む(?)~
ことは可能でしょうか?~
~
Rでnlsを使えばよいのでしょうが、R Commanderの手軽さが気に...
~
Fox教授のHPには、~
Fit models~
Linear regression~
Linear model~
Generalized linear model~
Multinomial logit model~
Proportional-odds logit model~
(http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/)~
とあり、今のところ対応の予定はなさそうですが。~
~
よろしくお願い致します。~
//
-可能ですし、そんなに難しくはありません。適当に作ってみま...
-takahashiさま、ありがとうございます。恐ろしく使いにくい...
-言葉足らずですみません。恐ろしく使いにくいのは私のGUIの...
-Rcmdr上のデータセットとかを使いたいという話なら以下のよ...
Rcmdr.nls <- function(formula,data=NULL,start,
control=NULL, algorithm=NULL,
trace=NULL, subset=NULL,
weights=NULL, na.action=NULL,
model=NULL,
lower=NULL, upper=NULL ){
UpdateModelNumber()
modelValue <- paste("NonLinearRegressionModel.",
getRcmdr("modelNumber"), sep="")
if(is.null(data)) data <- ActiveDataSet()
else data <- paste(substitute(data))
args <- paste(c(paste("start=",
paste(c(substitute(start)))),
paste("control=",
paste(c(substitute(control)))),
paste("algorithm=",
paste(c(substitute(algorithm)))),
paste("trace=",
paste(c(substitute(trace)))),
paste("subset=",
paste(c(substitute(subset)))),
paste("weights=",
paste(c(substitute(weights)))),
paste("na.action=",
paste(c(substitute(na.action)))),
paste("model=",
paste(c(substitute(model)))),
paste("lower=",
paste(c(substitute(lower)))),
paste("upper=",
paste(c(substitute(model)))))
[!sapply(list(start,control,
algorithm,trace,subset,weights,
na.action,model,lower,upper),
is.null)],collapse=",")
command <- paste("nls(", c(formula),
", data=", data, ",", args, ")", sep="")
logger(paste(modelValue, " <- ",
command, sep=""))
assign(modelValue, justDoIt(command),
envir=.GlobalEnv)
doItAndPrint(paste("summary(",
modelValue, ")", sep=""))
activeModel(modelValue)
}
listNonLinearModels <-
function(envir=.GlobalEnv, ...) {
objects <- ls(envir=envir, ...)
if (length(objects) == 0) NULL
else objects[sapply(objects,
function(.x) "nls" ==
(class(eval(parse(text=.x),
envir=envir))[1]))]
}
Rcmdr.nls(density~a*conc,start=list(a=1))
#test code (active data set in
#Rcmdr should be `DNase')
-- [[takahashi]] &new{2005-12-01 (木) 11:19:33};
-takahashiさま。ありがとうございます。まだ??な感じです...
**分散分析 [#macc96ca]
>[[oa]] (2005-11-29 (火) 22:20:26)~
~
~
仮に以下のようにデータを読み込ませ、condition,sentence,pr...
condition sentence prime response
1 1 2 1471
1 2 1 812
2 1 2 830
2 2 1 1498
3 1 2 792
3 2 1 1068
4 1 2 753
4 2 1 612
~
//
-help(aov) -- &new{2005-11-29 (火) 23:04:04};
-「単語検索」→「分散分析」 -- &new{2005-11-30 (水) 08:39...
-ありがとうございました。自分普段はSASを使っていまして、R...
**ベクトルから0を取り出すこと [#e261134e]
>[[きたむら]] (2005-11-29 (火) 22:02:46)~
~
ベクトルからある数値を取り出すには~
例えば1を取り出すとき、~
> test<-c(1,2,3,4,5,0)~
> test[-1]~
[1] 2 3 4 5 0~
となりますが、~
~
0を取り出そうとすると、~
> test[-0]~
numeric(0)~
~
となってしまいます。~
[-0]は取り出す以外の意味があるのでようか?~
~
また、特定の値が複数ある場合、何個あるかを指定しないで~
それら全てを取り除くことは可能でしょうか?~
例えば[1,2,0,0,0,3]→[1,2,3]~
~
どなたか、ご指導よろしくおねがいします。~
//
-test[-1] はベクトルの1番目を取り除くという意味。ベクトル...
-ありがとうございます。全くの勘違いをしておりました。 -- ...
**対数グラフに回帰直線と補助線を入れる方法は [#k516d5e5]
>[[かわぐち]] (2005-11-27 (日) 21:01:09)~
~
下のようなデータがあり、対数グラフを作成しました。
x <- c(3,8,11,15,16)
y <- c(5,6,9.6,25.6,29.6)
plot(x,y,log="y")
初めのデータy=5を基準値として横線を引き、2番目以降のデー...
この2直線をグラフに追加するにはどうしたらよいでしょうか。
abline(5,0)
abline(lm(log(y)~x))
ではうまく線が入りません。~
よろしくおねがいします。~
//
-縦軸を実際の目盛りで描いたとき,回帰は指数曲線になること...
x <- c(3,8,11,15,16)
y <- c(5,6,9.6,25.6,29.6)
plot(x,y,log="y")
x2 <- x[-1]
y2 <- y[-1]
ans <- lm(log(y2)~x2)
x3 <- c(6, 18)
y3 <- exp(ans$coefficients[1]+ans$coefficients[2]*x3)
lines(x3, y3, col="red")
abline(h=5, col="blue")
#ref(exp.png)
ってとこでどうでしょ。 -- &new{2005-11-27 (日) 23:31:41};
-望みどおりです。初めのデータの抜き方もスマートで完璧です...
-言葉の問題ですが、このグラフを表現するのに、データの増加...
-私も,そこのところで悩んだんですよ。縦軸は単に測定値なん...
-では、yの値を指数回帰したところ、増加の開始時期はx=7.38...
-本当にデータ数は5つだけですか。それとデータは,水平な部...
-前に引き続いて,
ans2 <- nls(y2~a*b^x2,start=list(a=1.1,b=1.2))
p <- ans2$m$getPars()
y4 <- p[1]*p[2]^x3
lines(x3, y4)
として,比較してみればよろしいかと。 -- &new{2005-11-28 ...
-御指摘ありがとうございます。もう少し具体的に申しますと治...
**学習セットと検証セットの範囲を切り分ける方法 [#gaf3a4b7]
>[[大軽貴典]] (2005-11-25 (金) 10:20:00)~
~
はじめまして。~
Rでニューラルネットワークなどを使ってみようと思っています...
いま、手元にデータセットがあります。このデータセットは事...
これを用い、90%を学習セットに用い、残りの10%検証用に使お...
一度だけなら分けて入力すればよいのですが、グループカラム...
~
いきなりすべての工程をコード化できなくてもよいので、うま...
~
データセットは次のような構成になっています。~
目的変数 グループ 説明変数1 説明変数2 3 4 5 ....
A 1 1 -3.4~
B 3 0 3~
C 9 0 5.2~
B 10 1 7~
~
どなたかアドバイスお願いできないでしょうか?~
よろしくお願いいたします。~
//
-10%が検証セットですよね。以下のようにするのではダメでし...
for (i in 1:10) {
学習セット <- データフレーム[データフレーム["グルー...
検証セット <- データフレーム[データフレーム["グルー...
何らかの分析
}
どうでしょう。~
subset 関数を使うべし。以下のようにする方がモアベター。
for (i in 1:10) {
学習セット <- subset(データフレーム, データフレーム[...
検証セット <- subset(データフレーム, データフレーム[...
何らかの分析
}
ですね。 -- &new{2005-11-25 (金) 10:22:04};
//
-早速のアドバイスありがとうございます。教えていただいた方...
model<-svm(subset(training,select=-Object),training$Obje...
のような命令でNAがあるみたいなエラーが出ています。なお、t...
-実際に NA があるのではないですか。というか,subset(train...
-[[データフレームTips大全]]でわかりやすく教えていただきあ...
-補足すれば,どのようなことがあったために障害が生じていた...
**PDFとTeX [#s784e2fe]
>[[aa]] (2005-11-23 (水) 17:04:35)~
~
はじめまして。~
Rで作成したグラフィックスをPDFで書き出し,TeXでPDFを読み...
対応策をご存知の方,ご示唆を頂けると幸いです。~
~
【作成例 R】
setwd("C:/question20051123") #ディレクトリ
plot(1:10, main="日本語の入ったPDF") #画像を作成
#画像 をPDFで保存
dev.copy(pdf, "fig1.pdf", cidfamily="Japan1Ryumin",
width=12, height=5)
dev.off()
graphics.off()
【作成例 TeX】~
?documentclass[12pt,a4paper]{jarticle}
?usepackage[dvips]{graphicx}
?begin{document}
%図の挿入
?begin{figure}[htbp]
?begin{center}
?includegraphics[keepaspectratio=true,
height=100mm]{fig1.pdf}
?end{center}
?end{figure}
?end{document}
コンパイル時のError Messageは,
! LaTeX Error: Cannot determine size of graphic
in (ファイル名) (no BoundingBox)
当方の環境は以下の通りです。
OS: Windows XP
R: 闇R2.20
TeX: LaTeX2e
Ghostscript: Ghostscript 8.52
//
-pdf ではなく,eps ファイルでは駄目なのでしょうか?? -- ...
-大量の画像データを扱う場合,PDFでコンパイルした方が早い...
-コマンドプロンプトから、
ebb graph_name.pdf
というコマンドだったはず。-- [[蓮見]] &new{2005-11-24 (木...
-蓮見さんのご指摘のように,bb ファイルがないのが原因でし...
bmc -b graph_name.pdf
だったような。ほかには mediabb.sty を利用するという方法も...
-何がなくとも grep MediaBox hoge.pdf 等とすれば.BBoxの値...
-[[mediabb.sty:http://www.ns.musashi-tech.ac.jp/~inoue/Pa...
-解決済みのようですが、ご質問には[[Sweave:http://www.okad...
**イベントの少ない場合の生存分析 [#d5cb0463]
>[[かわぐち]] (2005-11-22 (火) 16:09:00)~
~
はじめまして。最近Rを知って感激して統計とともに勉強中です...
さて、生存分析にて型どおりKaplan-Meier,log-rank,Cox回帰分...
よろしくおねがいします。~
//
-Rに限らないことですが、例数が少ない場合で無理にCoxを実施...
-ありがとうございました。イベントが少ないのは臨床データな...
**300行400列の行列をの各セル比較したい [#p39d8aa7]
>[[ねこのて]] (2005-11-16 (水) 23:37:42)~
~
300行400列のテキスト形式の行列が2つあります。~
(細密数値情報と言うデータで、仕様は~
http://www.gsi.go.jp/MAP/CD-ROM/saimitu/htmls/format.ht...
~
この2つのファイルの同じセルについて、数値(土地利用の分...
(1から2がmケース、1から3がnケース、、、、、)~
~
Rでのデータハンドリングの経験がなく、探せる範囲ではヘル...
~
効率的な方法をお願いいたします。~
//
-非定型的な問題を解決するには,自分で関数を書かねばならな...
効率的であるかどうかは二の次のような気がします。~
正確な答えを得るために,いかに素早くコーディングできるか...
コンピュータがいかに短時間に答えを出せるかは,通常は問題...
というのは,よっぽどまずいプログラムでなければ,それなり...
というわけで,以下は回答例その1ということで。
> set.seed(1234)
> x <- matrix(sample(1:5, 12, replace=TRUE), 4, 3)
> y <- matrix(sample(1:5, 12, replace=TRUE), 4, 3)
> # プログラムコンテストは,ここから開始
# 以下で 1000 は,適当な数。必要なら10000でも100000 でも
> ans <- table(as.vector(x)*1000+as.vector(y))
> z <-as.integer(names(ans))
> ans <- cbind(floor(z/1000), z%%1000, ans)
> colnames(ans) <- c("before", "after", "frequency")
> ans
before after frequency
1001 1 1 1
1002 1 2 1
2002 2 2 1
3001 3 1 1
3002 3 2 1
4001 4 1 1
4002 4 2 3
4005 4 5 2
5002 5 2 1
代替案がいくつか出た段階で,どれが一番計算時間が短いかと...
代替プログラムを書こうと思う方は,このプログラムの4行目以...
-ありがとうございます~
書いてあることは理解できたので、やってみようとしたのです...
以下にエラーvector("integer", length) : 指定されたベクト...
-おかしいですね。入力間違いではないですか? -- [[青木繁伸...
-各行は最初の7カラムがID、あとは2カラム×400なので
> x <-read.fortran("S4_2617.TDU", c("i7", "400i2"))
> dfx <-data.frame(x)
> names(dfx) <-c("ID", paste("var", 1:400, sep=""))
> dfx$ID <-NULL
として読込み~
教えていただいた
> ans <- table(as.vector(x)*1000+as.vector(y))
を実施したところ、
> 以下にエラーvector("integer", length) :
指定されたベクトルのサイズが長すぎます、
となって実施できませんでした。
どこが間違っているのでしょうか? お手数おかけしますがご...
。
-あなたのプログラムでは,x,y(dfx,dfyも)がデータフレー...
-どうもありがとうございました。試してみましたら無事カウン...
-ハンドル名でも「ねこのて」はまずいのではと。 -- &new{20...
-何でまずいのか,私にはわかりませんねぇ(^_^) -- [[青木繁...
**共分散関数acf [#c16a57e7]
>[[Aki]] (2005-11-16 (水) 00:46:20)~
~
自己共分散関数を求めるacfで1次元の配列ではなくn×mの2次元...
グラフにはm×mのグラフが表示されます。~
これの非対角要素はccfで求められる相互共分散と同じなのでし...
//
-ヘルプを読みましょう。~
Description~
~
The function acf computes (and by default plots) estimate...
-ヘルプを読んだつもりになっていました。~
acfは自己共分散関数と自己相関関数を計算するの理解できるの...
しかしV1&V2といったグラフが出てくるのでこれは相互共分散関...
計算結果を見る感じではacfの非対角の要素がccfで計算したも...
-ソースが見られるときには,ソースを見るのがよいですね。~
> ccf
function (x, y, lag.max = NULL,
type = c("correlation", "covariance"),
plot = TRUE, na.action = na.fail, ...)
{
type <- match.arg(type)
if (is.matrix(x) || is.matrix(y))
stop("univariate time series only")
X <- na.action(ts.union(as.ts(x), as.ts(y)))
colnames(X) <- c(deparse(substitute(x)),
deparse(substitute(y)))
acf.out <- acf(X, lag.max = lag.max,
plot = FALSE, type = type)
ということで,引数をまとめて,acf を呼んでいるので acf と...
-なるほど、だいたい理解できました。~
いくつかの相互共分散をまとめて出したいときはccfでひとつず...
ありがとうございました。 -- [[AKi]] &new{2005-11-16 (水) ...
**ヒストグラムのy軸に中断線を入れたいです [#yc94b6be]
>[[Akira]] (2005-11-14 (月) 10:05:32)~
~
ヒストグラムの作図においてy軸に中断線を入れることはできま...
例えば、y軸が1〜100の範囲で1〜20と80〜100で作図したいと思...
よろしくお願いします。~
//
-パッケージplotrixに、axis.breakという関数があります。こ...
-example を実行させると,どうも期待する物ではないようです...
-ご連絡ありがとうございます。よい作図でないのであれば仕方...
-できないこともないようです。Google で "r-help axis break...
-プログラムを書けば,どんなことでもできますね。できると言...
**両対数のヒストグラム [#p0946bb0]
>[[muramatsu]] (2005-11-11 (金) 15:48:14)~
~
あるデータのヒストグラムを描きたいのですが、ばらつきが大...
"ヒストグラムと密度の推定"という記事をみましたが、両対数...
~
plot関数と同様に、
hist(data, log="xy")
ともやってみましたが、
hist.default(data, log = "xy") :
'x' は数値でなければなりません
というエラーが出てしまいました。しかし、ちゃんと数値デー...
plot(table(data))
ではきちんとヒストグラムが描けています。~
~
また、ヒストグラム作成時に区切り幅も対数で決める必要があ...
plot(table(data), log="xy")
のようにやってみました。すると、
1: 軸の限界が有限ではありません
[GScale(-1.#INF,2.18469,2, .); log=1]
2: Internal(pretty()) の範囲が大きすぎます..
修正しました
という警告がでて、plotに失敗しました。~
~
どうしたらよいでしょうか?よろしくお願いします。~
//
-「両対数のヒストグラム」って,どんな奴なんですか。~
「両対数」というのは,二変数ともに対数を取るということで...
data というのはベクトルデータですよね。plot(table(data)) ...
x <- round(rlnorm(1000),0)
plot(table(x))
みたいな感じかな。~
で,これを横軸だけを対数軸で(つまり片対数で)ヒストグラ...
x <- rlnorm(1000)
hist(log(x)) # hist(x) と比較せよ
みたいなのでよいのでは?横軸の目盛りも,対数目盛りになり...
しかし,対数目盛りも付け方に二通りのやり方があって,対数...
示した方法では,前者になっている。後者のやり方は,[[どこ...
z <- x <- rlnorm(1000)
hist(log(x), xlab="")
z <- floor(log10(z))
z2 <- 1:10*10^(log.min <- min(z)-2)
if ((n <- max(z)-log.min) > 0) {
for (i in 1:n) {
z2 <- c(z2, z2*10^i)
}
}
log.z2 <- log10(z2)
axis(1, at=log.z2, labels=z2, pos=-30)
みたいな感じかな。描かれる横軸二種。上が変換後の値の数値...
#ref(pdf.png)
-返信をしたいのですが、コメントの挿入のテキストボックスは...
-このページの一番下に紙と鉛筆のアイコンがありますので、そ...
-回答ありがとうございます。~
~
>「両対数のヒストグラム」って,どんな奴なんですか。~
~
縦軸、つまり度数も対数軸で書きたいと思っています。~
度数にすごくばらつきがあるのです。~
dataは
[1] 83.553719 80.760000 100.750000 ....
のようなベクトルデータです。~
以下の方法で、確率分布を描くことはできたのですが、
dist <- density(data)
plot(dist, log="xy")
下のようにヒストグラムを描こうとすると、
dist <- table(data)
plot(dist, log="xy")
やはり次のエラーが出ます。
1: 軸の限界が有限ではありません
[GScale(-1.#INF,2.18469,2, .); log=1]
2: Internal(pretty()) の範囲が大きすぎます..
修正しました
次のようにしても、
hist(data, log="xy")
このようなエラーが出ます。
高水準 plot 関数で,パラメータ "log" を設定できません
両対数ヒストグラムを描くにはどうしたらいいのでしょうか? ...
-hist2 <- hist.default とし,hist2 の最後の方にある r <- ...
r <- structure(list(breaks = breaks,
counts = log10(counts), intensities = dens,
density = dens, mids = mids, xname = xname,
equidist = equidist), class = "histogram")
に書き換える(counts=counts を counts = log10(counts) にす...
次に上に示されてことを縦軸にも施す。さっき作った hist2 を...
old <- par(mar=c(5,5,1,1), xpd=TRUE)
z <- x <- rlnorm(1000)
# hist ではなく hist2 を!
frq <- hist2(log(x), xlab="", ylab="")
# 横軸を描く
z <- floor(log10(z))
z2 <- 1:10*10^(log.min <- min(z)-2)
if ((n <- max(z)-log.min) > 0) {
for (i in 1:n) {
z2 <- c(z2, z2*10^i)
}
}
log.z2 <- log10(z2)
axis(1, at=log.z2, labels=z2, pos=-0.27)
# 縦軸を描く
z <- floor(frq$counts)
z2 <- 1:10*10^(log.min <- min(z)-2)
if ((n <- max(z)-log.min) > 0) {
for (i in 1:n) {
z2 <- c(z2, z2*10^i)
}
}
log.z2 <- log10(z2)
axis(2, at=log.z2, labels=z2, pos=-4.4)
par(old)
2つの軸を描く部分が冗長なので,一つの関数にまとめるとよい...
#ref(pdf2.png)
**補正AICについて [#ib89ba00]
>[[山形]] (2005-11-10 (木) 23:16:59)~
~
モデル選択をする場合、AICを基準にモデル選択をするのは知っ...
扱っているサンプルが少ないため、AICではモデルを過大評価し...
あると聞きました。~
その場合、補正したAIC(c-AIC)を使うといいということも聞き...
補正AICをRで行なうことは出来ますか?探してみたのですが、...
//
-[[stepAIC():http://finzi.psych.upenn.edu/R/library/MASS/...
**時系列データの生成について [#r9d27022]
>[[yuta]] (2005-11-09 (水) 15:41:12)~
~
表題の件で質問です。~
~
以下に例示するような、サンプリングのインターバルが不定で...
なお、行列testmatの1列目は日付のシリアル値(windowsで使...
test<-c({38482,NA,NA,NA,NA,NA,
38531,NA,0.992,NA,NA,NA,
38552,NA,0.988,0.994,0.990,NA,
38562,NA,0.993,0.995,0.992,NA,
38576,NA,0.989,0.990,0.994,NA,
38595,NA,0.994,0.996,0.990,NA,
38608,NA,0.931,0.992,0.990,NA,
38621,0.985,0.956,0.991,0.991,NA,
38637,0.984,0.670,0.980,0.976,NA,
38649,0.989,0.879,0.972,0.983,NA })
testmat <- matrix(test,c(10,6),byrow=T)
ts(testmat)
使用バージョンはR2.2.0(闇国際化)、OSはWindows2000です。
また、時系列オブジェクトの生成には基本パッケージのts()を...
宜しくお願いします。~
//
-何で,c({データ...}) なんだろう。私の環境ではエラーにな...
-tseriesのirtsではダメですか? -- &new{2005-11-09 (水) 1...
-ありがとうございます。当方の力不足で探し出せていませんで...
ページ名: