Q&A (初級者コース)/14
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
COLOR(green){SIZE(20){初心者のための R および RjpWiki に...
COLOR(blue){● [[スレッド>#saisin]]}
COLOR(blue){● [[Q&A (初級者コース) 過去の目次]]}
----
&aname(mokuji);
COLOR(green){●● 目次 ●●}
#contents
----
&aname(saisin);
**svmでplotした結果からsupport vectorを取り除き等高線のみ...
>[[ひろ]] (2013-02-17 (日) 23:00:54)~
~
kernlabパッケージのksvmを使用した下記コードを実行してplot...
~
library(kernlab)
# number of data points
n <- 150
# dimension
p <- 2
sigma <- 2 # variance of the distribution
meanpos <- 0 # centre of the distribution of positive ex...
meanneg <- 3 # centre of the distribution of negative ex...
npos <- round(n/2) # number of positive examples
nneg <- n-npos # number of negative examples
# Generate the positive and negative examples
xpos <- matrix(rnorm(npos*p,mean=meanpos,sd=sigma),npos,p)
xneg <- matrix(rnorm(nneg*p,mean=meanneg,sd=sigma),npos,p)
x <- rbind(xpos,xneg)
# Generate the labels
y <- matrix(c(rep(1,npos),rep(-1,nneg)))
# Train a nonlinear SVM with Gaussian RBF kernel and def...
svp <- ksvm(x,y,type="C-svc",kernel='rbf')
plot(svp,data=x)
//
**scatter3dの軸の設定ができない [#k1e7cbc3]
>[[rkoma]] (2013-01-11 (金) 20:22:54)~
~
R初心者です。よろしくお願い致します。~
Rで作成する3次元散布図 (scatter3d)では、軸タイトルなどへ...
Rcmdr の「3次元散布図」で作ったグラフをひな型にして、ス...
scatter3d(x軸の値, y軸の値, z軸の値, surface=FALSE,
residuals=TRUE, bg="white",
axis.scales=TRUE, grid=TRUE, ellipsoid=FALSE,
xlab=" ", ylab=" ", zlab=" ")
となったところに log="x", log="z", xlim=c(0.1,100), zlim=...
2次元散布図では可能です。また、plot3d()では、最大値、最...
R初心者、プログラミング初心者なので、全く原因がわかりま...
また、scatter3d()やplot3d()に限らず、「最大値・最小値を...
OSはWindows2003、Rはver.2.15.2、Rcmdrはver.1.9-2を使用し...
ちなみに、類似の質問をYahoo知恵袋にも投稿しています。そち...
恐縮ですがご回答よろしくお願い申し上げます。~
//
- > 特にエラーメッセージは出ないのですが、できませんでし...
- 河童の屁は,河童にあらず,屁である。 様 大変わかりやす...
**大学でパッケージがインストール出来ない [#k8e8286a]
>[[taipapa]] (2013-01-11 (金) 18:21:30)~
~
某大学のパソコン(マック mountain lion)にR 2.15.2をイン...
URL 'http://essrc.hyogo-u.ac.jp/ 省略 /pls_2.3-0.tgz'
を試しています
Content type 'text/html' length 182 bytes
開かれた URL
==================================================
downloaded 182 bytes
エラー: ファイル ‘/var/folders/5j/省略/pls_2.3-0.tgz’
は OS X バイナリパッケージではありません
追加情報: 警告メッセージ:
'tar' がゼロでない終了コード 1 を返しました
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.
なにをしても182バイトしかダウンロードしてくれません.~
~
大学のネットワーク管理者に確認してもプロキシは使用してい...
//
- > Content type 'text/html' length 182 bytes&br;とい...
- tarで詰まっている(らしい)ということは、アーカイブファ...
- 皆様,アドバイス有難うございます.管理者に上記の事を相...
- 依存関係に悩みたくないので,他に方法がない限りR CMD ins...
- へぇ、Rパッケージインストーラというのは、install.packag...
- 困っている度合いによりますが、自宅でUSBメモリにいれて大...
- いや、だからダウンロードが問題なら、ファイルだけ保存し...
- 元質問者です.皆様,色々なアドバイス有難うございます....
- 本日,念の為に,大学の端末にてRを起動しパッケージのイン...
**コードがハイライトされた状態で印刷したい [#b6434e26]
>[[たく]] (2013-01-11 (金) 11:21:32)~
~
エディタでコードを色づけしてくれるものはいろいろあります...
//
- シェアウェアですがEmEditor Proなんてどうでしょうか? --...
- 表示されたままに印刷できないなんて考えられないですが。W...
- レドモンドOSのエディタだと、デフォルト設定のままでは、...
- highlightを使うとソースをSVG画像やrtfファイルに変換でき...
- ありがとうございます。EmEditorは10年以上前に使っていま...
**年次別に違うプロットマーカーを使用したい [#eaa26ab8]
>[[Montecarlo]] (2013-01-07 (月) 03:15:01)~
~
何度か試行錯誤を重ねてみましたが、うまくいかなかったため...
よろしくお願いいたします。~
~
セッションインフォメーションは以下の通りです。
> sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=Japanese_Japan.932 LC_CTYPE=Japanese_Jap...
[3] LC_MONETARY=Japanese_Japan.932 LC_NUMERIC=C ...
[5] LC_TIME=Japanese_Japan.932
attached base packages:
[1] stats graphics grDevices utils datasets me...
今したいことは題名にもあります通り、年次別に違うプロット...
現在は以下のプログラムを走らせています。
year <- c(rep(2008, 10), rep(2009,10), rep(2010, 10), re...
x <- rnorm(40)
y <- rnorm(40)
data <- data.frame(year, x, y)
plot(data$x, data$y, type = "n")
temp <- subset(data, data$year == 2008); points(temp$x, ...
temp <- subset(data, data$year == 2009); points(temp$x, ...
temp <- subset(data, data$year == 2010); points(temp$x, ...
temp <- subset(data, data$year == 2011); points(temp$x, ...
しかし、最後の4行を関数化しようと思い以下の通り変更して...
point.add <- function (year) {
temp <- subset(data, data$year == year)
if (year == 2008) { pch = 0 }
else if (year == 2009) { pch = 1 }
else if (year == 2010) { pch = 2 }
else if (year == 2011) { pch = 5 }
points(temp$x, temp$y, pch =pch)
}
point.add(2008)
point.add(2009)
point.add(2010)
point.add(2011)
うまくいかない原因がわからないので、どなたかご教授いただ...
よろしくお願いいたします。~
//
- うまくいかない原因は,意図したのとは異なるプログラムに...
関数の中で,たとえば year が 2008 の場合に
temp <- subset(data, data$year == 2008)
と書いた場合と
temp <- subset(data, data$year == year)
と書いた場合は結果が異なるということです(これはちょっと...
しかし,今回はもっと単純に以下のように書けばよいというこ...
year <- c(rep(2008, 10), rep(2009,10), rep(2010, 10), re...
x <- rnorm(40)
y <- rnorm(40)
data <- data.frame(year, x, y)
plot(data$x, data$y, pch = c(0, 1, 2, 5)[data$year-2007])
余計なことも不要だし,目的通りのことが実現できます。 -- [...
- 河童の屁は,河童にあらず,屁である。 様 ご回答ありがと...
**巨大なcsvファイルの一部を読み込みたい [#bea3018f]
>[[HIROi]] (2013-01-04 (金) 02:48:26)~
~
初めて質問させていただく初心者です。read.csvを使って、カ...
EQ <- read.csv("VeryLargeData.csv")
エラー: サイズ 45.4 Mb のベクトルを割り当てることがで...
追加情報: 14 件の警告がありました (警告を見るには warn...
> warnings()
警告メッセージ:
1: In scan(file, what, nmax, sep, dec, quote, skip, nlin...
Reached total allocation of 1535Mb: see help(memory.si...
# 中略・・・全く同じメッセージの繰り返し
9: In type.convert(data[[i]], as.is = as.is[i], dec = de...
Reached total allocation of 1535Mb: see help(memory.si...
# 後略・・・全く同じメッセージの繰り返し、14.まで。
使用したいカラムは「キーとなるコード1カラム+倍精度小数...
[[投稿における注意事項:http://www.okada.jp.org/RWiki/?%C5...
//
- このような処理は R には不適と思いますが,どうしてもとい...
con <- file("iris.csv")
open(con)
repeat {
a <- readLines(con, 1) # 1 行ずつ読んで,
b <- as.numeric(unlist(strsplit(a, ","))[1]) # 自分でパ...
if (length(b) == 0) break
print(b)
}
close(con)
- 早速コメントいただき、ありがとうございます。なるほど、...
- その程度の大きさならば64bit版を使うだけで解決するんでは...
- 確かに。Mac 64bit 版の R で,ちゃんと読めました。 -- [[...
- 別解として、csvファイルから必要なカラムを抜き出して新た...
例えば、cutコマンドが使える環境(MacOSXやLinuxなど)なら...
$ cut -f2,5,11 -d"," 元.csv > 新.csv
として、新.csvを作成してこれをRに読み込む。 PerlでText::C...
cutを使ったときの処理時間は、下記の程度。
$ wc -l test.csv
6000001 test.csv
$ time cut -f2,5,11 -d"," test.csv > test_new.csv
real 0m8.175s
user 0m7.460s
sys 0m0.688s
さらに、これをRの中で行うと、もう少し時間がかかる。
> system.time(system('cut -f2,5,11 -d"," test.csv > test...
ユーザ システム 経過
7.492 0.640 10.167
- > csvファイルから必要なカラムを抜き出して新たにcsvファ...
- 1行ずつでなく、一気に読み出しても(メモリサイズ上)問題...
- 例えば,gawk が使えるなら,R コンソールで以下のようにす...
system("gawk 'BEGIN{FS=\",\"; OFS=\",\"};{print $2, $5, ...
- 上のcutを提示した者ですが、一部のカラムだけを読み込む関...
// subcolumnsは階層構造のカラムを指すようなので、
// read.csv.subcolumnsからread.columns.csvに変更
read.columns.csv <- function(file, columns = NULL, ...){
if(cmd <- system2("which", args = "cut")) stop("'cut' ...
if(!missing(columns)){
out <- tempfile()
cols <- paste(columns, collapse = ",")
args <- paste("-f", cols, "-d','", file, ">", out)
system2("cut", args = args)
on.exit(file.remove(out))
}else{
out <- file
}
return(read.csv(out, ...))
}
使用例:~
2番目、5番目、11番目のカラムを指定するとき(本番ではhead(...
> head(read.columns.csv("test1.csv", columns = c(2, 5, 1...
/usr/bin/cut
x1 x4 x10
1 0.1703623 -0.5631763 -0.734945
2 -1.4075415 -0.5450647 -1.758273
カラムを無指定にするとread.csv()と同じ挙動(本番ではhead(...
> head(read.columns.csv("test1.csv"), 2)
/usr/bin/cut
id x1 x2 x3 x4 ...
1 1 0.1703623 0.2198511 -1.1616084 -0.5631763 -0.76524...
2 2 -1.4075415 0.5162073 -0.7501079 -0.5450647 -1.56372...
x8 x9 x10 x11 x1...
1 1.6138930 0.41030405 -0.734945 1.13511914 0.7781614...
2 0.3551278 -0.08129068 -1.758273 -0.05866285 -0.0931344...
x15 x16 x17 x18 x1...
1 1.1631931 -0.6981225 -0.4869349 0.2129322 0.0485617...
2 -0.9422174 0.7154750 0.7995136 -1.6102600 -2.9261044...
x22 x23
1 0.6818277 0.4078844
2 -1.1319291 -1.0523440
cutコマンドがない環境でも、SQLiteがある環境ならsqldfパッ...
- 自分の環境を充分に説明しないままのマナー違反な質問にも...
- colbycol というライブラリでは読込列の指定ができますが試...
**R言語での多クラス(マルチクラス)分類 boostingについて [#...
>[[tomo]] (2013-01-02 (水) 13:00:50)~
~
閲覧ありがとうございます。~
~
私はR言語で学習をしている初心者です。~
その中で、irisデータを用いてコマンドの学習をしているので...
以下にコマンドを載せますものが私の用いたものです。
library(rpart)
library(adabag)
data <- iris
ndata <- nrow(data)
#乱数指定
set.seed(101)
#学習データ(data.learn)とテストデータ(data.test)に分ける
ridx <- sample(ndata, ndata * 0.5)
data.learn <- data[ridx,]
data.test <- data[-ridx,]
#3-fold crossvalidation、弱識別器の数を10とし、
#学習データに対しboostingを行ったものをdata.adaCvに代入
data.adaCv <- boosting.cv(Species ~ .,data = data.learn,...
#テストデータに学習データを照らし合わせる。
resultPredict <- predict(data.adaCv, newdata = data.test...
というコマンドですが「predict」を行った際に
以下にエラー UseMethod("predict") :
'predict' をクラス "character" のオブジェクトに適用でき...
というエラーが出てしまい、ネットや参考文献を見てもわから...
このエラーの解決方法がお分かりのかたがいらっしゃいました...
お分かりの方いらっしゃいましたら例文等を添えてコメントい...
//
- boosting.cv のオンラインヘルプより&br;The data are divi...
> debug(predict)
> resultPredict <- predict(data.adaCv, newdata = data.te...
debugging in: predict(data.adaCv, newdata = data.test, t...
debug: UseMethod("predict")
Browse[2]>
debugging in: predict.list(data.adaCv, newdata = data.te...
debug: {
out <- lapply(object, predict, ... = ...)
if (!is.null(names(object)))
names(out) <- names(object)
out
}
Browse[3]>
debug: out <- lapply(object, predict, ... = ...)
Browse[3]>
debugging in: FUN(X[[1L]], ...)
debug: UseMethod("predict")
Browse[4]>
以下にエラー UseMethod("predict") :
'predict' をクラス "character" のオブジェクトに適用で...
- 河童の屁は,河童にあらず,屁であるさん回答いただきあり...
なるほど、新たなデータについて predict することは難しいの...
そこで私は回答を受け、boosting.cv以外の関数でirisデータに...
新たにかいたコマンドとコマンドの実行結果を下に示します。~
・コマンド
library(rpart)
library(adabag)
data <- iris
ndata <- nrow(data)
# 乱数指定~
set.seed(101)
# 学習データ(data.learn)とテストデータ(data.test)に分ける
ridx <- sample(ndata, ndata * 0.5)
data.learn <- data[ridx,]
data.test <- data[-ridx,]
# 弱識別器の数を10、3-fold crossvalidation?学習データに...
data.adaCv <- boosting(Species ~ .,data = data.learn, mf...
# テストデータに学習データを照らし合わせる。
resultPredict <- predict(data.adaCv, newdata = data.test...
resultPredict
・実行結果
$confusion Observed Class
Predicted Class setosa versicolor virginica
setosa 26 0 0
versicolor 0 17 3
virginica 0 1 28
$error
[1] 0.05333333
しかし私は先に述べたように交差検定の数をxvalの引数を変え...
1)xval は交差検定の数を示しているのか?~
2)xvalが交差検定の数を示していない場合、その他の関数や引...
という2点です。例文等を示していただけたら幸いです。よろし...
- [[投稿における注意事項:http://www.okada.jp.org/RWiki/?%...
- 河童の屁は,河童にあらず,屁である。さんご指摘ありがと...
**タイムゾーン無指定による時間差計算の誤差 [#v6611ad1]
>[[S]] (2012-12-28 (金) 11:29:56)~
~
質問を書き込んでいるうちに自己解決しましたので、質問とい...
> Sys.Date()
[1] "2012-12-28"
今日は12月28日です。1月27日まで何日あるのか計算しました。~
> difftime("2013-01-27", Sys.Date())
Time difference of 29.625 days
> difftime("2013-01-27", "2012-12-28")
Time difference of 30 days
Sys.Date()を使った方はきっちり30日になりません。~
> str(Sys.Date())
Date[1:1], format: "2012-12-28"
Sys.Date()の出力はDateクラスで"2012-12-28"を持っているだ...
> difftime("2013-01-27", as.Date("2012-12-28"))
Time difference of 29.625 days
2012-12-28をDateクラスにすると再現します。units = "days"...
> difftime("2013-01-27", as.Date("2012-12-28"), tz = "JS...
Time difference of 30 days
タイムゾーンを指定すると30日に戻りました。バックエンドで...
//
**スクリプトファイル(拡張子R)の関連付け [#kbf48407]
>[[yoro]] (2012-12-27 (木) 09:03:34)~
~
お世話になります。~
Windows7 (32或いは64bit)にて R 2.15.1 を使いっています。~
~
お聞きしたいのは、hogehoge.R というようなスクリプトファイ...
~
宜しくお願いします。~
//
**交互作用の自由度が統計ソフトによって異なるのはなぜでし...
>[[こさく]] (2012-12-26 (水) 18:42:17)~
~
いつもお世話になっていますが、初めて投稿します。統計も素...
~
2群(a、b群各30名)で、それぞれ直線回帰できるようなデータが...
~
下記は作ったデータですが、yをxとgrpでモデル化しようとして...
~
ただ結果を見るとgrp:xの自由度が2になっています。浅学です...
~
他の統計ソフト(JMP)で解析すると、モデル1におけるgrp:xの自...
~
都合のいい結果を採用してもよいのですが、もう少し掘り下げ...
~
何かコメント等ご指摘いただければ幸いです。~
~
よろしくお願いいたします。~
set.seed(1234)
# grp "a" のデータ
x1 <- runif(30)
y1 <- runif(30)+x1*0.3
# grp "b" のデータ
x2 <- runif(30)
y2 <- runif(30)-x2*0.3
x <- c(x1, x2)
y <- c(y1, y2)
# grp (2群のラベル)
grp <- factor(c(rep('a', 30), rep('b', 30)))
library(car) # type3 を指定するのは、問題とは関係ないですが
# ここからが問題
# モデルの固定因子を変えると、交互作用項の自由度が変わる
# モデル 1、grp:x の自由度 2
> Anova(lm(y ~ grp+grp:x), type=3)
Anova Table (Type III tests)
Response: y
Sum Sq Df F value Pr(>F)
(Intercept) 1.5509 1 20.7241 2.904e-05 ***
grp 0.1585 1 2.1178 0.15118
grp:x 0.3955 2 2.6423 0.08006 .
Residuals 4.1908 56
# モデル 2、grp:x の自由度 1
> Anova(lm(y ~ x+grp+grp:x), type=3)
Anova Table (Type III tests)
Response: y
Sum Sq Df F value Pr(>F)
(Intercept) 1.5509 1 20.7241 2.904e-05 ***
x 0.3939 1 5.2640 0.02554 *
grp 0.1585 1 2.1178 0.15118
x:grp 0.2338 1 3.1245 0.08257 .
Residuals 4.1908 56
# モデル 3、grp:x の自由度 1
> Anova(lm(y ~ x+grp:x), type=3)
Anova Table (Type III tests)
Response: y
Sum Sq Df F value Pr(>F)
(Intercept) 2.0111 1 26.357 3.573e-06 ***
x 1.2837 1 16.823 0.0001318 ***
x:grp 2.1557 1 28.251 1.843e-06 ***
Residuals 4.3493 57
# モデル 4、grp:x の自由度 2
> Anova(lm(y ~ grp:x), type=3)
Anova Table (Type III tests)
Response: y
Sum Sq Df F value Pr(>F)
(Intercept) 2.0111 1 26.357 3.573e-06 ***
grp:x 2.4071 2 15.773 3.533e-06 ***
Residuals 4.3493 57
//
- それぞれ,Anova(lm(y ~ ほげほげ), type=3) というのを s...
- コメントありがとうございます。summaryで出てくるパラメー...
**最尤法による共分散構造分析 [#e7a5ec53]
>[[りすりす]] (2012-12-26 (水) 12:17:20)~
~
お世話になっております。~
~
windowsでRを使用しています。~
Rで、最尤法による共分散構造分析ができるパッケージはどれ...
semパッケージは、デフォルトで最尤法なのでしょうか?~
~
どなたかわかるかたがいらっしゃれば、ご教授をお願いいたし...
//
- 補足しますと、同じデータを使い、AMOSによる共分散構...
- 同じアルゴリズムでも,それを実装するプログラムによって...
- お返事ありがとうございます。AMOSソフトの違いなのですね...
- お返事ありがとうございます。AMOSソフトの違いなのですね...
- お返事ありがとうございます。AMOSソフトの違いなのですね...
- 複数投稿失礼いたしました。ソフトの違いということで、原...
- 複数投稿失礼と思うなら,重複分は消去してください(^_^;...
**boxplotの図に斜線を入れたい [#y50fbe71]
>[[Saito]] (2012-12-21 (金) 21:29:04)~
~
いつもお世話になっております。~
~
boxplot()の図に斜線を入れたいのですが、どうすれば良いでし...
~
どなたかご存知の方がいらっしゃいましたら、ご教授をお願い...
//
- boxplot が返すオブジェクトを吟味すればヒントが得られる...
a <- boxplot(runif(100), runif(200), runif(300))
angle.p <- c(45, 135, 30)
density.p <- c(10, 10 , 20)
for (i in 1:3) {
rect(i-0.4, a$stats[2, i], i+0.4, a$stats[4, i],
angle=angle.p[i], density=density.p[i])
}
&ref(boxplot.png);
- 早速の返信ありがとうございました。さすがです。大変うっ...
a <- boxplot(runif(100), runif(200), runif(300), ylim=c(...
angle.p <- c(45, 135, 30)
density.p <- c(10, 10 , 20)
for (i in 1:3) {
rect(i-0.4, a$stats[2, i], i+0.4, a$stats[4, i],
angle=angle.p[i], density=density.p[i])
}
legend(1, 3, c("100", "200", "300"), lty=1)
などとしたときに、legendの横にも同じ斜線の小さな四角、な...
- 少しは自分で調べましょう。? legend&br;lty は必要ないで...
a <- boxplot(runif(100), runif(200), runif(300), ylim=c(...
angle.p <- c(45, 135, 30)
density.p <- c(20, 20 , 40)
for (i in 1:3) {
rect(i-0.4, a$stats[2, i], i+0.4, a$stats[4, i],
angle=angle.p[i], density=density.p[i])
}
legend(1, 3, c("100", "200", "300"), angle=angle.p,
density=density.p)
&ref(boxplot2.png);
- ありがとうございました。関数が返すオブジェクトをいじる...
**barplotにおけるy軸の値 [#adb22a56]
>[[BCD]] (2012-12-19 (水) 23:02:56)~
~
いつもお世話になっております。~
~
barplot関数を使ってグラフを作成した時にy軸に自動的に付加...
というのも小数点が多くつく場合、y軸が見づらいので10-3乗...
barplotを使う前に元のデータに10の3乗をかけ算しても良いの...
~
どうかご教示願います。~
//
- 既出の解決法でいかが?[[軸の上付き文字による指数表記に...
- どうもありがとうございます。ついでの質問なのですが、exp...
- 変数の展開ってどういうこと? -- [[河童の屁は河童にあら...
- (変数の内容と数式の組み合わせという意味なら)できます...
- ありがとうございました。おかげで数式を書くことも覚える...
**mean関数 [#v1afdcbe]
>[[sori]] (2012-12-19 (水) 14:24:56)~
~
データ解析の勉強を始めたのですが、なぜ警告メッセージが出...
> x <- read.delim("clipboard")
> x
学生名 性別 順位 国語 数学 英語
1 佐藤 1 5 64 48 78
2 鈴木 1 6 51 65 62
3 高橋 1 4 57 78 68
4 田中 1 14 38 62 42
5 渡辺 0 15 43 78 57
6 伊藤 0 13 52 73 53
7 山本 0 3 58 45 50
8 中村 0 1 72 36 71
9 小林 0 16 65 48 59
10 斉藤 1 17 53 58 35
11 加藤 0 12 30 55 53
12 吉田 0 18 56 72 49
13 山田 1 2 85 65 73
14 佐々木 1 19 69 62 66
15 山口 0 20 52 68 45
16 松本 0 11 55 52 63
17 井上 0 8 45 54 56
18 木村 1 7 61 32 88
19 林 1 10 43 57 43
20 清水 1 9 76 88 97
> attach(x)
> 性別
[1] 1 1 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1
> class(性別)
[1] "numeric"
> class <- factor(性別)
> class(性別)
[1] "numeric"
> 性別 <- factor(性別)
> class(性別)
[1] "factor"
> mean(x)
学生名 性別 順位 国語 数学 英語
NA 0.50 10.50 56.25 59.80 60.40
警告メッセージ:
1: mean(<data.frame>) is deprecated.
Use colMeans() or sapply(*, mean) instead.
2: In mean.default(X[[1L]], ...) :
引数は数値でも論理値でもありません。NA 値を返します
> mean(国語)
[1] 56.25
> mean(x[,4:6])
国語 数学 英語
56.25 59.80 60.40
警告メッセージ:
mean(<data.frame>) is deprecated.
Use colMeans() or sapply(*, mean) instead.
//
- 「なぜ」という問いにこたえるなら、「data.frameにmeanを...
- ご教示ありがとうございます。列の4〜6の平均(国語、数学...
- colMeansかsapplyを使うようにと書かれていますね -- [[河...
- っできました。どうもありがとうございます。> colMeans(x[...
**floor(2.3*100) [#f27046d8]
>[[so]] (2012-12-19 (水) 13:50:56)~
~
下記計算結果が導出される理由が分からず困っています。~
ご教示いただけると幸いです。
> floor( c( 230, 2.3*100, 2.3*10*10 ) )
[1] 230 229 230
> floor( c( 230000, 2.3*100000, 2.3*100*1000, 2.3*1000*1...
[1] 230000 229999 229999 230000
//
- コンピュータにおける実数(整数及び2の冪数の和からなる数...
> sprintf("%a", 2.3)
[1] "0x1.2666666666666p+1"
> sprintf("%a", 2.3*100)
[1] "0x1.cbfffffffffffp+7"
> sprintf("%a", 230)
[1] "0x1.ccp+7"
> sprintf("%a", 2.3*10)
[1] "0x1.7p+4"
> sprintf("%a", 23)
[1] "0x1.7p+4"
> sprintf("%a", 0.125)
[1] "0x1p-3"
- 河童さん、分かりやすい解説ありがとうございました。 -- [...
**軸のラベルの向きを斜めに変更する方法 [#i4ab20a8]
>[[BCD]] (2012-12-17 (月) 12:44:46)~
~
いつもお世話になっております。~
グラフを描く時に、lasオプションを指定すればラベルの向きを...
~
どうかご教示願います。~
//
- ? par で srt の項を見ればよいでしょう。(crt の項も) --...
- 便乗質問で申し訳ありませんが、axisもmtextもsrtやcrtは利...
- xpd=TRUE は必要なときだけに指定することができますよ。つ...
- 河童さんじゃないけど、こんな感じはどうでしょう -- &new...
set.seed(1234)
a <- barplot(runif(12))
text(a, -.01, month.name, srt = 45, adj = c(1, 1), xpd =...
#ref(rotated.png);
- こんなのも。
a <- hist(rnorm(1000), xaxt="n", xlab="", main="")
text(a$breaks+0.1, -2.5, a$breaks, srt=45, pos=1, xpd=TR...
#ref(hist.png);
- みなさまありがとうございます。textではできましたがmtext...
- ですよね…~
> mtextだとできないのですね...できれば便利なんですけど...
あたまがかたいだけなんでしょうが、mtextというものがあるの...
- 変態的(?)なグラフが欲しいときには、plotrixパッケージの...
library(plotrix)
set.seed(1234)
plot(runif(12), runif(12), xlab = "", xlim = c(0, 1),
ylim = c(0, 1), axes = FALSE)
ly <- round(c(0, (1:12)/12), 3)
lx <- ly[-13]
axis(1, at = lx, labels = rep("", 12), tck = -0.02)
staxlab(1, lx, month.name, srt = 45)
axis(2, at = ly, labels=rep("", 13))
staxlab(2, ly, ly, srt = 45)
box()
#ref(staxlab01.png);
- 「なんかパッケージがあったハズ」という気はしていたので...
- こんなパッケージもあるんですね!ありがとうございます --...
**(多クラスのカテゴリデータでベイジアンネット)dealのautos...
>[[yamaguchi]] (2012-12-16 (日) 17:27:44)~
~
はじめまして。いつもお世話になっています。~
初投稿という事で至らない点もあるかと思いますが、よろしく...
~
dealパッケージで多クラスのカテゴリデータでベイジアンネッ...
>autosearch(dat.pre_net, dat.dummy, dat.prior)
以下にエラー apply(prior$jointalpha, didx, sum) : ...
dim(X) must have a positive length
どのように解決したらよいか、ご助言をいただけますか。~
~
以下実行手順です。~
# サンプルとして成績データ作成
eng <- c("A", "B", "C", "C", "B", "D")
math <- c("B", "B", "C", "A", "B", "D")
sci <- c("A", "A", "B", "D", "B", "B")
res <- c("A", "B", "C", "C", "B", "C")
dat <- data.frame(eng, math, sci, res)
dat
eng math sci res
1 A B A A
2 B B A B
3 C C B C
4 C A D C
5 B B B B
6 D D B C
[[青木氏のサイト:http://aoki2.si.gunma-u.ac.jp/R/src/qt3....
上記サンプルではダミーデータに変換しなくてもネットワーク...
dat.int <- dat
dat.int[,1:ncol(dat)] <- lapply(dat, as.integer) # カテ...
cat <- sapply(dat.int, max) # 各列が持つ水準の個数を保存
cname <- unlist(sapply(dat.int, levels)) # 水準の名称を...
dat.colnames <- colnames(dat.int)
dat.dummy <- make.dummy(dat.int)
colnames(dat.dummy) <- paste(rep(dat.colnames, cat), cna...
# 列名.水準 というカラム名を設定
library('deal')
dat.pre_net <- network(dat.dummy)
dat.prior <- jointprior(dat.pre_net, 20)
dat.dist <- learn(dat.pre_net, dat.dummy, dat.prior)
# 有効辺ノードの設定
res_list <- grep("res.*", colnames(dat.dummy))
# このノードからは有効辺を引かない
[1] 12 13 14
# res → res以外への有効辺を引かないようにする
dat.col_num <- 1:length(colnames(dat.dummy))
# 各ノードを数字のベクトルで取得
dat.no_res <- length(dat.col_num) - length(res_list)
# resがつかないカラム名の個数を取得
a <- sort(rep(res_list,length(colnames(dat.dummy))))
# res_listの各要素をカラム数分繰り返したベクトルを
# ソート(有効辺が出てはいけないノード)
b <- 1:length(colnames(dat.dummy)) # 有効辺が入るノード
dat.ban <- cbind(a, b)
# 12,12などの重複を削除
dat.ban_df <- as.data.frame(dat.ban)
colnames(dat.ban_df) <- c("a", "b")
dat.ban_df[dat.ban_df$a == dat.ban_df$b,] <- c(NA, NA)
dat.ban_df <- na.omit(dat.ban_df)
# 有効辺を引かないノードリストの設定を適用
dat.pre_net <- getnetwork(dat.dist)
banlist(dat.pre_net) <- as.matrix(dat.ban_df)
# モデル探索
dat.posterior <- autosearch(dat.pre_net, dat.dummy,
dat.prior)
以下にエラー apply(prior$jointalpha, didx, sum) : ...
dim(X) must have a positive length
debug関数でautosearch()の処理を追って見ましたが、私には原...
読みづらい点もあるかと思いますが、対処策・アドバイスのほ...
~
また、実行環境は下記のとおりです。~
>sessionInfo() ...
R version 2.14.1 (2011-12-22) ...
Platform: x86_64-pc-linux-gnu (64-bit) ...
locale: ...
[1] LC_CTYPE=ja_JP.UTF-8 LC_NUMERIC=C ...
[3] LC_TIME=ja_JP.UTF-8 LC_COLLATE=ja_JP.UTF-8 ...
[5] LC_MONETARY=ja_JP.UTF-8 LC_MESSAGES=ja_JP.UTF-8 ...
[7] LC_PAPER=C LC_NAME=C ...
[9] LC_ADDRESS=C LC_TELEPHONE=C ...
[11] LC_MEASUREMENT=ja_JP.UTF-8 LC_IDENTIFICATION=C ...
attached base packages: ...
[1] stats graphics grDevices utils datasets m...
other attached packages: ...
[1] deal_1.2-35
//
- Mac 版,64bit R 2.15.2 では,エラーなく結果が出ましたけ...
- WIndows 版,R 2.15.1 だけど,ちゃんと結果が出ましたが? ...
- 河童の屁は,河童にあらず,屁である。様 ご指摘の通り試...
**package(e1071)におけるsvmについて [#o2107856]
>[[t.h]] (2012-12-13 (木) 17:28:14)~
~
はじめまして。よろしくお願いします~
~
題名の通りですが、package(e1071)におけるsvmについて質問が...
私の最終的な目的は「1つのクラスに対して間違いを許さない...
(クラスAとBがあるとして、テストデータを入れたときにAがB...
~
(1)このsvmに訓練データとしてデータを入れるとき、その順番...
(e.g)「クラスA,クラスBという順番で入っている行列を訓練デ...
~
(2)このsvmはデフォルトで実行すると、ソフトマージンsvm(最...
~
(3)目的を達成するために、デフォルトのSVMからどのようにす...
~
(4*)デフォルトのsvmに3クラス以上のデータを訓練させた場合...
~
段々と抽象性の高い質問になっておりますが、((4)だけ別系統...
~
見当違いの質問、読みづらい文章かもしれませんが、ご回答よ...
//
- (1) はcross validationでランダムにシャッフルするので、...
- (2)(3)はcostとclass.weightのパラメータを操作することで...
- (4)は1vs1です。 http://www.csie.ntu.edu.tw/~cjlin/libsv...
**SEM の summary [#qa505273]
>[[しまりす]] (2012-12-07 (金) 19:14:06)~
~
お世話になります。~
~
SEMパッケージの練習のため、下記URLの「食物とガン」の共分...
http://wwwhum.meijo-u.ac.jp/labs/hh002/r/content/sem.html~
~
共分散の結果は出せたのですが、最後のsummary()による適合度...
summary(データ名)と入力しても、何も出力されず、エラーメ...
~
以下がプログラムと出力結果です。
> # ガンデータのSEM #
>
> setwd("C:/Users/a2122062/work")
> gandat <- read.table("gan.csv", sep=",", header = TRUE)
>
> # 相関行列を求める #
> soukan <- cor(gandat)
> soukan
calory niku nyu sake daic...
calory 1.0000000 0.7731109 0.7155250 0.6341241 0.73949...
niku 0.7731109 1.0000000 0.7227997 0.4515933 0.85262...
nyu 0.7155250 0.7227997 1.0000000 0.2321334 0.57872...
sake 0.6341241 0.4515933 0.2321334 1.0000000 0.58813...
daicho 0.7394903 0.8526245 0.5787253 0.5881328 1.00000...
chokucho 0.8100869 0.6718607 0.4785180 0.6095649 0.75238...
>
> # 共分散する#
> library(sem)
要求されたパッケージ MASS をロード中です
要求されたパッケージ matrixcalc をロード中です
警告メッセージ:
1: パッケージ '‘sem’' はバージョン 2.15.2 の R の下で造...
2: パッケージ '‘matrixcalc’' はバージョン 2.15.2 の R ...
> modelA.gan <- specify.model()
1: 洋食傾向 -> calory ,b11 ,NA
2: 洋食傾向 -> niku ,b21 ,NA
3: 洋食傾向 -> nyu ,b31 ,NA
4: 洋食傾向 -> sake ,b41 ,NA
5: 消化管ガン -> daicho ,NA ,1
6: 消化管ガン -> chokucho ,b62 ,NA
7: 洋食傾向 -> 消化管ガン,g21,NA
8: calory <-> calory ,e1 ,NA
9: niku <-> niku ,e2 ,NA
10: nyu <-> nyu ,e3 ,NA
11: sake <-> sake ,e4 ,NA
12: daicho <-> daicho ,e5 ,NA
13: chokucho <-> chokucho ,e6 ,NA
14: 洋食傾向 <-> 洋食傾向 , NA , 1
15: 消化管ガン <-> 消化管ガン , delta2,NA
16:
Read 15 records
警
'specify.model' is deprecated.
Use 'specifyModel' instead.
See help("Deprecated") and help("sem-deprecated").
>
> semgan <- sem(modelA.gan , soukan, N=47)
> std.coef(semgan, digit=3)
Std. Estimate
1 b11 0.90353083 calory <--- 洋食傾向
2 b21 0.88860193 niku <--- 洋食傾向
3 b31 0.72052466 nyu <--- 洋食傾向
4 b41 0.61993727 sake <--- 洋食傾向
5 0.89590512 daicho <--- 消化管ガン
6 b62 0.83980749 chokucho <--- 消化管ガン
7 g21 0.98052591 消化管ガン <--- 洋食傾向
8 e1 0.18363205 calory <--> calory
9 e2 0.21038661 niku <--> niku
10 e3 0.48084422 nyu <--> nyu
11 e4 0.61567779 sake <--> sake
12 e5 0.19735401 daicho <--> daicho
13 e6 0.29472337 chokucho <--> chokucho
14 1.00000000 洋食傾向 <--> 洋食傾向
15 delta2 0.03856894 消化管ガン <--> 消化管ガン
警告メッセージ:
'std.coef' is deprecated.
Use 'stdCoef' instead.
See help("Deprecated") and help("sem-deprecated").
> summary(semgan)
>
なぜなのでしょうか?~
もしかしたらとても簡単なミスかもしれないのですが、どうぞ...
//
- 「とても簡単なミス」ですね。summary の閉じ括弧が全角で...
- 本当ですね。全角でした。半角にして解決しました。大変失...
**lavaanパッケージによる多母集団分析のGFI,AGFIの出力 [#v...
>[[さとし]] (2012-12-04 (火) 21:46:32)~
~
お世話になります。Windows7のR 2.15.2を使っております。~
~
lavaanパッケージで多母集団分析を行いました。
lav.model.1 <- lavaan(model.1, data=d1, model.type="sem",
group="group", int.ov.free=TRUE, auto.var=TRUE, auto.fix...
fixed.x=FALSE, auto.cov.lv.x=FALSE, auto.cov.y=FALSE)
summary(lav.model.1, fit.measure=TRUE, standardized=TRUE)
このようなオプションでsummaryを出力したところ,色々な適合...
~
そこで質問なのですが,~
~
1.GFIやAGFIの出力を可能にするオプションはあるのでしょうか...
2.GFIやAGFIの算出に必要な共分散行列を出力することはできる...
3.あるいは,出力された他の適合度指標からGFIやAGFIを式展開...
~
よろしくお願いいたします。~
//
- semToolsパッケージにあるmoreFitIndices関数で計算できま...
- ご回答ありがとうございます。
moreFitIndicesを使って,以下のように入力しました。
moreFitIndices(lav.model.1)
すると,nfi,ifi,gfi*,agfi*,ciac,ecvi,bic*,hqc,sic...
GFIやAGFIらしきものが出たと喜んでいたのですが,少し調べた...
結果として,残念ながらmoreFitIndicies関数では,目当てのGF...
申し訳ございません。 -- [[さとし]] &new{2012-12-05 (水) 1...
**x軸ラベルの回転について [#y54e18dd]
>[[れこ]] (2012-12-04 (火) 15:45:58)~
~
お世話になります。WindowsのR 2.15.1を使っています。
y <- rnorm(20)
x <- factor(rep(c("AAAAA","BBBBB"),10))
stripchart(y ~ x, vertical=TRUE)
このとき、x軸のラベルを反時計回りに90度回転させたグラフに...
~
宜しくお願いします。~
//
- こういうことでしょうか? -- [[Saito]] &new{2012-12-04 ...
y <- rnorm(20)
x <- factor(rep(c("AAAAA","BBBBB"),10))
stripchart(y ~ x, vertical=TRUE, las=2)
- ありがとうございました。まさにそのとおりです。getS3meth...
- そういうときは,「? par」をするのです。 -- [[河童の屁は...
**一定時間が過ぎると新規個体群が入ってくる生物の生活史シ...
>[[Saito]] (2012-12-04 (火) 11:34:01)~
~
いつもお世話になっております。~
ある生物が、時間が経つに連れて大きくなり、一定時間が過ぎ...
実際には、時間も年級群の数ももっとべらぼうに多いですし、...
Size <- seq(0.1, 30, by=0.5) #個体のサイズ分布
year <- 40 #時間
class <- 3 #生物の年級群の数
M <- catch <- matrix(0, ncol=year*class, nrow=length(Siz...
###Catchは既知のデータ###
catch[, 5] <- rpois(length(Size), lambda=2)
catch[, 10] <- rpois(length(Size), lambda=3)
catch[, 56] <- rpois(length(Size), lambda=4)
catch[, 77] <- rpois(length(Size), lambda=5)
catch[, 105] <- rpois(length(Size), lambda=6)
SS1 <- matrix(NA, nrow=length(Size), year*class)
SS2 <- matrix(NA, nrow=length(Size), year*class)
SS3 <- matrix(NA, nrow=length(Size), year*class)
m1 <- runif(year*class, 0, 1) #平均成長の値(時間変化する)
m2 <- runif(year*class, 5, 10)
m3 <- runif(year*class, 15, 20)
sd1 <- runif(year*class, 1, 5) #平均成長の分散(時間変化...
sd2 <- runif(year*class, 1, 3)
sd3 <- runif(year*class, 1, 2)
surv1 <- runif(year*class, 0.9, 0.99) #生存率(時間変化す...
surv2 <- runif(year*class, 0.9, 0.99)
surv3 <- runif(year*class, 0.9, 0.99)
###シミューション開始###
M[1, 1] <- S2 <- S3 <- 40000
for(i in 2 : (year*class)){
if (i <= year) {
A1 <- dnorm(Size, mean=m1[i], sd=sd1[i])
G1 <- sample(Size, sum(M[, i-1]), prob=A1/sum(A1), rep=T)
M[, i] <-
SS1[, i] <- rbinom(rep(1, length(Size)),
table(cut(G1, breaks=c(Size, max(Size...
prob=surv1[i])
M[, i] <- M[, i] - catch[, i]
M[which(M[, i] < 0), i] <- 0
S1 <- M[, i]
} else { #次の年級群が加わってくる
if (i > year & i <=(year*2+13)) {
A1 <- dnorm(Size, mean=m1[i], sd=sd1[i])
A2 <- dnorm(Size, mean=m2[i], sd=sd2[i])
G1 <- sample(Size, sum(S1), prob=A1/sum(A1), rep=T)
G2 <- sample(Size, sum(S2), prob=A2/sum(A2), rep=T)
S1 <- SS1[, i] <- rbinom(rep(1, length(Size)),
table(cut(G1, breaks=c(Size, ma...
prob=surv1[i])
S2 <- SS2[, i] <- rbinom(rep(1, length(Size)),
table(cut(G2, breaks=c(Size, ma...
prob=surv2[i])
S1 <- S1 - round(catch[, i]*(SS1[, i]/(SS1[, i]+SS2[, i]...
#それぞれの年級群の数に比例した値で捕獲
S2 <- S2 - round(catch[, i]*(SS2[, i]/(SS1[, i]+SS2[, i]...
S1[which(is.na(S1))] <- 0
S2[which(is.na(S2))] <- 0
M[, i] <- S1 + S2
M[which(M[, i] < 0), i] <- 0
} else { #また次の年級群が加わってくるが、加わるタイミン...
if (i > (year*2+13)) {
A1 <- dnorm(Size, mean=m1[i], sd=sd1[i])
A2 <- dnorm(Size, mean=m2[i], sd=sd2[i])
A3 <- dnorm(Size, mean=m3[i], sd=sd3[i])
G1 <- sample(Size, sum(S1), prob=A1/sum(A1), rep=T)
G2 <- sample(Size, sum(S2), prob=A2/sum(A2), rep=T)
G3 <- sample(Size, sum(S3), prob=A3/sum(A3), rep=T)
S1 <- SS1[, i] <- rbinom(rep(1, length(Size)),
table(cut(G1, breaks=c(Size, ma...
prob=surv1[i])
S2 <- SS2[, i] <- rbinom(rep(1, length(Size)),
table(cut(G2, breaks=c(Size, ma...
prob=surv2[i])
S3 <- SS3[, i] <- rbinom(rep(1, length(Size)),
table(cut(G3, breaks=c(Size, ma...
prob=surv3[i])
S1 <- S1 - round(catch[, i]*(SS1[, i]/(SS1[, i]+SS2[, i]...
S2 <- S2 - round(catch[, i]*(SS2[, i]/(SS1[, i]+SS2[, i]...
S3 <- S3 - round(catch[, i]*(SS3[, i]/(SS1[, i]+SS2[, i]...
S1[which(is.na(S1))] <- 0
S2[which(is.na(S2))] <- 0
S3[which(is.na(S3))] <- 0
M[, i] <- S1 + S2 + S3
M[which(M[, i] < 0), i] <- 0
}}}}
###シミューション終わり###
###得たいもの1###
SS1[is.na(SS1)] <- 0
SS2[is.na(SS2)] <- 0
SS3[is.na(SS3)] <- 0
SS <- SS1 + SS2 + SS3
SS[, c(5, 10, 56, 77, 105)]
#(既知データである)捕獲があった時点での
#捕獲前の推定個体数の総和
###得たいもの2###
M #捕獲を考慮して計算を続けたときの推定個体数
//
- i は 2 から year * class までで,それが 3 区間に分かれ...
for (i in 2:year) {
最初の年級群
}
for (i in (year+1):(year * 2 + 13)) {
次の年級群
}
for (i in (year * 2 + 14):(year * class)) {
また次の年級群
}
もっとも,そのようにしても全然速くならない。当然だ,if-el...
- 早速のご回答ありがとうございます。実際はclassに当たる部...
- lapply ではなくて mapply を使うのです。たとえば,
A1 <- dnorm(Size, mean=m1[i], sd=sd1[i])
A2 <- dnorm(Size, mean=m2[i], sd=sd2[i])
A3 <- dnorm(Size, mean=m3[i], sd=sd3[i])
を
A123 <- mapply(function(m, s) dnorm(Size, m, s),
c(m1[i], m2[i], m3[i]), c(sd1[i], sd2[i],...
とするようなこと。平均値ベクトル,標準偏差ベクトルを c で...
S1 <- S1 - round(catch[, i]*(S1/(S1+S2)))
S2 <- S2 - round(catch[, i]*(S2/(S1+S2)))
S3 <- S3 - round(catch[, i]*(S3/(S1+S2)))
などは,S1, S2, S3 をベクトルではなく行列として使えばよい...
- ご回答ありがとうございます。最初に明言しておかなかった...
- すみません、それはバグですね(汗)もともとの投稿を修正...
S1 <- S1 - round(catch[, i]*(SS1[, i]/(SS1[, i]+SS2[, i]...
のように、保存しておいた更新前のものを使ってcatchの影響を...
- > 高速化の効果が薄くとも、修正がしやすい、という点にお...
catch[, 5] <- rpois(length(Size), lambda=2)
catch[, 10] <- rpois(length(Size), lambda=3)
catch[, 56] <- rpois(length(Size), lambda=4)
catch[, 77] <- rpois(length(Size), lambda=5)
catch[, 105] <- rpois(length(Size), lambda=6)
は
catch[, c(5, 10, 56, 77, 105)] <- sapply(2:6,
function(lambda) rpois(length(Size), lambda=lambda))
# 2:6 の部分も実際は c(xxx, yyy, zzz,...) みたいなことだ...
また,
m1 <- runif(year*class, 0, 1) #平均成長の値(時間変化する)
m2 <- runif(year*class, 5, 10)
m3 <- runif(year*class, 15, 20)
sd1 <- runif(year*class, 1, 5) #平均成長の分散(時間変化...
sd2 <- runif(year*class, 1, 3)
sd3 <- runif(year*class, 1, 2)
は
m123 <- mapply(function(min, max) runif(year*class, min,...
c(0, 5, 15), c(1, 10, 20))
sd123 <- mapply(function(min, max) runif(year*class, min...
c(1, 1, 1), c(5, 3, 2))
とか。そうすれば,前に書いた
A123 <- mapply(function(m, s) dnorm(Size, m, s),
c(m1[i], m2[i], m3[i]), c(sd1[i], sd2[i],...
は
A123 <- mapply(function(m, s) dnorm(Size, m, s), m123[i,...
のようになる。&br;要するに,少し違うけどほとんど同じとい...
- 最初に申し上げておくべきでした。お手数をおかけして申し...
- しつこくて申し訳ありません。例えば下記のプログラムって...
a <- b <- c <- d <- matrix(NA, 10, 6)
for(i in 1 : 2) {
a[, i] <- rnorm(10, mean=0, sd=1)
d[, i] <- a[, i]
}
for(i in 3 : 4) {
a[, i] <- rnorm(10, mean=1, sd=2)
b[, i] <- rnorm(10, mean=0, sd=1)
d[, i] <- a[, i] + b[, i]
}
for(i in 5 : 6){
a[, i] <- rnorm(10, mean=2, sd=3)
b[, i] <- rnorm(10, mean=1, sd=2)
c[, i] <- rnorm(10, mean=0, sd=1)
d[, i] <- a[, i] + b[, i] + c[, i]
}
#このくらいしか思いつきません。for()消せないですかねぇ・...
d <- matrix(NA, 10, 6)
for(i in 1 : 2) {
d[, i] <- rnorm(10, mean=0, sd=1)
}
for(i in 3 : 4) {
d[, i] <- apply(mapply(function(mean, sd)
rnorm(10, mean, sd), c(1, 0), c(2, 1)), 1, sum)
}
for(i in 5 : 6){
d[, i] <- apply(mapply(function(mean, sd)
rnorm(10, mean, sd), c(2, 1,0), c(3, 2,1)), 1, sum)
}
- たぶん,以下のプログラムであっていると思うのだけど。~
アルゴリズム + データ構造 ==> プログラム~
アルゴリズムとデータ構造それぞれが互いに便利なように作る...
データ構造に合うようにプログラムを書く。プログラムが書き...
データ構造として,正規乱数のパラメータ mean, sd を以下の...
i は第一引数,第二引数は a, b, c, ... などを 1, 2, 3, ......
行列であるが実際には列優先のベクトルとして使う。~
i = 4, j = 2 は 元の記法だと a[, 4] で,N(0, 1^2) に従う...
ただし,i=1, j=3 などは,sd = 0(そのような正規乱数はない...
set.seed(1234567)
Mean <- matrix(c(
# a b c
0, 0, 0, # i = 1
0, 0, 0, # i = 2
1, 0, 0, # i = 3
1, 0, 0, # i = 4
2, 1, 0, # i = 5
2, 1, 0), # i = 6
byrow=TRUE, ncol=3)
SD <- matrix(c(
1, 0, 0,
1, 0, 0,
2, 1, 0,
2, 1, 0,
3, 2, 1,
3, 2, 1),
byrow=TRUE, ncol=3)
シミュレーションデータは 3 次元の配列として用意する。~
配列のサイズは以下の通り。
n <- 10
i <- 6 # nrow(Mean)
j <- 3 # ncol(Mean)
n = 1:10 のそれぞれについて要素を定める。~
N(α,β^2) などは,平均値 α,標準偏差 βに従う正規乱数 1 個。~
SD が 0 の場合は,定数 0。
要するにこういうものが 10 層あると考えてもよい。
i\j a b c
1 N(0, 1^2) 0 0
2 N(0, 1^2) 0 0
3 N(1, 2^2) N(0, 1^2) 0
4 N(1, 2^2) N(0, 1^2) 0
5 N(2, 3^2) N(1, 2^2) N(0, 1^2)
6 N(2, 3^2) N(2, 2^2) N(0, 1^2)
以下のようにして「二次元配列」を作る。10行18列の「行列」。
m <- sapply(1:(i*j), function(ij) {
if (SD[ij] > 0)
rnorm(n, Mean[ij], SD[ij])
else
rep(0, n)
})
行列に配列の次元属性を与える(三次元配列)。配列要素の順...
m <- array(m, dim=c(n, i, j))
m
3 次元配列の周辺和を求める。~
和を求める必要のない部分には 0 を入れておけば,いつも同じ...
i によって和を取る範囲を変える必要はない。
apply(m, 1:2, sum) # これが d
実行例
> m
, , 1
[,1] [,2] [,3] [,4] ...
[1,] 0.156703769 1.1019974 -0.5878131 1.38177251 1....
[2,] 1.373811191 1.5415915 2.1952178 0.22287438 2....
[3,] 0.730670244 -0.3782146 -0.9849293 -0.19496258 0....
[4,] -1.350800927 -0.4985698 2.4799454 1.88217872 6....
[5,] -0.008514961 -0.5412962 -0.1742176 -0.26483396 1....
[6,] 0.320981863 0.5419221 0.7326528 -0.82759674 1....
[7,] -1.778148409 -1.4575070 1.8153054 -3.16497120 -1....
[8,] 0.909503835 0.1169604 1.4648845 0.08704023 2....
[9,] -0.919404336 -0.1407206 -1.5649053 0.25347786 7....
[10,] -0.157714831 0.0443457 2.0469119 0.47429132 4....
, , 2
[,1] [,2] [,3] [,4] [,5] ...
[1,] 0 0 -1.6481922 0.9301823 2.3629785 -0.0786...
[2,] 0 0 -0.5601030 0.2247429 1.7719864 2.3207...
[3,] 0 0 0.8362890 -1.3439788 1.0961511 0.0322...
[4,] 0 0 -2.1072330 0.6451209 1.5598118 1.4520...
[5,] 0 0 0.2892977 -1.9031158 3.4218537 -0.0794...
[6,] 0 0 -1.2472545 0.8929470 2.9554176 -3.0358...
[7,] 0 0 0.7074159 0.7091518 -0.8749767 1.7923...
[8,] 0 0 -1.6659138 -0.1559170 0.1048045 -0.8225...
[9,] 0 0 -1.4662284 2.1920211 -2.8208809 3.4132...
[10,] 0 0 0.2903617 -0.1537628 5.0290536 0.0683...
, , 3
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 0 0 0 0 -0.1858555 0.1759547
[2,] 0 0 0 0 0.6234541 -1.2223501
[3,] 0 0 0 0 -0.8221098 -0.7782799
[4,] 0 0 0 0 1.6184734 1.7862177
[5,] 0 0 0 0 -0.2177257 -0.3615454
[6,] 0 0 0 0 -0.1005853 -1.6459583
[7,] 0 0 0 0 -0.6616456 -0.4109084
[8,] 0 0 0 0 0.4907506 -2.1850624
[9,] 0 0 0 0 -0.8438808 -0.3885813
[10,] 0 0 0 0 0.2083525 -0.9391815
> apply(m, 1:2, sum)
[,1] [,2] [,3] [,4] ...
[1,] 0.156703769 1.1019974 -2.2360053 2.31195481 3....
[2,] 1.373811191 1.5415915 1.6351148 0.44761725 4....
[3,] 0.730670244 -0.3782146 -0.1486403 -1.53894141 1....
[4,] -1.350800927 -0.4985698 0.3727124 2.52729959 10....
[5,] -0.008514961 -0.5412962 0.1150801 -2.16794979 4....
[6,] 0.320981863 0.5419221 -0.5146017 0.06535031 4....
[7,] -1.778148409 -1.4575070 2.5227213 -2.45581941 -2....
[8,] 0.909503835 0.1169604 -0.2010293 -0.06887676 3....
[9,] -0.919404336 -0.1407206 -3.0311337 2.44549896 4....
[10,] -0.157714831 0.0443457 2.3372736 0.32052849 9....
たぶん本番のプログラムは Mean,SD の定義法なども組み込ま...
あなたのプログラムと私のプログラムでは,a, b, c に割り当...
set.seed(1234567)
a <- b <- c <- d <- matrix(NA, 10, 6)
for(i in 1 : 2) a[, i] <- rnorm(10, mean=0, sd=1)
for(i in 3 : 4) a[, i] <- rnorm(10, mean=1, sd=2)
for(i in 5 : 6) a[, i] <- rnorm(10, mean=2, sd=3)
for(i in 3 : 4) b[, i] <- rnorm(10, mean=0, sd=1)
for(i in 5 : 6) b[, i] <- rnorm(10, mean=1, sd=2)
for(i in 5 : 6) c[, i] <- rnorm(10, mean=0, sd=1)
for(i in 1 : 2) d[, i] <- a[, i]
for(i in 3 : 4) d[, i] <- a[, i] + b[, i]
for(i in 5 : 6) d[, i] <- a[, i] + b[, i] + c[, i]
d
は同じであり,このプログラムの答と私のプログラムの答は一...
- ご教授ありがとうございます。教えていただいたプログラム...
set.seed(1)
Size <- seq(0.1, 30, by=0.5) #個体のサイズ分布
year <- 40 #時間
class <- 3 #生物の年級群の数
M <- catch <- matrix(0, ncol=year*class, nrow=length(Siz...
Gs <- list(0, 0, 0) #classの数だけ
r_years <- c(year, year*2+13)
r_number <- c(40000, 40000)
###Catchは既知のデータ###
c_days <- c(5, 10, 56, 77, 105)
catch[, c_days] <- sapply(seq(2, 6),
function(x) {rpois(length(Size), l...
)
SS <-SS2 <- As <- Probs <- matrix(NA, length(Size), class)
Mean <- m123 #mapply(function(min, max)
runif(year*class, min, max), c(0, 5, 15), c(1, 10, 20))
SD <- sd123 #mapply(function(min, max)
runif(year*class, min, max), c(1, 1, 1), c(5, 3, 2))
Surv <- surv123 #mapply(function(min, max)
runif(year*class, min, max), c(0.9, 0.9, 0.9), c(0.99,...
k <- 1
SS2[1, 1] <- 40000
for(i in 1 : (year*class)){
As <- mapply(function(mean, sd)
dnorm(Size, mean, sd), Mean[i, ], SD[i, ])
Probs <- As/rep(apply(As, 2, sum), each=nrow(As))
Probs[which(is.na(Probs))] <- 0
for (j in 1 : ncol(Mean)) {
if(sum(Probs[, j]==0) < nrow(As))
Gs[[j]] <- sample(Size, sum(SS2[, j], na.rm=T),
prob=Probs[, j], rep=T)
}
for(j in 1 : ncol(As)){
SS[, j] <- rbinom(rep(1, length(Size)),
table(cut(Gs[[j]],
breaks=c(Size, max(Size) + 0.5))),
prob=Surv[i, j])
}
for(j in 1 : ncol(As)) {
SS2[, j] <- SS[, j] - round(catch[, i] *
SS[, j]/apply(SS, 1, sum))
SS2[which(SS2[, j] < 0), j] <- 0
}
SS2[which(is.na(SS2))] <- 0
M[, i] <- apply(SS2, 1, sum)
M[which(M[, i] < 0), i] <- 0
if(sum(i==r_years) > 0){
SS2[1, k+1] <- r_number[k]
k <- k + 1
}
}
**対応した2つのデータフレームに一括でペアT検定とWilcoxon...
>[[のぶ]] (2012-12-03 (月) 23:04:10)~
~
お世話になります。~
~
Rは始めたばかりの初心者です。~
ご教示頂けると幸いです。~
~
下記のようなデータフレームX、Yの、各A-A',B-B',C-C',D-D'間...
X <- data.frame(A = c(1,5,6,4,2), B = c(2,1,7,4,3) ,
C = c(1,NA,NA,NA,NA) , D = c(3,8,NA,4,1))
Y <- data.frame(A' = c(NA,3,2,8,1), B' = c(3,2,5,4,9) ,
C' = c(NA,2,8,3,10) , D' = c(1,3,NA,2,NA))
検討したい因子がかなり多く、p値の一覧として出力した上で、...
なので、
検討できた数 p-value(paired-T.test) p-value(wilcoxon)
A-A' 4 0.6892 0.7127
B-B' 5 0.4144 0.5807
C-C' 0 NA NA
D-D' 3 0.09547 0.1736
のように、要約された結果一覧を得たいです。
for (i in 1:4) print(t.test(X[,i],Y[,i],paired=TRUE))
for (i in 1:4) print(wilcox.test(X[,i],Y[,i],paired=TRUE))
とするところまではたどり着きましたが、各検定結果において...
何か良い方法はありますでしょうか。~
お手数をおかけいたしますが、よろしくお願いいたします。~
//
- 何と何を比較したかは,for ループの中で,変数名を書けば...
X <- data.frame(A = c(1, 5, 6, 4, 2), B = c(2, 1, 7, 4, ...
C = c(1, NA, NA, NA, NA) , D = c(3, 8, N...
Y <- data.frame(A = c(NA, 3, 2, 8, 1), B = c(3, 2, 5, 4,...
C = c(NA, 2, 8, 3, 10) , D = c(1, 3, NA,...
len <- length(X)
n <- pt <- wt<- rep(NA, len)
for (i in seq_len(len)) {
d <- na.omit(data.frame(x = X[, i], y = Y[, i]))
n[i] <- nrow(d)
if (n[i] >= 2) {
pt[i] <- t.test(d$x, d$y, paired = TRUE)$p.value
pw[i] <- wilcox.test(d$x, d$y, paired = TRUE)$p.value
}
}
data.frame(n, pt, pw, row.names=names(X))
実行結果(警告メッセージも出るが。不要なら出さないように...
n pt pw
A 4 0.68923296 0.7127019
B 5 0.41443008 0.5807122
C 0 NA NA
D 3 0.09546597 0.1735682
- ありがとうございました。したいことができました。まだま...
**mimRが手ごわい?! [#zb1cedab]
>[[悩めるポー]] (2012-12-01 (土) 18:40:47)~
~
R version 2.13.0(2011-04-13)~
mimR_2.6.2~
gRbase_1.4.4の環境下で、mimRとMIM3.2.0.7のコネクションが...
The mimR Package~
January 31, 2006をなぞっても、、、。~
//
- The mimR Package for Graphical Modelling in R DRAFT ...
- ググっていたら、The mimR Package for Graphical Modellin...
S3 ruary 20, 2007の中にヒントがありそうです。The 31 commu...
- R version 2.13.0(2011-04-13)だとRgraphviz package ca no...
- 不可解な自問自答で,何が質問かもよくわからないですね。...
**webページの更新日時取得 [#x072d737]
>[[asap]] (2012-11-30 (金) 21:30:28)~
~
webページの内容は~
src <- readLines("http://www.jma.go.jp/jp/")
のようにして取得できますが、そのページの更新日時を取得で...
例えばfirefox(Win版)であれば、右クリック>ページの情報を...
そのページの更新日時が表示されますが、それをRで取得したい...
よろしくお願いします~
//
- 私なら次のようにします -- &new{2012-12-01 (土) 05:20:2...
> url <- "http://jasp.ism.ac.jp/~nakanoj/workshop12/2012...
> grep("Last-Modified", system(paste("w3m -dump_head", u...
intern = TRUE), value = TRUE)
[1] "Last-Modified: Thu, 22 Nov 2012 05:14:24 GMT"
ただし、動的に作成されているページにはLast-Modifiedがない...
なお、http://www.jma.go.jp/jp/は403 Forbiddenでした。
- ありがとうございます 以下のエラーがでるのですが不備な点...
url <- "http://jasp.ism.ac.jp/~nakanoj/workshop12/2012Rm...
grep("Last-Modified", system(paste("w3m -dump_head", url),
intern = TRUE), value = TRUE)
以下にエラー system(paste("w3m -dump_head", url), intern...
'w3m' not found
- w3m というのはテキストブラウザということで, 'w3m' not ...
**stripchartで対応のある点を線でつなぐ [#of2fbcfd]
>[[COM]] (2012-11-26 (月) 10:02:04)~
~
お世話になります。~
stripchart() で因子別に一次元散布図を描き、対応するデータ...
y <- rnorm(20)
x <- factor(c(rep(1, 10), rep(2, 10)))
stripchart(y~x, vertical=T)
このとき、因子1の1番目と因子2の1番目、因子1の2番目と因子2...
というように点を線でつなぐにはどのようにすれ- d ばよいで...
宜しくお願いします。~
//
- segments 関数を上手に使う。segments(1, y[1:10], 2, y[1...
- 迅速なご回答ありがとうございました。stripchartについて...
**factor データを strptime で"POSIXt" に変換したときにデ...
>[[やまだ]] (2012-11-24 (土) 06:24:36)~
~
いつもお世話になっています。
x
[1] 2010/02/02 00:15:00 2010/02/02 01:15:00 2010/02/02 0...
[5] 2010/02/02 04:15:00 2010/02/02 05:15:00 2010/02/02 0...
[9] 2010/02/02 08:15:00 2010/02/02 09:15:00 2010/02/02 1...
[13] 2010/02/02 12:15:00 2010/02/02 13:15:00 2010/02/02 ...
[17] 2010/02/02 16:15:00 2010/02/02 17:15:00 2010/02/02 ...
20 Levels: 2010/02/02 00:15:00 2010/02/02 01:15:00 ... 2...
(y <- strptime(x, "%Y/%m/%d %H:%M:%S"))
[1] "2010-02-02 00:15:00" "2010-02-02 01:15:00" "2010-02...
[5] "2010-02-02 04:15:00" "2010-02-02 05:15:00" "2010-02...
[9] "2010-02-02 08:15:00" "2010-02-02 09:15:00" "2010-02...
[13] "2010-02-02 12:15:00" "2010-02-02 13:15:00" "2010-0...
[17] "2010-02-02 16:15:00" "2010-02-02 17:15:00" "2010-0...
length(x); length(y)
[1] 20
[1] 9
上記のようなコマンドを実行し、length(y)が9となるのはなぜ...
//
- 再現しませんねぇ。どちらも長さ 20 になりますが。x をど...
以下を R コンソールにカット&コピーしたらどうなりますか?...
x があなたの場合と同じ長さ 20 の Factor になっていること...
x <- factor(scan("", what=""))
"2010/02/02 00:15:00"
"2010/02/02 01:15:00"
"2010/02/02 02:15:00"
"2010/02/02 03:15:00"
"2010/02/02 04:15:00"
"2010/02/02 05:15:00"
"2010/02/02 06:15:00"
"2010/02/02 07:15:00"
"2010/02/02 08:15:00"
"2010/02/02 09:15:00"
"2010/02/02 10:15:00"
"2010/02/02 11:15:00"
"2010/02/02 12:15:00"
"2010/02/02 13:15:00"
"2010/02/02 14:15:00"
"2010/02/02 15:15:00"
"2010/02/02 16:15:00"
"2010/02/02 17:15:00"
"2010/02/02 18:15:00"
"2010/02/02 19:15:00"
x
(y <- strptime(x, "%Y/%m/%d %H:%M:%S"))
length(x); length(y)
実行結果は以下の通り
> x
[1] 2010/02/02 00:15:00 2010/02/02 01:15:00 2010/02/02 ...
[6] 2010/02/02 05:15:00 2010/02/02 06:15:00 2010/02/02 ...
[11] 2010/02/02 10:15:00 2010/02/02 11:15:00 2010/02/02 ...
[16] 2010/02/02 15:15:00 2010/02/02 16:15:00 2010/02/02 ...
20 Levels: 2010/02/02 00:15:00 2010/02/02 01:15:00 2010/...
> (y <- strptime(x, "%Y/%m/%d %H:%M:%S"))
[1] "2010-02-02 00:15:00" "2010-02-02 01:15:00" "2010-0...
[5] "2010-02-02 04:15:00" "2010-02-02 05:15:00" "2010-0...
[9] "2010-02-02 08:15:00" "2010-02-02 09:15:00" "2010-0...
[13] "2010-02-02 12:15:00" "2010-02-02 13:15:00" "2010-0...
[17] "2010-02-02 16:15:00" "2010-02-02 17:15:00" "2010-0...
> length(x); length(y)
[1] 20
[1] 20
ちゃんと,両方とも長さ 20 ですけどねぇ。~
もし,length(y) が 9 だとして,じゃああ,y[1] をプリント...
- わざわざデータをscan()で打ち込んで頂き大変感謝いたしま...
以下のようにそのままコピーしても同じ結果になりました。
> x <- factor(scan("", what=""))
1: "2010/02/02 00:15:00"
2: "2010/02/02 01:15:00"
3: "2010/02/02 02:15:00"
4: "2010/02/02 03:15:00"
5: "2010/02/02 04:15:00"
6: "2010/02/02 05:15:00"
7: "2010/02/02 06:15:00"
8: "2010/02/02 07:15:00"
9: "2010/02/02 08:15:00"
10: "2010/02/02 09:15:00"
11: "2010/02/02 10:15:00"
12: "2010/02/02 11:15:00"
13: "2010/02/02 12:15:00"
14: "2010/02/02 13:15:00"
15: "2010/02/02 14:15:00"
16: "2010/02/02 15:15:00"
17: "2010/02/02 16:15:00"
18: "2010/02/02 17:15:00"
19: "2010/02/02 18:15:00"
20: "2010/02/02 19:15:00"
21:
Read 20 items
> x
[1] 2010/02/02 00:15:00 2010/02/02 01:15:00 2010/02/02 0...
[4] 2010/02/02 03:15:00 2010/02/02 04:15:00 2010/02/02 0...
[7] 2010/02/02 06:15:00 2010/02/02 07:15:00 2010/02/02 0...
[10] 2010/02/02 09:15:00 2010/02/02 10:15:00 2010/02/02 ...
[13] 2010/02/02 12:15:00 2010/02/02 13:15:00 2010/02/02 ...
[16] 2010/02/02 15:15:00 2010/02/02 16:15:00 2010/02/02 ...
[19] 2010/02/02 18:15:00 2010/02/02 19:15:00
20 Levels: 2010/02/02 00:15:00 ... 2010/02/02 19:15:00
> (y <- strptime(x, "%Y/%m/%d %H:%M:%S"))
[1] "2010-02-02 00:15:00" "2010-02-02 01:15:00" "2010-02...
[4] "2010-02-02 03:15:00" "2010-02-02 04:15:00" "2010-02...
[7] "2010-02-02 06:15:00" "2010-02-02 07:15:00" "2010-02...
[10] "2010-02-02 09:15:00" "2010-02-02 10:15:00" "2010-0...
[13] "2010-02-02 12:15:00" "2010-02-02 13:15:00" "2010-0...
[16] "2010-02-02 15:15:00" "2010-02-02 16:15:00" "2010-0...
[19] "2010-02-02 18:15:00" "2010-02-02 19:15:00"
> length(x); length(y)
[1] 20
[1] 9
その一方で、以下に問題はありません。
> y[1]; y[9]
[1] "2010-02-02 00:15:00"
[1] "2010-02-02 08:15:00"
> y[10]
[1] "2010-02-02 09:15:00"
> y[15]; y[20]
[1] "2010-02-02 14:15:00"
[1] "2010-02-02 19:15:00"
問題となるのは以下のような場合です。
> m <- data.frame(V1=1:20, V2=1:20)
> m[,1] <- x
> m[,2] <- y
Warning message:
In `[<-.data.frame`(`*tmp*`, , 2, value = list(sec = c(0...
provided 9 variables to replace 1 variables
ただ、原因の一つは旧バージョンのRを使っていることに原因の...
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-pc-mingw32
locale:
LC_COLLATE=Japanese_Japan.932;LC_CTYPE=Japanese_Japan.932;
LC_MONETARY=Japanese_Japan.932;LC_NUMERIC=C;LC_TIME=Japa...
attached base packages:
[1] stats graphics grDevices utils datasets me...
以下の環境だと問題なくうまくいきます。
> sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: i386-pc-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=Japanese_Japan.932 LC_CTYPE=Japanese_Jap...
[3] LC_MONETARY=Japanese_Japan.932 LC_NUMERIC=C ...
[5] LC_TIME=Japanese_Japan.932
attached base packages:
[1] stats graphics grDevices utils datasets me...
ただ、R 2.8.1 でしか動作しないpackageを使用したいという事...
その他の環境は以下の通りです
Microsoft Windows XP
Professional
Version 2002
Service Pack 3
Intel(R) Core(TM)2 Duo CPU
E6850 @ 3.00GHz
2.99 GHz、1.95 GB RAM -- [[やまだ]] &new{2012-11-25 (日)...
- 挙げられた問題を解決するのが質問の目的ではなく,解決す...
- 既出 [[POSIXlt の bug ? :http://www.okada.jp.org/RWiki...
**barplotやbwplotにおける因子(項目)の並べ替え [#n59bc897]
>[[atr]] (2012-11-20 (火) 19:25:14)~
~
お世話になります。~
lab <- sample(rep(c("亜","い","u","エ","O"), length.out...
sp <- runif(10, min=0, max=7)
DF1 <- data.frame(lab, sp)
MEAN1 <- tapply(DF1$sp, DF1$lab, mean)
barplot(MEAN1)
にて描画される棒グラフのバーの並び順を例えば左から「"亜",...
低い検索スキルのせいかRjpwiki内では見つかりませんでした。...
//
- factor 変数のカテゴリーの順序は,factor 関数で自分で決...
layout(matrix(1:2, 2))
par(mgp=c(1.6, 0.8, 0), mar=c(2, 2, 0, 0))
lab <- sample(rep(c("亜","い","u","エ","O"), length.out...
sp <- runif(10, min=0, max=7)
DF1 <- data.frame(lab, sp)
MEAN1 <- tapply(DF1$sp, DF1$lab, mean)
barplot(MEAN1)
DF1$lab<-factor(lab, c("亜","い","u","エ","O")) # ここ...
MEAN1 <- tapply(DF1$sp, DF1$lab, mean)
barplot(MEAN1)
layout(1)
&ref(factor.png);~
例が,余りにも適切に選ばれているので,やらせのようにみえ...
- bwplotもご教授頂いた形のfactor変数を渡すことで狙い通り...
**SVMの結果がsummaryとtableで違う [#i80d7620]
>[[P]] (2012-11-13 (火) 16:00:14)~
~
はじめまして。よろしくお願いします。~
今、問題になっているコードは以下の部分です。
library(e1071)
(eeg.svm <- svm(NAME~.,data=zz,cross=7))#svm
summary(eeg.svm)
pred2 <- predict(eeg.svm, zz)
table(pred2,zz[,1])
zzは、1列目NAMEに人物名(イニシャル)が入っており、2〜120...
~
このデータをsvmにかけて、個人の判別を行おうとしています。~
そこで、summary(eeg.svm)を実行し結果を見ると
Call:
svm(formula = NAME ~ ., data = zz, cross = 7)
Parameters:
SVM-Type: C-classification
SVM-Kernel: radial
cost: 1
gamma: 0.0008333333
Number of Support Vectors: 50
( 10 10 10 10 10 )
Number of Classes: 5
Levels:
m N o u y
7-fold cross-validation on training data:
Total Accuracy: 62
Single Accuracies:
42.85714 85.71429 42.85714 57.14286 85.71429 42.85714 75
と出てきて、Accuracyが62%だとわかります。~
では、その内訳がどうなっているのか、と予想からクロス表を...
pred2 <- predict(eeg.svm, zz)
table(pred2,zz[,1])
を実行してみると、
pred2 m N o u y
m 8 0 0 0 0
N 2 10 1 0 0
o 0 0 9 0 0
u 0 0 0 10 0
y 0 0 0 0 10
と出てきます。このクロス表によればAccuracyは94%です。~
なぜ、このように違った結果が出てしまうのでしょうか?~
~
見辛い文章になっていたら申し訳ありません。(←編集し直しま...
ご回答よろしくお願いします。~
//
- 「7-fold cross-validation on training data」って書いて...
- 以下のようなプログラムで,「でたらめなデータ」を解析し...
set.seed(12345)
zz <- data.frame(NAME=rep(c("m", "N", "o", "u", "y"), 10),
matrix(rnorm(50*1200), 50))
library(e1071)
eeg.svm <- svm(NAME~., data=zz, cross=7) # svm
summary(eeg.svm)
pred2 <- predict(eeg.svm, zz)
table(pred2, zz[,1])
やはり,データ数より変数の数が多いのでそういうことになる...
- 通りすがりの仮面ライダー様、河童の屁は,河童にあらず,...
- クロスバリデーションは,判別ルールを構築/検証する段階で...
**「NULL に対して属性を設定しようとしました」のエラーメッ...
>[[佐藤]] (2012-11-07 (水) 22:38:03)~
~
初めまして。今回、初めて投稿させて頂きます。~
現在とあるシステムのエラー原因が分からず困っております。~
ご指南を宜しくお願いします。~
~
<状況>~
4年前からあるシステムを運用していて、Rのソースを一切変え...
~
下記のエラー内容を見て、原因が分かれば教えて頂けないでし...
~
<ログファイルからのエラー直後の箇所を抜粋>
if (nrow(tDatStdModelPros) > 0) {
res <- by(tDatStdModelPros, factorList,
function(x) analyticalPerspectiveByStdMode...
stdPredictPros[(stdPredictPros[,"COLUMN_3"...
indexInfo[x[1,"COLUMN_3"],"COLUMN_11"],
stdModelProsList[x[1,"COLUMN_2"],], startY...
# 結果が List なので matrix に変換
colName <- c("COLUMN_1",
"COLUMN_2",
"COLUMN_3",
"COLUMN_4",
"COLUMN_5",
"COLUMN_6",
"COLUMN_7",
"COLUMN_8",
"COLUMN_9",
"COLUMN_10")
predictValProsStd <- matrix(unlist(res), ncol=10,
byrow = TRUE, dimnames = list(NULL, colName))
predictValProsStd[,"COLUMN_9"] <- 3
predictValProsStd[,"COLUMN_6"] <- 2
rm( res)
}
以下にエラーmatrix(unlist(res), ncol = 10,
byrow = TRUE, dimnames = list(NULL, :
NULL に対して属性を設定しようとしました
実行が停止されました~
//
- res に付値したあと,res がどうなっているか(期待してい...
- tDatStdModelPros?, factorList のデバッグを実施しようと...
- print を使うか,必要な要素について cat でよいでしょう。...
> x <- list(a=1:3, b="abc")
> print(x)
$a
[1] 1 2 3
$b
[1] "abc"
> cat(x$a)
1 2 3
> cat(x$b)
abc
- print()を使い、res,DatStdModelPros, factorListの値をチ...
- > そもそもエラーと出力されている「NULL に対して属性を設...
> a <- NULL
> attributes(a) <- list(a="aaa")
> a
list()
attr(,"a")
[1] "aaa"
なんてやっても,エラーも出ないし,然るべき結果になるわけ...
- 再度確認したところ、resの返却値にNULLが含まれておりまし...
- > by()はどういう使い方をsるうのでしょうか?&br;オンラ...
**Jaccard係数(類似度)計測後のデンドログラム描画方法を教...
>[[mura]] (2012-11-07 (水) 14:18:02)~
~
はじめまして。R初心者の大学院生で、修士論文のデータ整理で...
~
実は、Jaccard(ジャッカード)係数で約10個のデータの相互...
スケールは、ジャッカード係数なのでデータは最大値は1.0で最...
~
今、10個のデータ間のジャッカード係数を計算してある縦横...
Rについては超初心者で、本を見ながら練習をはじめたばかりで...
大変お手数ですが関数とその他引数も含めてどのようにすれば...
どうぞ宜しくお願い致します。~
//
- よく分からないが、対称行列からデンドログラムを描くなら...
> set.seed(1234)
> x <- round(cor(matrix(runif(25), 5)), 1)
> row.names(x) <- colnames(x) <- LETTERS[1:5]
> x
A B C D E
A 1.0 -0.3 -0.4 -0.9 -0.4
B -0.3 1.0 0.5 0.3 -0.4
C -0.4 0.5 1.0 0.2 -0.3
D -0.9 0.3 0.2 1.0 0.6
E -0.4 -0.4 -0.3 0.6 1.0
という対称行列があったとして、
> library(rioja)
> plot(chclust(as.dist(x)), hang = -1, horiz = TRUE)
&ref("chclust01.png");
日頃、デンドログラムを描くことがないので、今までplot.hclu...
**インストール済みのパッケージのアーカイブ化(zip形式) [#g...
>[[わnがねぇー]] (2012-10-27 (土) 11:23:59)~
~
最近、CRAN より、インストールしたパッケージが、CRANサイ...
~
新しいPCに、Rをインストールしているのですが、このパッケ...
~
ンストール済みのパッケージをアーカイブ化(zip形式)して、...
//
- だれか持ってるかもしれないから、ここで告知してみたらい...
- バイナリのパッケージをインストールしているなら、インス...
- まずは,そのパッケージ名を明記すれば? -- [[河童の屁は...
**長さの異なるベクトルを渡した時の"関数の引数"と"配列の要...
>[[satto]] (2012-10-26 (金) 02:26:34)~
~
初めて投稿させて頂きます~
以下のコードを実行した時に表示される要素番号とその要素が...
xn <- 2
yn <- 3
zn <- 4
a <- c(1:(xn*yn*zn))
dim(a) <- c(xn, yn, zn)
f1 <- function(x, y, z) {
cat("a[x,y,z] : ")
cat(
sprintf("[%d,%d,%d]=%2d,",
x, y, z, a[x,y,z])
)
cat("\n")
}
f1(1:xn, 1:yn, 1:zn)
おそらく、sprintf()の書式指定子に渡される順序と、配列の[]...
//
- コードの書き込みが崩れてますね、すみません慣れていない...
- > すみません慣れていないもので&br;直しておきます。揚げ...
> for (k in 1:zn) {
+ for (j in 1:yn) {
+ for (i in 1:xn) {
+ f1(i, j, k)
+ }
+ }
+ }
- どうもお手数をかけました、先頭にスペースでコードの引用...
**回帰分析の繰り返し処理のやり方について [#b73b794d]
>[[悩むぽー]] (2012-10-24 (水) 20:15:37)~
~
お世話になります。~
処理を繰り返すには、for ループを使えばいいんだろうな?と...
例えば、回帰分析の結果を変数の組み合わせで、数十回繰り返...
~
変数ABとvariable1の回帰分析をするとして、変数ABとn個の異...
RegModel.1 <- lm(AB~variable1, data=dataset)
summary(RegModel.1)
RegModel.2 <- lm(AB~variable2, data=dataset)
summary(RegModel.2)
RegModel.3 <- lm(AB~variable3, data=dataset)
summary(RegModel.3)
//
- 全ての結果を違う名前のオブジェクトに取っておく必要があ...
以下のようなデータフレーム dataset があるとして,
AB variable1 variable2 variable3 variable4 variable5 v...
1 60 47 51 67 50 46 ...
2 50 57 51 51 70 54 ...
3 38 44 34 48 33 67 ...
4 38 66 46 46 38 48 ...
:
こんなふうにやる
n <- 9
for (i in 1:n) {
str <- sprintf("RegModel.%i <- lm(AB ~ variable%i, dat...
i, i, i)
eval(parse(text=str))
}
別のやり方は,簡単。
ans <- lapply(dataset[,2:10], function(x) lm(dataset$AB~...
lapply(ans, summary)
ans はリストオブジェクトになります。~
どっちがよいですか? -- [[河童の屁は,河童にあらず,屁で...
- ご教示ありがとうございます。今はRとEXCELLを交互に使いな...
- あっという間の処理で、驚いてしまいました。ありがとうご...
- > ロジスティック回帰を実行するにはどう書けば&br;制御の...
- ありがとうございます。ご教示の通りと思うのですが、エラ...
- 原因が分かりました。式の中に余計なスペースが入っていま...
**年次別データの欠損年の自動補間 [#ma25c780]
>[[atr]] (2012-10-23 (火) 19:20:06)~
~
お世話になります。~
下記のように、'00〜'02年、'04年は測定実施、'03年測定せず...
yr <- sample(rep(c(2000:2002, 2004), length.out=10), 10)...
sp <- runif(10, min=0, max=7)
DF1 <- data.frame(yr, sp)
MEAN1 <- tapply(DF1$sp, DF1$yr, mean)
barplot(MEAN1)
上記barplot(MEAN1)のように'02年の次が'04年とならず、下記b...
DF2 <- DF1
DF2[(nrow(DF2)+1), ] <- c(2003, 0) # '03年平均ゼロ化(便...
MEAN2 <- tapply(DF2$sp, DF2$yr, mean)
barplot(MEAN2) #狙いの出力
測定ナシの年のデータを手動追加で作成、はデータが膨大であ...
//
- 以下のような関数を作ればよいかと。 -- [[河童の屁は,河...
set.seed(123)
yr <- sample(rep(c(2000:2002, 2004), length.out=10), 10)...
sp <- runif(10, min=0, max=7)
DF1 <- data.frame(yr, sp)
MEAN1 <- tapply(DF1$sp, DF1$yr, mean)
func <- function(MEAN1) { # 飛び値のあるデータ
Names <- as.numeric(names(MEAN1))
MEAN2 <- numeric(diff(range(Names))+1)
MEAN2[Names-Names[1]+1] <- MEAN1
names(MEAN2) <- Names[1]:Names[length(Names)]
return(MEAN2) # 飛び値には 0 を補完したデータを返す
}
MEAN2 <- func(MEAN1)
barplot(MEAN2)
または,yr を,最大・最小を指定して factor にして以下のよ...
set.seed(123)
yr <- sample(rep(c(2000:2002, 2004), length.out=10), 10)...
sp <- runif(10, min=0, max=7)
yr <- factor(yr, levels=min(yr):max(yr))
MEAN1 <- tapply(sp, yr, mean)
barplot(MEAN1)
お好きな方を
- 例えば、こんな感じ?0という測定値が観測されたのではなく...
barplot(MEAN1[as.character(2000:2004)], names.arg=2000:2...
- ご教授ありがとうございました。tapply、factor、barplot等...
**パッケージvcdのモザイクプロットに関するいくつかの疑問 [...
>[[vcd初心者]] (2012-10-23 (火) 17:43:10)~
~
お世話になります。~
Windows 7上でR i386 2.15.1を使って、vcd_1.2-13を試してい...
パッケージvcdのモザイクプロットに関して、いくつか疑問があ...
library(vcd)
mosaic(Titanic)
とすると、描画領域全体に広がるプロットが作成されますが、...
tab <- matrix(c(10, 30, 40, 60, 70, 30), nrow=3, byrow=T)
dimnames(tab) <- list(Size=c("S", "M", "L"), Gender=c("M...
mosaic(tab, split_vertical=T)
正方形の領域にしかプロットされません。~
これを描画領域全体に広げるにはどうしたらよいのでしょうか。~
~
また、度数を各セルに表示しようとして、次のように入力する...
mosaic(tab, split_vertical=T, labeling=labeling_cells(te...
度数は表示されるのですが、変数名と水準名のラベルが消えて...
最低、水準名は表示したいのですが、どうしたらよいのでしょ...
~
さらに、ラベルを日本語で表示しようとして、次のように入力...
> dimnames(tab) <- list(サイズ=c("S", "M", "L"), 性別=c(...
> mosaic(tab, split_vertical=T)
以下にエラー grid.Call.graphics(L_downviewport, name$na...
Viewport 'cell:サイズ=S' was not found
とエラーになってしまいます。日本語が通らないようなのです...
~
以上、長々と申し上げましたが、どなたか解決策を御教示いた...
//
- basic な描画関数によるものではないので,対処が難しいで...
**関数の引数の値の有効性の確認方法の教授願い [#zf111fcc]
>[[ひろ]] (2012-10-23 (火) 12:02:25)~
~
関数の引数(パラメータ)aの値がvalidか否かで処理をif分岐...
~
というのもexists("a")とするとTRUEが返りますが,他is.na,is...
~
■ 追加ソースコード
test<-function(a,b){
browser()
missing(a) # TRUE
missing(b) # FALSE
print(exists("a")) # TRUE
print(exists("b")) # TRUE
print(ls(a)) # [1] "a" "b"
print(ls(b)) # 正常にオブジェクト一覧表示
print(search(a)) # wrapup 中にエラーが起こりました
# 使われていない引数 (a)
print(search(b)) # wrapup 中にエラーが起こりました
# 使われていない引数 (b)
is.na(a) # wrapup 中にエラーが起こりました
# オブジェクト 'a' があ...
is.na(b) # FALSE
}
test(b=1)
//
- aの居る環境をsearchとlsで調べてみては?自分の場所はenvi...
- 何をどうやったらそういう結果になるのかを再現できる最小...
- 引数チェックの話ですよね?if(missing(a)){引数aに値が設...
- 名無しの方,拙い説明を理解していただきましてありがとう...
- 頂いた回答(missing関数)を,河童の屁は,河童にあらず,...
- へぇ、以前はデフォルト値が指定されてない引数を与えずに...
- 以前ってどのくらい以前でしょうか?間瀬先生らが翻訳された...
- missing() で TRUE になった引数は,渡されていないのだか...
> test <- function(a, b) {
+ if (missing(a) || missing(b)) stop("Error 1")
+ else if(a < 0 || b < 10) stop("Error 2")
+ return(a + b)
+ }
> test(a=13)
以下にエラー test(a = 13) : Error 1
> test(b=1)
以下にエラー test(b = 1) : Error 1
> test(a=3, b=9)
以下にエラー test(a = 3, b = 9) : Error 2
> test(a=-10, b=20)
以下にエラー test(a = -10, b = 20) : Error 2
> test(a=50, b=100)
[1] 150
> test(10, 30)
[1] 40
- あぁ、なるほど。自作で定義した関数では出ないんですね。...
**添え字が許される範囲か否かを確かめる方法 [#odfb4e5c]
>[[ひろ]] (2012-10-23 (火) 10:46:51)~
~
添え字が許される範囲か否かを確かめる方法はありますでしょ...
~
■ 試行内容:~
SVMといった機械学習を用い,弁別予測・正解結果より精度を算...
~
ところが,結果の行列の構成が結果で異なります.
下記の様に,"正常","異常"の2つの行列が通常現れる
pred 異常 正常
異常 100 0
正常 0 100
ところが予測結果が悪いと次のように"異常"のみ現れ,"正常"...
pred 異常 正常
異常 100 100
//
- 行名・列名がない場合は行列の大きさを求めて,使おうとす...
- 河童の屁は,河童にあらず,屁である。様.添字があるか否...
**hclustの各labelsの枝の長さ [#y58eb179]
>[[kin]] (2012-10-23 (火) 07:59:59)~
~
お世話になります。~
~
hclustで樹形図を作成しています。~
~
今回の質問は、各ラベルから延びている枝の高さを得たいので...
→ 各ラベルに直接接続している枝の高さです。
dat.hc <- hclust(dat, method="ward")
とした場合、dat.hc$heightで各クラスターごとの枝の高さが得...
~
アドバイスなど頂ければ幸いです。~
宜しくお願いします。~
//
- > いまいちスマートなスクリプトが思い浮かびません&br;正...
> set.seed(4649)
> d <- data.frame(x=rnorm(10), y=rnorm(10), z=rnorm(10))
> a <- hclust(dist(d), method="ward")
> plot(a, hang=-1)
> cbind(
+ a$order,
+ sapply(a$order, function(x) {
+ a$height[which(a$merge == -x, arr.ind=TRUE)[1]]
+ })
+ )
[,1] [,2]
[1,] 9 4.161608
[2,] 7 1.761123
[3,] 1 1.093749
[4,] 3 1.093749
[5,] 6 1.310064
[6,] 10 1.310064
[7,] 4 3.018550
[8,] 2 1.690142
[9,] 5 1.290380
[10,] 8 1.290380
- 河童の屁は,河童にあらず,屁である。様 早速のご回答あ...
**K-meansの結果出力 [#h1386caa]
>[[Micheal]] (2012-10-23 (火) 05:09:56)~
~
dataset <- 1:100
x <- matrix(dataset, 50, 2)
w <- km <- kmeans(x, 2)
の結果得られるClustering vectorを出力したくて
write(w, file="result.txt", ncolumns=1)
としたのですが、うまく出力する事が出来ません。ご示唆を頂...
//
- write(w$cluster, file="result.txt", ncolumns=1) でしょ...
- どうもありがとうございました。 -- [[Micheal]] &new{2012...
**mvpartによる決定木描画時の凡例について [#e4599871]
>[[SKYLINE]] (2012-10-20 (土) 21:54:00)~
~
http://mjin.doshisha.ac.jp/R/19.pdfを参考に mvpart 関数を...
library(mvpart)
iris.rp <- mvpart(Species~., data=iris)
plot(iris.rp, uniform=TRUE, branch=0.6, margin=0.05)
text(iris.rp, all=T, use.n=TRUE)
ところが、上記のサイトのような凡例 (色と品種の対応) が表...
どうすれば凡例が表示されるのでしょうか?~
ご教授お願い致します。~
~
環境~
MacOSX 10.8.2~
R 2.15.1~
RStudio 0.96.331~
mvpart 1.6~
//
- text(iris.rp,all=T,use.n=T,legend = T) -- [[okinawa]] &...
- okinawa様 お陰様で凡例が表示されるようになりました。あ...
**数字変換 [#a31d7b4c]
>[[アトム]] (2012-10-19 (金) 07:41:20)~
~
100x250のマトリックス(dim(a)=100, 250)の中に1から9までの...
b <- gsub(3, 10, a)
を実行したのですが上手くいきません。ご示唆を頂ければと思...
//
- このようなことは,R の教科書の最初の方(添え字の使い方...
> set.seed(888)
> a <- matrix(sample(9, 50, replace=TRUE), 10, 5)
> a
[,1] [,2] [,3] [,4] [,5]
[1,] 1 4 6 2 5
[2,] 4 1 9 2 2
[3,] 1 1 9 8 4
[4,] 7 4 7 1 5
[5,] 7 7 8 4 3
[6,] 1 9 6 3 8
[7,] 4 7 6 1 8
[8,] 3 3 2 9 3
[9,] 1 8 3 4 4
[10,] 9 7 8 4 1
> a[a==3] <- 10
> a
[,1] [,2] [,3] [,4] [,5]
[1,] 1 4 6 2 5
[2,] 4 1 9 2 2
[3,] 1 1 9 8 4
[4,] 7 4 7 1 5
[5,] 7 7 8 4 10
[6,] 1 9 6 10 8
[7,] 4 7 6 1 8
[8,] 10 10 2 9 10
[9,] 1 8 10 4 4
[10,] 9 7 8 4 1
**0から始まるデータの読み込み [#s0fafb4d]
>[[ひろ]] (2012-10-18 (木) 13:01:50)~
~
何時も参考にさせて頂いています。R初心者です。x<-c(034, 02...
//
- 数値ではなく文字列として読み込めばよいです。 -- &new{2...
> (x <- c("034", "0223", "098", "076", "054"))
[1] "034" "0223" "098" "076" "054"
**半角と全角混在文字列のバイト数 [#n95b4da6]
>[[kin]] (2012-10-18 (木) 10:44:24)~
~
お世話になります。~
日本語のフレーズを指定文字数で改行したいと考えています。~
しかし、ncharでは半角全角も1文字と判断するので半角と全角...
バイト単位で文字数を得るような関数はありませんか?~
宜しくお願いします。~
//
- ncharのオプションにありましたね。type="bytes" (ヘルプ...
**出現回数の計算法 [#j21ad186]
>[[Micheal]] (2012-10-18 (木) 09:04:32)~
~
R初心者です。ランダムな組み合わせの数字が入ったデータフレ...
y <- c(897, 34565, 32, 1,345, 324, 98765, 808, 897, 808,...
length(y)=30000
この中から同じ組み合わせの数字が幾つ出現しているかを調べ...
~
(組み合わせの数字,出現回数)
808, 2
1345, 35
32, 3
…
です。よろしくお願い致します。~
//
- 同じ組み合わせの数字ってのが何のことかわからないのです...
- 通りすがりの仮面ライダー様、返信ありがとうございました...
- write.csv(as.data.frame(table(y)), file="resultramdon.c...
**異なる列数のデータフレームの連結 [#y113c049]
>[[ひろ]] (2012-10-15 (月) 15:12:54)~
~
いくつかの列は同じ列名で,幾らか異なる列名のdata.frameを2...
~
例えば,data.frame1とdata.frame2があるとします.2つの行連...
~
data.frame1:
A C D
1 1 2 3
2 4 5 6
data.frame2:
A B C D
1 7 8 9 10
2 11 12 13 14
data.frame.Answer(<- data.frame1+data.frame2)
A B C D
1 1 NA 2 3
2 4 NA 5 6
3 7 8 9 10
4 11 12 13 14
//
- data.frame.Answer <- merge(data.frame1, data.frame2, al...
- 河童の屁は,河童にあらず,屁である。様,質問の度回答お...
- これに関係しているので教えていただけると助かるのですが...
- merge の過程においてということは必要ないと思いますが,...
> a
A C D E F
1 1 2 3 1 4
2 4 5 6 4 6
> b
A B C D X
1 7 8 9 10 4
2 11 12 13 14 9
> (n.a <- colnames(a)) # 列名を取り出す
[1] "A" "C" "D" "E" "F"
> (n.b <- colnames(b)) # 列名を取り出す
[1] "A" "B" "C" "D" "X"
> setdiff(n.a, n.b) # a にあって b にない列
[1] "E" "F"
> a[setdiff(n.a, n.b)] # a から取り出す
E F
1 1 4
2 4 6
> setdiff(n.b, n.a) # b にあって a にない列
[1] "B" "X"
> b[setdiff(n.b, n.a)] # b から取り出す
B X
1 8 4
2 12 9
> intersect(n.a, n.b) # 両方に共通する列
[1] "A" "C" "D"
> a[intersect(n.a, n.b)] # a から取り出す
A C D
1 1 2 3
2 4 5 6
> b[intersect(n.a, n.b)] # b から取り出す
A C D
1 7 9 10
2 11 13 14
- 河童の屁は,河童にあらず,屁である。様.お世話になって...
**コンソール画面の更新 [#f39bdb0c]
>[[kin]] (2012-10-14 (日) 07:25:10)~
~
時間がかかる処理の進行状況がわかるようにcatにてコンソール...
しかし、コンソール画面の行数が26行とすると、そこまでの出...
RGUI設定のbuffer console by deault?のチェックは外していま...
~
現在は、事前に改行(\n)を26個くらい出力することで対応して...
//
- コンソール画面の行数を数行にしておけばよいのでは?&br;...
- コメント有難うございました。flush.console()ではうまくい...
- ちゃんと処理しているのか気になりますよね。こここ、参考...
- winProgressBarのご紹介有難うございました。この関数はこ...
**geoRでのバリオグラム作成について [#u7e0a03f]
>[[cet]] (2012-10-14 (日) 01:46:07)~
~
はじめまして。いつもこちらを参考にさせていただいています。~
R初心者なのですが、どうしても研究でKrigingによる空間補間...
緯度、経度、値の情報が入ったcsvを読み込みchl200708という...
~
このような形式のデータを使用しております。
> head(ttt200708)
lon lat ttt
1 140.042 54.958 0.73995
2 140.083 54.958 0.74817
3 140.125 54.958 0.74817
4 140.167 54.958 0.77717
5 140.208 54.958 0.77717
6 140.250 54.958 0.78524
(7~57690行目は省略いたします)
このデータをパッケージgeoRコマンドを用いて
testgeo <- as.geodata(ttt200708)
でgeodataの形式にすることはできました。~
しかし、距離行列を計算しようとすると”負の長さのベクトルは...
同様に、バリオグラムを作成しようとすると
> vario1 <- variog(testgeo,max.dist=0.1)
variog: computing omnidirectional variogram
以下にエラー dist(as.matrix(coords)) : 負の長さのベク...
となってしまいます。緯度・経度の並び順が悪いのかと思い、...
オンラインでもこの間違いの解決方法を探したのですが、みつ...
~
勉強不足なのはわかっているのですが、どこかにこの解決方法...
もし、解決方法をご存知でしたら、教えてください。~
どうぞよろしくお願いいたします。~
//
- いろいろやってみましたが,エラーが再現できません。「緯...
- 河童の屁は,河童にあらず,屁である。様 ご丁寧なアドバ...
> testgeo2 <- as.geodata(ttt200708_2)
> vario1 <- variog(testgeo2,max.dist=0.1)
variog: computing omnidirectional variogram
エラー:サイズ2.9Gbのベクトルを割り当てることができ...
追加情報: 警告メッセージ: 1:In as.vector(dist(a...
Reached total allocation of 8072Mb : see help (momo...
というエラーがでました。これを調べてみたところ、データが...
- データを35000行ほどにすると、一応バリオグラムを作ること...
- > データが大きすぎるということは、小さな区画に分けて解...
以下にエラー dist(as.matrix(coords)) : 負の長さのベクト...
Mac の 64 bit 版の R ですが,この条件じゃあお手上げかな。...
- 河童の屁は,河童にあらず,屁である。様 本当にありが...
**tickの長さ [#j8f1bffd]
>[[MY]] (2012-10-12 (金) 02:50:04)~
~
いつもお世話になっております。~
plot関数などの作図関数を使ってグラフのx軸、y軸の目盛りの...
どうぞよろしくお願い致します。~
//
- オンラインヘルプを見ましょう。? par によって,あなたが...
- どうもありがとうございました。parのhelpには作図の色々な...
**合計値 [#c9e67f4f]
>[[Micheal]] (2012-10-11 (木) 07:40:43)~
~
R初心者の者です。~
~
>dataset=c(1,9,2,7,72,3,7,99,21,20,11,12,122,45,198,334,4...
(要素数は100個)というデータセットにおいて、前から順に5...
//
- 5×20の行列にして,colSums を使えばよいでしょう(20×5の...
> dataset <- 1:100 # データ例
> x <- matrix(dataset, 5, 20) # 行列を作る
> x[,1:4]
[,1] [,2] [,3] [,4] 5 列目以降は略
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 13 18
[4,] 4 9 14 19
[5,] 5 10 15 20
> colSums(x) # 列方向に(5 個ずつの要素...
[1] 15 40 65 90 115 140 165 190 215 240 265
[12] 290 315 340 365 390 415 440 465 490
- 河童の屁は、河童にあらず、屁である様、ありがとうござい...
- > 行列を作ってみたら各要素がInteger,20と表示され、上手...
- あなたが,dataset=c(1,9,2,7,72,3,7,99,21,20,11,12,122,4...
例えば,d <- data.frame(dataset=c(1,9,2,7,72,3,7,99,21,20...
そりゃ,そういうことをすれば,"Integer,20" みたいなのを要...
質問も,ちゃんとしないと,正解は出ませんよ。~
データフレームの要素(列)を使って行列を作るには,x <- ma...
**各行のカウントの仕方について [#ef1d09f7]
>[[sheet]] (2012-10-09 (火) 23:11:19)~
~
24行x500列の時系列データ(=data)で、1〜24行の各行が時間、1...
(data[,1]=(10,10,10,10,10,10,10,10,4,4,2,2,2,2,2,2,2,2,2...
~
これらのデータから各要素(1から10)の各時間毎の総計(rowSum...
data[,1]=(1,10,10,10,10,10,10,4,4,4,2,2,2,2,2,2,2,2,2,2,...
data[,2]=(10,10,10,10,10,10,10,10,4,4,4,4,2,2,2,2,2,2,2,...
data[,3]=(10,10,10,10,3,3,4,4,4,4,2,2,2,2,2,2,2,2,2,2,3,...
というデータセットにおいては、第一行のrowSums(data==10)=2...
~
ここでdata[,1]では第一行に1が初めて現れているので、3つの...
~
しかし第二行を見てみると、data[,1]では10という要素が「新...
~
何かご示唆を頂ければと考えております。よろしくおねがいし...
//
- 「第二行のrowSums(data==10)は2となる様に計算」というの...
他にも説明のおかしいところがありますが,要するに「新しく...
> d <- cbind(c(1,10,10,10,10,10,10,4,4,4,2,2,2,2,2,2,2,2...
+ c(10,10,10,10,10,10,10,10,4,4,4,4,2,2,2,2,2,2,2,2,3,4,...
+ c(10,10,10,10,3,3,4,4,4,4,2,2,2,2,2,2,2,2,2,2,3,4,4,10))
> d2 <- apply(d, 2, function(x) {
+ y <- c(0, x[1:23])
+ ifelse(x==y, 0, x)
+ })
> d2
[,1] [,2] [,3]
[1,] 1 10 10
[2,] 10 0 0
[3,] 0 0 0
[4,] 0 0 0
[5,] 0 0 3
[6,] 0 0 0
以下略
> rowSums(d2==1)
[1] 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> rowSums(d2==10)
[1] 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
- ありがとうございました。 -- [[sheet]] &new{2012-10-10 (...
- 上と同じ類いのデータで引き続き質問なのですが、同じ数(...
d <- cbind(c(0,0,0,10,10,10,0,0,0,0,0,10,10,10,10),
c(10,10,10,0,0,0,0,0,0,0,0,0,10,10,10),
c(0,10,10,10,10,10,10,0,0,0,0,0,0,0,0))
というデータにおいて、第一行においては10が3回と4回現れ、...
d <- cbind(c(0,0,0,3,3,3,0,0,0,0,0,4,4,4,4),
c(3,3,3,0,0,0,0,0,0,0,0,0,3,3,3),
c(0,6,6,6,6,6,6,0,0,0,0,0,0,0,0))
としたいのですが。よろしくおねがいします。 -- [[sheet]] &...
- スレッドのつじつまが合わなくなったので,もとのコメント...
a <- sapply(apply(d, 2, rle), function(x) {
l <- x[[1]]
v <- x[[2]]
v <- ifelse(v, l, v)
rep(v, l)}
)
a
- 河童の屁は, 河童にあらず, 屁であるさん、どうもありが...
- > 全く同じ条件でdが1000行とか沢山ある場合の繰り返し計算...
- 河童の屁は、河童にあらず、屁であるさん、曖昧な質問の仕...
d <- cbind(c(0,0,0,10,10,10,0,0,0,0,0,10,10,10,10),
c(10,10,10,0,0,0,0,0,0,0,0,0,10,10,10),
c(0,10,10,10,10,10,10,0,0,0,0,0,0,0,0))
というデータにおいて、同じ数(0は除く)が連続で出現した...
a <- sapply(apply(d, 2, rle), function(x) {
l <- x[[1]]
v <- x[[2]]
v <- ifelse(v, l, v)
rep(v, l)}
)
a
これを実行すると:
[,1] [,2] [,3]
[1,] 0 3 0
[2,] 0 3 6
[3,] 0 3 6
以下略
となり期待通りの結果が得られました。~
さて、上の例では3行15列の小さな行列だったのですが、これを...
繰り返し計算法で、Nやiを用いるのかな?という事は想像出来...
- 例で示した d は15×3の行列だったのだけど,それが1300×160...
**時系列データ変換 [#m60af9eb]
>[[Pen]] (2012-10-09 (火) 08:18:53)~
~
時系列データを作っています。各列に個人のIDを振り、各行に...
a <- ts(a, start=0, frequency=1440)
としたら、
第一行:0,000000000
第二行:0,0006944444
第三行:0,0013888889
第四行:0,002083333
....
となってしまいました。~
この数字は一体何なのでしょうか?~
普通の時刻(00:00:00, 00:01:00, 00:02:00)で表示する事は可...
何かアドバイスを頂ければ幸いです。~
//
- > この数字は一体何なのでしょうか?&br;質問が不明瞭なの...
> a <- ts(matrix(rnorm(1440*100), 1440, 100), start=0, f...
> rownames(a) <- substring(as.POSIXct(0:1439*60, origin=...
> a[1:10,1:5]
Series 1 Series 2 Series 3 Series 4...
00:00:00 0.3842177 -0.2572337 0.77637479 -1.4475976202...
00:01:00 1.2847077 0.2472553 -0.33261748 1.8957044334...
00:02:00 -1.8002028 -0.1887225 0.59084323 -0.6793383289...
00:03:00 -0.8671542 0.6765212 0.34528150 -0.0985912968...
00:04:00 0.9490067 -1.7888453 1.01909404 -0.4561435524...
00:05:00 0.8383023 -0.2663956 1.14336704 0.7110252003...
以下略
**計算結果の出力について [#b77f438d]
>[[SP]] (2012-10-09 (火) 07:56:54)~
~
PP.test の繰り返し計算で得られた結果を出力したいのですが...
for (i in 1:3) {
b <- PP.test(a[, i])
print(b)
}
という計算式を作り、得られた結果は
Phillips-Perron Unit Root Test
data: a[, i]
Dickey-Fuller = -3.5585, Truncation lag parameter = 7, p...
Phillips-Perron Unit Root Test
data: a[, i]
Dickey-Fuller = -3.8536, Truncation lag parameter = 7, p...
Phillips-Perron Unit Root Test
data: a[, i]
Dickey-Fuller = -7.0615, Truncation lag parameter = 7, p...
となりました。この P-value だけをまとめて出力したいと思っ...
//
- PP.test(a[, i])$p.value で表示されます。 -- &new{2012-...
- 早速のお返事、どうもありがとうございます。PP.test(a[,i]...
そりゃ,そういうことをすれば,とも同時に表示する方法は無...
- 前回答者は,p 値だけを取り出すにはどうしたらよいかを示...
n <- 1000
a <- matrix(rnorm(500*n), ncol=n)
b <- numeric(n)
for (i in 1:n) {
b[i] <- PP.test(a[,i])$p.value
}
print(b)
のようにしてもよいし,下の「通りすがりの仮面ライダーさん...
- unlist(lapply(apply(a, 2, PP.test), function(x){x$p.val...
- apply(a, 2, function(x) PP.test(x)$p.value) で十分です...
- 河童の屁は, 河童にあらず, 屁である。さん、通りすがりの...
- 通りすがりの仮面ライダーさんのやり方ではどうなります? -...
- 河童の屁は, 河童にあらず, 屁である。さん、unlist(lapp...
- singularities 云々は,PP.test の中で,重回帰分析のため...
- 河童の屁は, 河童にあらず, 屁であるさん、どうもありが...
**散布図のプロットを分散化する方法 [#na6d63de]
>[[yy]] (2012-10-04 (木) 13:17:40)~
~
対応分析や多次元尺度構成法などで散布図を作成しています。~
~
データや解析手法により座標面の一部分に集中してプロットさ...
~
この際に、作成されたプロットデータをスプリングモデルのよ...
~
なにか、アドバイスをいただければ幸いです。~
//
- > ノードの近いものは斥力が発生し、遠いものは引力が発生...
&ref(alpha.png);
- 河童の屁は,河童にあらず,屁である。様 早速のコメント有...
- > 各プロットを正確にクリックできなくなってしまいます&br...
&ref(cmdscale.png);
- 今回の目的の1つにインタラクティブな操作性があります。...
- > あれから各種対応分析を試し、それらの引数を変更するこ...
**引数名の表示 [#q472ddbc]
>[[taked]] (2012-10-03 (水) 18:58:04)~
~
関数の引数名を表示させたいのですが、可能でしょうか?~
下はうまくいっていない例ですが、このような関数を実行した...
yはベクトルです。よろしくお願いします。~
~
y <- c(1.9, 0.8, 1.1, 0.1,-0.1,4.4,5.5,1.6,4.6,3.4)
Data <- function(x){
# cat(names(x))
}
Data(y)
//
- deparse(substitute(argument)) で取り出すことができます...
> y <- c(1.9, 0.8, 1.1, 0.1,-0.1,4.4,5.5,1.6,4.6,3.4)
> Data <- function(x){
+ cat(deparse(substitute(x)), "\n")
+ }
> Data(y)
y
> long.name <- 1:10
> Data(long.name)
long.name
- 解決できました。河童の屁は,河童にあらず,屁である。様...
**線形判別分析をしたいのですが(エラー:variables are col...
>[[P]] (2012-10-03 (水) 15:42:52)~
~
はじめまして。~
線形判別分析を用いて、個人認証システムを実装しようと考え...
元になる波形はcsv形式で保存されており、~
30000行×10列で、1〜5列目が人物yの波形データ、残りが人物m...
eegMY <- matrix() #空の行列を用意
eegMY <- matrix(scan("csvファイルのパス",sep=',',n=30000...
eegMYt <- t(eegMY) #転置する
name <- matrix(, nrow=10, ncol=1) #個人を判別するための...
name[1:5,1] <- "y"
name[6:10,1] <- "m"
x <- cbind(name,eegMYt) #データと個人識別行列を結合する
z <- x[1:10,1:101] #※1
y <- as.data.frame(z) #ldaは行列形式は対応していないので...
library(MASS)
ldadata <- lda(V1~.,data = y) #実行できない(エラー:var...
※1 データが大きすぎるため実行できないようなので、とりあ...
現在このようなコードになっています。~
V1に用意した個人認証用の"y"か"m"が入っているので、それを...
In lda.default(x, grouping, ...) : variables are collinear
という警告メッセージが表示されます。~
どのようにすれば、このプログラムが完成に向かうでしょうか?~
~
この様な、本格的なコードを書くのは初めてなので、見当違い...
//
- 最終的に使われるデータ行列 z は 10行101列ですね?判別分...
- 河童の屁は,河童にあらず,屁である。様、ご返事ありがと...
- SVM では事情が違うかも(要するに,逆行列や,固有値固有...
**1つのグラフを複数ページPDFにしたいのですが [#mbe76358]
>[[yds]] (2012-09-27 (木) 13:50:39)~
~
hclustでデンドログラムを作成しpdfに出力しています。~
pdf(family="Japan1GothicBBB", file="dendorogramTI.pdf", w...
td.hc <- hclust(td.d, method="ward")~
plot(td.hc, cex=0.7, hang=-1, xaxs="i", yaxs="i")~
dev.off()~
~
良し悪しは別として、デンドログラムの項目(要素)が多くなり...
これをA4で3ページの1つのPDFとして出力することはできな...
//
- parとmfrowを使って分割できそうに思います.詳しくは,htt...
- ひろ様、res有難うございます。parとmfrowは、私はこれまで...
**setwd() 後の、Rコードのソースを読み込み… での問題 [#if...
>[[yy]] (2012-09-26 (水) 08:57:07)~
~
windows7 32bit R i386 2.15.0 を使用しています。~
~
Rのショートカットの作業フォルダは以下のようにしてデスク...
"C:/Users/hogehoge/Desktop/R"
その配下にcsvフォルダと、scriptフォルダを作成して、各々cs...
ユーザーは、ファイル → Rコードのソースを読み込み… でscr...
rのスクリプトファイルの最初には、下記のように記載されて...
library(svDialogs)
dirBase <- getwd()
setwd(paste(dirBase, "/csv" , sep=""))
csvfile <- dlgOpen(title="対象のCSVファイルを指定してく...
# 別のスクリプトを連続して実行する場合に備え、scriptフォ...
setwd(paste(dirBase, "/script" , sep=""))
その後、Rのコンソール画面で getwd() すると、
> getwd()~
[1] "C:/Users/hogehoge/Desktop/R/script"
のように正しく変更されています。~
◆ 今困っていることは、ファイル → Rコードのソースを読み込...
その後、ファイルを選択せずにダイアログを閉じ、もう一度、...
◆ これを最初のRコードのソースを読み込み…で C:/Users/hoge...
//
- .Rprofile に setwd("C:/Users/hogehoge/Desktop/R/script"...
- 通りすがりの仮面ライダー様、コメント有難うございました...
**Rの起動時の文言で気になるところ [#g2a52ded]
>[[Montecarlo]] (2012-09-25 (火) 23:10:06)~
~
いつもお世話になっております。~
新しいパソコンへRをインストールしたところ、以前のパソコン...
[以前にセーブされたワークスペースを復帰します]
この文言の意味するところが分からず、何か影響があるのでし...
「ワークスペースを○○したい」のページは見つけましたが、あ...
ご存知の方がいらっしゃいましたら、なにとぞお教えいただけ...
なお「sessionInfo()」は以下の通りです。
> sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: i386-pc-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=Japanese_Japan.932 LC_CTYPE=Japanese_Jap...
[3] LC_MONETARY=Japanese_Japan.932 LC_NUMERIC=C ...
[5] LC_TIME=Japanese_Japan.932
attached base packages:
[1] stats graphics grDevices utils datasets me...
//
- 前回 R を終了したときの状態を回復したと言うことで,気に...
- 河童の屁は、河童にあらず、屁である様 ご回答ありがとう...
**正規表現にマッチした個数 [#q5ddc21d]
>[[yy]] (2012-09-20 (木) 21:15:57)~
~
お世話になります。~
たとえば
x <- "最新のコメントが付いた記事"
とした場合、正規表現を "(最新|記事)" とした場合に「マッ...
よろしくお願いします。~
//
- 仕様に自由度が許されるならば,以下のようにすればどうで...
# 重複があっても 1 回と数える
> x <- "最新のコメントが付いた記事の最初のコメント"
> sum(sapply(c("最新", "記事"), grep, x))
[1] 2
> sum(sapply(c("最新", "記事", "コメント"), grep, x))
[1] 3
# 重複はそれぞれを 1 回と数える
> sum(sapply((sapply(c("最新", "記事"), gregexpr, x)), ...
[1] 2
> sum(sapply((sapply(c("最新", "記事", "コメント"), gre...
[1] 4
- 曖昧な質問になっていましたね。お手数をおかけしました。...
- 訂正です。"[あ-ん]"も文字列ベクトルに変換できますね。正...
- > 検索対象文字列に墨付きカッコ【A001】【B021】・・など...
- また誤解を与えたようですね。正規麩応現式はあくまでも例...
- 河童の屁は,河童にあらず,屁である。様、いろいろ煩わせ...
- length(unlist(gregexpr("最新|記事|コメント", x))) で...
- 河童の屁は,河童にあらず,屁である。様 上記スクリプト...
**3次元分布図のプロットごとに日本語ラベルをつけるには [#...
>[[a.i]] (2012-09-19 (水) 04:32:46)~
~
plot(x, y)
text(x, y, label)
での2次元分布図ではきちんと日本語表示されますが、
plot3d(x, y, z)
text3d(x, y, z, label)
でのrglパッケージで3次元分布図を作成すると日本語の部分だ...
きちんと日本語部分を表示する方法はあるでしょうか。~
よろしくお願いします。~
//
**表作成 [#z2984954]
>[[MY]] (2012-09-18 (火) 11:58:43)~
~
Rを使って表を作成しpngなどのファイルに出力してグラフ化し...
よろしくお願いします。~
//
- え? 表を作って png ファイルに出力する? どういうこと? 表...
- 混乱させて申し訳ありません。私がやりたいことは、例えば...
- グラフィックウインドウに text 関数で描き出し,それを保...
- どうもありがとうございます。表を編集して綺麗にしてから...
- 滅多にないと言うことはどういうことなのかを吟味してみる...
- まあ,そうたびたびやることじゃないなら,エクセルなどで...
- どうもありがとうございます。表を編集して綺麗にしてから...
- 同じ回答が重複しているようなので,以下のような回答も蛇...
&ref(bakaexcel.png);
- 色々と提案をありがとうございます。microsoft power point...
- > いかんせん手入力で表を作成するので時間がかかっていま...
- そうですね。今度からはそうやってみます。どうも有り難う...
**表示される有効桁数(2.0や4.0といった表示方法) [#r81b577e]
>[[taked]] (2012-09-18 (火) 11:12:50)~
~
小数点以下の表示をそろえるため、2.0や4.0を得たいのですが...
よろしくお願い致します~
下の例ではround関数を使っていますが、round関数でなくても...
> round(4.01,digit=0)
[1] 4
> round(4.01,digit=1)
[1] 4
> round(4.01,digit=2)
[1] 4.01
> 4.0
[1] 4
//
- sprintf 関数と cat 関数を使えばよいでしょう。 -- [[河童...
> cat(sprintf("%.1f\n", 4.01))
4.0
> cat(sprintf("%.2f\n", 4.01))
4.01
> cat(sprintf("%.0f\n", pi))
3
> cat(sprintf("%.1f\n", pi))
3.1
> cat(sprintf("%.2f\n", pi))
3.14
> cat(sprintf("%.3f\n", pi))
3.142
> cat(sprintf("%.4f\n", pi))
3.1416
> cat(sprintf("%.5f\n", pi))
3.14159
- 河童の屁は,河童にあらず,屁である。さんありがとうござ...
**biplotの色 [#ucc78643]
>[[超初心者]] (2012-09-14 (金) 15:52:22)~
~
いつも掲示板を参考にしています。~
~
x<-matrix(c(2,2,3,6,2,0,6,7,9,1,4,1,4,2,1,3,5,6,3,2,6,4,...
rownames(x)<-c("みかん","いよかん","はっさく","ぽんかん"...
colnames(x)<-c("あ町","い町","う町","え町")
library(MASS)
x.coa<-corresp(x,nf=4)
biplot(x.coa)
~
上記のようなサンプルで出力されるbiplot図に対して、柑橘類...
~
よろしくお願いします。~
//
- 基本的に,そのようなオプションはないので,プログラムを...
まず,R コンソールに以下を入力(stats の biplot.default ...
biplot.default <- edit(stats:::biplot.default)
出てくるエディット画面で,51行目の
text(x, xlabs, cex = cex[1L], col = col[1L], ...)
を
text(x, xlabs, cex = cex[1L], col = col, ...)
に(col[1L] を col にする)~
60行目の
text(y, labels = ylabs, cex = cex[2L], col = col[2L],...
を
text(y, labels = ylabs, cex = cex[2L], col = col[leng...
に(col[2L] を col[length(col)] にする)~
修正を保存し編集を終了する(「ファイル-->保存」,「ファイ...
果物の色を指定する。~
(color <- rep(c("orange", "pink", "green", "red"), c(4, ...
"orange" が 4 回,"pink" が 3 回,"green" が 2 回。最後に...
biplot の実行を以下のようにする。
biplot(x.coa, col=color)
その他の col[1L],col[2L] もしかるべき値に直した方がよい...
- 河童さん 有り難うございます。こんな情報どうやって探し...
今後ともよろしくお願いします。 -- [[超初心者]] &new{2012-...
- 追加質問です。よろしくお願いします。関数の書き換えは毎...
- > 関数の書き換えは毎回行わなければ、いけないのでしょう...
- 河童さん ご丁寧に有り難うございます。確かに、いつも行...
**Rstudio for Mac で,HRML に含まれる PNG 画像の日本語文...
> (2012-09-11 (火) 15:22:23)~
~
Mac OS X 10.8.1, R 2.15.1,Rstudio 0.96.330 を使っていま...
R コンソールから pdf("file.png"...) のようにして書き出し...
Mac で作った *.Rmd を Windows に持って行って Rstudio で *...
Rstudio for Mac の場合には,フォントファミリーが日本語に...
R コンソールから knit2html から始めて debug でトレースし...
画像に使われるフォントはpar(family="フォント名")で指定し...
par(family="HiraKakuPro-W3")@
とします.
//
**ldaの結果からクロス表を作りたいのですが要素数が合いませ...
>[[ウエモト]] (2012-09-10 (月) 16:15:33)~
~
初めて質問させて頂きます。宜しくお願いします。~
Rを使って線形判別法(lda)によってデータの分類・予測をし...
library(MASS)
group <- c("y","y","y","y","y","m","m","m","m","m")#人物...
wave <- c(y1,y2,y3,y4,y5,m1,m2,m3,m4,m5)#各要素は1列3000...
traindata <- data.frame(GROUP=new{2012-09-17 (月) 21:48:...
- group,WAVE=wave)#データフレームにする
(ldadata<-lda(GROUP~.,data = traindata))#ldaにかける
plot(ldadata)#学習データの第一判別関数得点の分布
apply(ldadata$means%*%ldadata$scaling,2,mean)#判別得点
table(group,predict(ldadata)$class)#判別結果をクロス表に...
このような状態です。実行すると最終行で、要素が一致せず、...
原因は、groupが要素数10なのに対し、predict(ldadata)$class...
自分としては、データフレームtraindata中のwaveにおける、各...
google検索などを使ってみましたが、自分の力不足でどのよう...
Rの知識が少なく、低レベルな質問かとも思いますが、ご教授願...
見辛い文面でしたら申し訳ありません。~
//
- データの作り方がおかしいのでは?&br;> wave <- c(y1,y2,...
> library(MASS)
> set.seed(123)
> ( d <- data.frame(group=rep(letters[1:2], each=5), x=r...
group x y z
1 a -0.56047565 1.2240818 -1.0678237
2 a -0.23017749 0.3598138 -0.2179749
3 a 1.55870831 0.4007715 -1.0260044
4 a 0.07050839 0.1106827 -0.7288912
5 a 0.12928774 -0.5558411 -0.6250393
6 b 1.71506499 1.7869131 -1.6866933
7 b 0.46091621 0.4978505 0.8377870
8 b -1.26506123 -1.9666172 0.1533731
9 b -0.68685285 0.7013559 -1.1381369
10 b -0.44566197 -0.4727914 1.2538149
> ans <- lda(group~x+y+z, d)
> ans2 <- predict(ans)
> xtabs(~d$group+ans2$class)
ans2$class
d$group a b
a 4 1
b 3 2
**censored logit/probit model [#t676e00a]
>[[taka]] (2012-08-20 (月) 21:31:47)~
~
お世話になります。~
Rでcensored logit modelあるいはcensored probit modelを利...
glm(y ~ x1 + x2 + x3, family=binomial(link="logit"))
glm(y ~ x1 + x2 + x3, family=binomial(linknew{2012-10-04...
="probit"))
vglm(y ~ x, tobit(Lower=0), trace=TRUE)
などの関数を使うということまではわかったのですが、censore...
もしご教授いただけましたら幸いです。~
当方、Rの基礎どころか統計の基礎も危うく、見当違いな質問で...
//
**xtableライブラリで小数点の桁数を指定 [#u535bf25]
>[[meet]] (2012-08-07 (火) 22:35:28)~
~
xtableライブラリで、列ごとに小数点の桁数を指定する(2列...
library("xtable")
sex <- c("F", "F", "M", "M", "M")
height <- c(158.0, 162.5, 177.3, 173.3, 166.3)
weight <- c(51.22, 55.33, 72.44, 57.44, 64.33)
( x <- data.frame(SEX=sex, HEIGHT=height, WEIGHT=weig...
mytable <- xtable(x)
print(mytable, type="html")
//
- 何かをやろうと思うときに,オンラインヘルプを読む癖を付...
mytable <- xtable(x, digits=c(0, 0, 1, 2))
print(mytable, type="html", include.rownames=FALSE)
で,以下のようになるでしょう。&br;
&ref(html.png);
- ご教授ありがとうございます。オンラインヘルプをよく読む...
**行列からデータフレームを作りたい [#x9b3f160]
>[[ランゲル・ハンス]] (2012-08-04 (土) 11:00:04)~
~
いつも掲示板を参考にしています。~
次のような行列Mがあります。
m <- c(16, 15, 7, 14, 9, 11, 8, 4, 1, 16, 12, 17, 10, 9,...
M <- matrix(m, 4, 4)
M
行列Mの行をX、列をY、値をVとし、行列Mの左下が(X, Y)=(1, ...
X Y V
1 1 14
2 1 4
3 1 17
4 1 6
1 2 7
2 2 8
3 2 12
4 2 19
1 3 15
2 3 11
3 3 16
4 3 9
1 4 16
2 4 9
3 4 1
4 4 10
方法をご教示いただけないでしょうか?~
上の例は4行4列ですが、本当はn行m列でデータフレームを作り...
//
- おやすいご用です。以下のように。 -- [[河童の屁は,河童...
> N <- t(M[nrow(M):1,])
> data.frame(X=c(row(N)), Y=c(col(N)), V=c(N))
X Y V
1 1 1 14
2 2 1 4
3 3 1 17
4 4 1 6
5 1 2 7
SNIP
15 3 4 1
16 4 4 10
- 河童さま ありがとうございました。大変参考になりました...
**画像の特定色のピクセル数を求めたい [#rde117aa]
>[[しまだ]] (2012-08-03 (金) 23:43:47)~
~
お世話になります。~
画像を与えた時、特定の色のピクセル数を得たいのです。そこ...
library(biOps)
data <- readJpeg("c:/hoge_20120101.jpg")
x <- c(1:352)
y <- c(1:288)
blue <- c(0)
grey <- c(0)
white <- c(0)
black <- c(0)
yellow <- c(0)
for ( i in x ){
for ( j in y ){
if (( data[i,j,1]==0 ) && ( data[i,j,2]==0 ) && ( data[i...
{ blue <- ( blue + 1 ) }
if (( data[i,j,1]==192 ) && ( data[i,j,2]==192 ) && ( da...
{ grey <- ( grey + 1 ) }
if (( data[i,j,1]==255 ) && ( data[i,j,2]==255 ) && ( da...
{ white <- ( white + 1 ) }
if (( data[i,j,1]==0 ) && ( data[i,j,2]==0 ) && ( data[i...
{ black <- ( black + 1 ) }
if (( data[i,j,1]==255 ) && ( data[i,j,2]==255 ) && ( da...
{ yellow <- ( yellow + 1 ) }
}}
(1)処理を速くしたい~
スクリプトを実行したところ、動いたのですが、処理が遅いよ...
コーディングが素人で下手くそだと思うのですが、どこを修正...
(2)png画像を扱いたい~
biOpsは、png画像を読み込めないようです。オリジナルはpngの...
//
- ベクトル計算をすると,30倍近く速くなります。 -- [[河童...
data <- readJpeg("c:/hoge_20120101.jpg")
d1 <- data[,,1]
d2 <- data[,,2]
d3 <- data[,,3]
blue <- sum(( d1==0 ) & ( d2==0 ) & ( d3==254 ))
grey <- sum(( d1==192 ) & ( d2==192 ) & ( d3==192 ))
white <- sum(( d1==255 ) & ( d2==255 ) & ( d3==255 ))
black <- sum((d1==0 ) & ( d2==0 ) & ( d3==0 ))
yellow <- sum(( d1==255 ) & ( d2==255 ) & ( d3==0 ))
- ありがとうございます。やはりコーディングですね。。。ima...
- pngが扱えるパッケージですが、ご自分で一度探されましたか...
- ありがとうございます。画像処理パッケージの機能比較表のp...
**○○したいができない [#u73f250f]
>[[IonaZUNNNNNNN]] (2012-08-03 (金) 23:28:40)~
~
マニュアルをちゃんと嫁~
そもそも、そんなことをしたいというのは変態(そんなことす...
どうしてもしたければ、関数(プログラム)を書け~
関数(プログラム)を書けないなら、あきらめよう~
//
**プログラム中で、S1 - Snまでのベクトルのデータフレームの...
>[[tt]] (2012-08-02 (木) 19:01:06)~
~
n は、プラスの整数です。nが決まっていれば、以下でOKなので...
mS <- data.frame(S1,S2, ---,Sn)
一つの方法として、S1のみのデータフレームを作り、そこに1...
よろしくお願いします。~
//
- do.call("data.frame", lapply(seq_len(5), function(x) ru...
- 本当にそういうことが必要なのかどうか疑問ですが,以下の...
# S1, S2, ..., Sn というベクトルがあって,それをデータフ...
> S1 <- rnorm(5)
> S2 <- rnorm(5)
> S3 <- rnorm(5)
> S4 <- rnorm(5)
> n <- 4
> mS <- eval(parse(text=paste("data.frame(", paste("S", ...
> mS
S1 S2 S3 S4
1 -0.5025337 1.4369542 0.45664139 0.4367258
2 -0.5886718 -0.7321779 -0.08103579 1.3684718
3 -0.7793953 1.3541141 -0.98813613 -1.3115064
4 1.3410327 1.3565760 -1.19112426 0.3708082
5 0.5515542 0.3012129 0.61595356 -0.1799028
- 1つずつベクトルを追加して行く方法は非効率ではないし、...
data.frame(sapply(ls(pattern = "S[0-9]+"), get))
- 皆さん、ありがとうございます。うまくいくようになりまし...
**Rstudio serverでinstall.packages() [#tc11e979]
>[[taked]] (2012-08-01 (水) 17:41:01)~
~
Rstudio serverで、インストールできるパッケージとできない...
CentOS 6.2、 rstudio-server-0.96.228-x86_64 です。~
例えばggplot2はインストールできましたが、XMLなどいくつか...
パッケージがR自体のバージョン もしくは64bitに対応してない...
> install.packages("XML")
Installing package(s) into ‘/home/●○●○/R/library’
(as ‘lib’ is unspecified)
trying URL 'http://cran.cnr.Berkeley.edu/src/contrib/XM...
Content type 'application/x-gzip' length 923501 bytes (...
opened URL
==================================================
downloaded 901 Kb
* installing *source* package ‘XML’ ...
** package ‘XML’ successfully unpacked and MD5 sums che...
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
No ability to remove finalizers on externalptr objects ...
checking for sed... /bin/sed
checking for pkg-config... /usr/bin/pkg-config
checking for xml2-config... no
Cannot find xml2-config
ERROR: configuration failed for package ‘XML’
* removing ‘/home/●○●○/R/library/XML’
Warning in install.packages :
installation of package ‘XML’ had non-zero exit status
The downloaded source packages are in
‘/tmp/Rtmp5ZwZF3/downloaded_packages’
//
- このエラーは、パッケージをソースから入れるとき、依存ラ...
- 依存ライブラリが必要ということなんですね。どうもありが...
**subset の仕様について [#o0b98bc3]
>[[tadashi]] (2012-07-25 (水) 01:10:16)~
~
こんな現象があります。~
下記のようなsubset の使い方は間違いのようです。どこかにこ...
// 日本語くらいちゃんと書こうよ
> subset(test,test[,"flag"]==flag)
~
> test<-data.frame(flag=sample(c("a","b","c"),rep=T,10))
> x<-"a"
> subset(test,test[,"flag"]==x)
flag
1 a
6 a
9 a
> flag<-"a"
> subset(test,test[,"flag"]==flag)
flag
1 a
2 c
3 b
4 b
5 c
6 a
7 c
8 c
9 a
10 b
//
- Helpに書いてあります。"For data frames, ..."のところで...
subset(test, test[, "flag"] == flag)
は
attach(test)
test[test[, "flag"] == flag, ] # ここのflagはデータフレ...
detach(test)
といった処理が行われています。 -- [[Iona]] &new{2012-07-2...
- さっそく、ありがとうございます。これは間違いやすい気が...
- 同じ変数をつかえると便利な気がします。 flag==$flag のよ...
- "["を使えばいいのでは。(間違うも何もsubset関数の利点を...
- subset の利点がまとまっているページはあるでしょうか? ...
- 使い方はヘルプを見ようよ。 ?"[" とか help("[")とか。し...
- Helpを読めばわかるはずです。分からなければsubsetではな...
- 条件式も、論理式の && や、|| でなくて、& | を使うようで...
- Helpにすべて書いてあります。?"|" -- &new{2012-07-28 (...
- なんで違うのでしょう。間違いやすい気がします。 -- [[tad...
- 作用(目的)が違うのだから演算子が違うのです。/ と %/% ...
- 自助努力をすべきかどうか云々は横に置いておいて,確かに...
- > if文の中は & や | を使う&br;おやまあ,変なことを言う...
> set.seed(11119)
> (a <- sample(c(TRUE, FALSE), 10, replace=TRUE))
[1] TRUE FALSE FALSE TRUE TRUE FALSE FALSE TRUE TR...
> (b <- sample(c(TRUE, FALSE), 10, replace=TRUE))
[1] FALSE FALSE TRUE TRUE FALSE TRUE TRUE FALSE FAL...
> a | b
[1] TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TR...
> a || b
[1] TRUE
> a & b
[1] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FAL...
> a && b
[1] FALSE
- 私にとってはありがたい質問でした。色々と叩きつつもちゃ...
----
**二元配置分散分析での residuals [#k98168fc]
>[[分散分析]] (2012-07-20 (金) 11:26:29)~
~
Rで二元配置分散分析をしたのですが、Residuals が表示され...
> a <- c(15.65, 14.40, 17.50, 15.90, 20.30, 19.45, 20.45...
> 要因1 <- factor(c("T1", "T1", "T2", "T2", "T3", "T3", ...
> 要因2 <- factor(c("Y1", "Y2", "Y1", "Y2", "Y1", "Y2", ...
> summary(aov(a ~ 要因1 * 要因2))
Df Sum Sq Mean Sq
要因1 3 34.026 11.3421
要因2 1 3.251 3.2513
要因1:要因2 3 0.151 0.0504
よろしくお願いします。~
//
- モデルに含まれる自由度が サンプルサイズ-1 以上になるか...
- コメントありがとうございました。もう一度計算して確認し...
**hoge.Rdataをダブルクリックで起動したときのファイル名取...
>[[ふしぎ]] (2012-07-19 (木) 17:53:11)~
~
例えば、hoge.RdataをダブルクリックしてRを起動した後で、こ...
list.files()
で作業フォルダ内のファイル名は取得できますが、他にも.Rdat...
動作環境は、Win XP、R version 2.14.2です。~
//
- commandArgs()の結果ではどうでしょうか -- [[Camino]] &ne...
- commandArgs()でパス付のファイル名取り出しができました。...
「明示的」という言葉は適切ではなかったかもしれません。失...
それから、この質問は、http://www.okada.jp.org/RWiki/?%A3%...
**shapeファイルのポリゴンの座標値の取り出し方 [#y28f4853]
>[[蓮井]] (2012-07-15 (日) 06:45:20)~
~
win-xp、R2.15.1、maptools0.8-16、sp0.9-99を使っています。~
shapeファイルの各ポリゴンについて、~
・面積を求める~
・各ポリゴンがある座標値を含むかどうかを確認する~
の2つの作業を実施したく、各ポリゴンの座標値を取り出し方...
readShapeP最新 cat(sprintf(br;特別なことをするわけですか...
> map <- readShapePoly("sample.shp")
> map1[1,] @ polygons
>
> An object of class "Polygons"
> Slot "Polygons":
> [[1]]
> An object of class "Polygon"
> Slot "labpt":
> [1] -32959.94 -64662.22
> <中略>
> Slot "coords":
> [,1] [,2]
> [1,] -32919.99 -64656.18
> [2,] -32920.01 -64659.99
> <中略>
> [13,] -32919.99 -64656.18
> <後略>
となりますが、このcoordsの値を取り出すためにはどうすれば...
「R の S4 クラス、メソッド入門」は読んでみたのですが、よ...
よろしくお願い申し上げます。~
//
- http://www.okada.jp.org/RWiki/?%B6%F5%B4%D6%C5%AA%A4%CA...
- http://jasp.ism.ac.jp/kinou2sg/contents/tanimura-200612...
- ↑谷村先生のpdfのp23にS4クラスとスロットからデータを取り...
- なるほど!ありがとうございます! ~
> map @polygons [[i]] @Polygons [[1]] @coords
で座標を取り出すことができました。 -- [[蓮井]] &new{2012-...
**sendmailRでメール送信したい [#w44a282f]
>[[kbys]] (2012-07-13 (金) 21:23:22)~
~
sendmailRというパッケージでgmailを使ってメール送信する方...
library(sendmailR)
sendmail(from="oooooooooo@gmail.com", to="oooooooooo@gma...
msg="本文", control=list(smtpServer="smtp.gmail...
以下にエラー socketConnection(host = server, port = port...
コネクションを開くことができません
追加情報: 警告メッセージ:
In socketConnection(host = server, port = port, blocking...
smtp.gmail.com:25 cannot be opened
//
- gmail は、ssl でかつ smtpauth が必要です。さくっと探し...
- smtp.gmail.comはSSLかTLSが必要なためsendmailRでメールは...
- tadashiさん、Ionaさんありがとうございます。pythonのsmtp...
- なんで、Rからメールを送りたいのでしょうか? 外部プログ...
- 毎日のデータの集計をメールでレポートしたいです。 -- [[k...
- だったら、レポートをテキストファイルで出力してそれをメ...
- rubyなどを使ってやってみようと思います、ありがとうござ...
- メールを送る瞬間にパソコンの前にいるのであれば、メーラ...
日本語が正しく送れない件ですが、rJythonは日本語を正しく扱...
- >メールを送る瞬間にパソコンの前にいるのであれば&br;メー...
- gmailのsmtpサーバを使うという縛りを解いて、そのRで解析...
**コマンドプロンプトによるrscript.exeの実行について [#g18...
>[[taked]] (2012-07-10 (火) 15:15:07)~
お世話になります.rscriptでRスクリプトを実行して、グラフ...
以下のプログラムを、task.Rとしています.~
library(ggplot2)
ratings <- qplot(rating, data=movies, geom="histogram")
ggsave(ratings, file="fig1.png")
~
Rコンソールにコピペして実行するとグラフが保存できるのです...
カレントディレクトリ>rscript task.R~
として実行するとグラフが保存ができていません.コマンドプ...
Loading required package : methods~
Saving 7 x 7 in image~
stat_bin: binwidth defaulted to range/30. Use 'binwid...
誤りなどあったらアドバイス頂けないでしょうか、よろしくお...
//
- R version 2.15.1 + Ubuntu 12.04 LTSでやってみると、同様...
$ Rscript task.R
要求されたパッケージ methods をロード中です
Saving 7 x 7 in image
stat_bin: binwidth defaulted to range/30. Use 'binwidth ...
$ file fig1.png
fig1.png: PNG image data, 2100 x 2100, 8-bit colormap, n...
- ありがとうございます.解決できました.-- [[taked]] &new...
**多次元の同時分布を求め、ある組み合わせを取る確率を求め...
>[[Saito]] (2012-07-03 (火) 18:50:19)~
~
いつもお世話になっております。~
連続値を取る確率変数が複数種類あった場合に、その経験的な...
例えば、~
> library(np)
> x <- rbeta(100, shape1=10, shape2=1)
> y <- rgamma(100, shape=1)
> z <- rnorm(100)
> fit<-npudens(~x+y+z)
> plot(fit)
とすると、3変量の場合の同時確率分布が得られるようですが、...
~
また、上記の計算はおそらく連続値を丸める必要があると思わ...
~
ネットを調べていると、同じような質問はあったのですが、~
https://stat.ethz.ch/pipermail/r-help/2010-November/26099...
それに対する返答が私には理解できず、手づまりとなっていま...
~
その他、色々と調べたのですが、二変量の場合や、正規分布に...
~
どなたか分かる方がいらっしゃいましたらご教授頂けると幸い...
どうぞよろしくお願い致します。~
//
**最頻出データの抽出方法 [#xd5daa33]
>[[KANA]] (2012-07-02 (月) 20:15:29)~
~
Rにて下記のイメージように、ひとつのテーブルにある最頻出の...
~
AAAは、あああが3件・えーえーえーが2件のため「あああ」を抽...
UUUは、うううが2件・ゆーゆーゆーが1件のため「ううう」を抽...
~
■データ内容イメージ~
テーブル名:table1~
~
アルファベット,読み~
AAA,あああ~
UUU,ううう~
AAA,あああ~
EEE,えええ~
AAA,えーえーえー~
UUU,ゆーゆーゆー~
EEE,いーいーいー~
AAA,えーえーえー~
EEE,いーいーいー~
UUU,ううう~
AAA,あああ~
~
■抽出結果イメージ~
AAA,あああ~
UUU,ううう~
EEE,いーいーいー~
~
以上、よろしくお願いいたします。~
//
- これでは駄目ですか.ところで同順位があったらどうするん...
> x
[1] "A" "U" "A" "E" "A" "U" "E" "A" "E" "U" "A"
> y
[1] "あ" "う" "あ" "え" "えー" "ゆー" "いー" "...
[11] "あ"
> table(paste("(",x,",",y,")",sep=""))
(A,あ) (A,えー) (E,いー) (E,え) (U,う) (U,ゆー)
3 2 2 1 2 1
- 以下のようなことかな? &new{2012-07-02 (月) 21:52:22};
> d <- structure(list(アルファベット = structure(c(1L, 3...
+ 2L, 1L, 3L, 2L, 1L, 2L, 3L, 1L), .Label = c("AAA", "EE...
+ ), class = "factor"), 読み = structure(c(1L, 3L, 1L, 4...
+ 6L, 2L, 5L, 2L, 3L, 1L), .Label = c("あああ", "いーい...
+ "ううう", "えええ", "えーえーえー", "ゆーゆーゆー"
+ ), class = "factor")), .Names = c("アルファベット", "...
+ ), class = "data.frame", row.names = c(NA, -11L)) # こ...
> ans <- xtabs(~., data=d)
> cbind(apply(ans, 1, function(x) colnames(ans)[which.ma...
[,1]
AAA "あああ"
EEE "いーいーいー"
UUU "ううう"
同順位の処理はなんとかする。 -- [[河童の屁は,河童にあら...
- 早速の回答ありがとうございます。 ・同順位の場合は、どち...
- 「それでもできる方法」---提示したやり方でできると思いま...
- 「どちらか一方表示できれば大丈夫」,そんなわけ無いので...
- プログラムの仕様は,発注者が決めればよいことで。&br;ま...
# テストデータを作成する
gen <- function(n=10000, len=2) {
m <- sample(len, n, replace=TRUE)
sapply(m, function(k) paste(LETTERS[sample(5, k, replac...
}
set.seed(111111)
n <- 2000 # 2000 組(行)のデータ
d <- data.frame(item=gen(n), def=gen(n, len=4))
テストデータ(データフレーム)
item def
1 CD DCD # CD は DCD みたいなこと
2 BE D
3 AA D
4 B ADB
中略
1998 A C
1999 E CEEE
2000 CC BDA
中間集計
ans <- xtabs(~., data=d)
分析結果~
(1) 全回提示した結果表示
cbind(apply(ans, 1, function(x) colnames(ans)[which.max(...
[,1]
A "C"
AA "A"
AB "B"
AC "C"
AD "B"
中略
ED "A"
EE "A"
(2) 今回提示する結果表示
col.name <- colnames(ans)
row.name <- rownames(ans)
for (i in 1:nrow(ans)) { # 集計表の各行について
x <- ans[i,]
max.val <- max(x) # 最大頻度
items <- x[x==max.val] # 最大頻度と同じ頻度を持つ要素
cat(row.name[i], ":", items[1], "-", names(items), "\n")
}
A : 13 - C # A に対して C が 13 回
AA : 5 - A
AB : 3 - B D # AB に対して B, D がそれぞれ 3 回
AC : 5 - C
AD : 4 - B C
中略
ED : 3 - A B C
EE : 2 - A B C CEE D E
- > アルファベット/読みともに数が多いため事前にすべてカ...
table1をread.csvで読み込めばいいだけなので事前にカバーす...
d <- read.csv("table1.csv")
> 「どちらか一方表示できれば大丈夫」,そんなわけ無いの...
何を根拠に「そんなわけ無い」と言われているか分かりません...
- >>アルファベット/読みともに数が多いため事前にすべてカバ...
- 遅くなりましたが、いただいた方法で解決できました。あり...
**軸の上付き文字による指数表記について [#rb567fce]
>[[ymbr]] (2012-06-30 (土) 16:35:57)~
~
お世話になっております。~
2e+05などの大きな値を実数表記する際にoptions(scipen=○○)...
よろしくお願い致します。~
//
- axis関数にexpressionクラスのオブジェクトを渡せば、上付...
x <- 2:5 * 10^5
y <- c(1, 2, 3, 100)
plot(x, y, axes = FALSE)
axis(1, at = 2:5 * 10^5, labels = parse(text = paste(2:5...
axis(2, at = c(0, 100), labels = expression(0, 1 %*% 10^...
- 出来ました!ありがとうございます!! -- [[ymbr]] &new{2...
**メモリのエラーについて [#e70c4e84]
>[[taked]] (2012-06-29 (金) 17:46:33)~
~
お世話になります.lm()で 線形モデルによる回帰を行いたいの...
> memory.size(max = FALSE)
[1] 14.01
> df <- read.csv("data.csv", as.is=T)
> memory.size(max = FALSE)
[1] 471.71
# (中略)
> memory.size(max = FALSE)
[1] 747.44
> LM <- lm(df$y ~ . , data = df )
エラー: サイズ 268.0 Mb のベクトルを割り当てることが...
> memory.size(max = FALSE)
[1] 1210.4
>memory.limit(size = NA)
[1] 2047
> object.size(df)
229790744 bytes
(質問1) もともとの"data.csv"は約100MB(250列×20万行です)...
(質問2) lm()の実行前のメモリ使用量は約747MBですが、lm()...
解決方法や回避策など(変数等を減らす以外で)アドバイスを...
R 2.14.1 , --max-mem-size=2047MB, Windows vista 32bit, メ...
//
- lm関数のヘルプに書いてあることですが、biglmという大きな...
- 質問1についてですが、cvsファイルではデータは文字で記録...
- 8 GBメモリを積んだマシンでWin 7 Pro x64でR-2.15.1 x64で...
- 4GBのMacBook(2.4GHz Intel Core 2 Duo)でのR2.15.1でも,...
- R-2.15.1からデータフレーム操作関数の内部実装が大きく変...
- アドバイスありがとうございます.R-2.15.1でエラーは回避...
**2変量ガウスコピュラ関数について [#f12f333f]
>[[esta]] (2012-06-29 (金) 05:07:05)~
~
いつもお世話になっております。~
2変量ガウスコピュラ関数について、確率密度関数をグラフで...
//
- 「標準正規分布の逆関数」とは,どういうもの?確率に対す...
> qnorm(c(0.025, 0.5, 0.975, 0.7))
[1] -1.9599640 0.0000000 1.9599640 0.5244005
そうでないとしたら,もっと正確な定義を述べるよう望む。 --...
- 返信遅くなって申し訳ございません。qnorm関数で問題を解決...
**総当り法(ロジスティック回帰分析)でのエラー [#c207b27c]
>[[hiro]] (2012-06-20 (水) 11:56:54)~
~
Rを始めたばかりです。~
現在、ロジスティック回帰分析にかけるために、総当り法でAIC...
変数が20個と多いので、all.logisticの結果はすべて表示され...
> print.all.logistic(obj, sort.by=c("AIC"))
以下にエラー data.frame(obj$deviance, obj$AIC, obj$form...
オブジェクト 'obj' がありません
どのようにすればよいのでしょうか。~
よろしくお願いいたします。~
//
- r-project.org と関係ない関数の使用法については,ここで...
総称関数の使い方を理解されていないようですね。~
テストデータとして lr.data を使う場合,
> lr <- read.table("lr.data", header=TRUE)
> obj <- all.logistic(lr)
> print(obj, sort.by="AIC", models=100)
のようにするようですけど,そのようにしていますか?上の3行...
- エラーなく無事にできました。お早いお返事ありがとうござ...
**Rだけでデータクリーニング [#t5c136b4]
>[[tadashi]] (2012-06-17 (日) 18:15:17)~
~
実際のデータを読み込むときには、データクリーニングをする...
そういった作業をRだけできるだけやる方法を書いてあるページ...
Rクックブックには、そういったのはRは不得意だから、やらな...
とりあえず、scan で全部読み込んで、それからいろいろ処理し...
//
- > Rクックブックには、そういったのはRは不得意だから、や...
Rクックブックがいう,「そういったのは」というのは,具体的...
たとえば,大きなデータを扱うのが不得手---どれくらいのが大...
そのほか,何が書いてある?それらは本当に「Rは不得手なの?...
また,単に,大きいデータの処理には時間が掛かる---実際に,...
一般論ではなく,あなたの問題として評価することが必要でし...
ということなら,一般的なことを書いてあるページはないかも...
やらなきゃならないことなら,Rを使って取りあえずはやってみ...
> そういった作業をRだけできるだけやる方法を書いてあ...
厳しい言い方のように思うだろうけど,「やりたいことをはっ...
> とりあえず、scan で全部読み込んで~
少なくとも,scan で読み込むような「ぷあ〜〜〜〜」なデータ...
R も,この Wiki での経験も,ある程度あると思いますので,...
- scan で読み込むような「ぷあ〜〜〜〜」なデータ形式は,扱...
- > でも結構ころがっています。~
どういうかたちで「ころがって」いますか?~
scanで読めるということは,なんらかの規則性がある。ようす...
Rでは読めない?ようなデータの実例があれば,Rユーザは,ク...
- > そういった作業をRだけできるだけやる方法を書いてある...
まとめたページというのはなかなか無いようで個別に探した方...
> Rクックブックには、そういったのはRは不得意だから、や...
「データクリーニング」という用語を知らなかったのですが、...
- データクレンジングのこと? -- &new{2012-06-18 (月) 15:...
- 最近は,データクレンジングともいうようだけど,[データ...
>データベースの中から誤りや重複を洗い出し、異質なデータを...
<しかしまあ,昔っから,データクリーニングといってきた。 -...
- [[Wikipedia:http://en.wikipedia.org/wiki/Data_cleansing...
- それぞれの言葉が,いつごろから使われるようになったかを...
- まとまったページがない?じゃあ,作ろうじゃないですか。...
- まとめページないみたいなんで、コツコツ勉強しつつ、探し...
- [[Rでデータクリーニング:http://www.okada.jp.org/RWiki/?...
- おおすばらしい。fill=TRUE で、無理やり読むこむのですね...
**関数の最大値の求め方 [#b82ac307]
>[[esta]] (2012-06-15 (金) 16:30:16)~
~
はじめまして。R歴1週間の初心者です。
f<-function(x)exp(-3.0346+0.0558*x-0.0003*x*x)/{1+exp(-3...
plot(f,0,250)
これを実行するとfのグラフが表示されます。mathematicaで最...
~
The R Tipsを一通り読んでみましたが分かりませんでした。~
どうかよろしくお願いいたします。~
//
- ?otpimize -- &new{2012-06-15 (金) 17:14:17};
- plot(f,0,250)はxとyの座標を返します。 -- &new{2012-06-...
> z <- plot(f,0,250)
> max(z$y)
[1] 0.3917469
> z$x[which.max(z$y)]
[1] 92.5
- z$x[which.max(z$y)]は近似値しか得られない。&br;optim関...
> func <- function(x) {
+ -1 / (1 + exp(3.0346 - 0.0558 * x + 0.0003 * x^2))
+ }
> ans <- optimize(func, interval=c(0, 250))
> cat(ans$minimum,を取得する関数や方法はありますでしょう...
list.files()
で作業フォルダ内のファイル名は取得できますが、他にも.Rdat...
動作環境は、Win XP、R version 2.14.2です。~
//
- commandArgs()の結果ではどうでしょうか -- [[Camino]] -f...
93 0.3917648
とすればよい。 -- [[河童の屁は,河童にあらず,屁である。]...
- みなさん丁寧にありがとうございます。おかげさまで出来る...
**doMC 並列処理 [#w76a6cad]
>[[BCD]] (2012-06-14 (木) 11:06:29)~
~
いつもお世話になっております 。~
Linux、R2.1.4環境下でlibrary(doMC)のregisterDoMC()を使っ...
//
- Rのバージョンを間違っていないでしょうか。R 2.1.4という...
質問をされるときはもう少し具体的に書かれた方がいいでしょ...
メモリが足りないというようなことはないでしょうか。~
並列処理を使わずに計算を行った場合は計算を行えるのでしょ...
library(doMC)
registerDoMC()
foreach(i = 1:3) %dopar% sqrt(i)
このような簡単な処理ならクラッシュせずに処理を行えるので...
- 情報不足で申し訳ありません。私が使っているRはR 2.14.0で...
- おそらくメモリが足りていないのではないかと思います。単...
- 返信ありがとうございます。複数コアを使用するとその分メ...
- > Rの実行中にtopコマンド~
そういうことです。 -- [[Iona]] &new{2012-06-15 (金) 13:22...
- topコマンドでメモリを確認してみたところ、crashが起きて...
**RData 形式 日本語を windows,mac,linux で共通してつかえ...
>[[tadashi]] (2012-06-12 (火) 10:08:39)~
~
前も聞いているのですが、できるんでしょうか? UTF-8で、CSV...
//
- 内部コードは統一されているはずなので、できるのではない...
- R勉強会@東京 でも話題になりましたが、あまりきちんと検...
**X軸ラベルの変更方法について [#m518a40a]
>[[TK]] (2012-06-09 (土) 21:27:13)~
~
Rコマンダーで折れ線グラフを作成した結果思うようなグラフが...
R初心者ですのでプログラムの書き込み場所手順等、詳しくお願...
今は、Rコマンダーでデーターセットしてグラフ作成する事しか...
//
- >これを0,30,60,90,....360まで30刻みにしたいのですが&...
- 目盛の変更は、そのように設定する必要があるためです。R c...
- > そのように設定する必要があるためです&br;マジギレして...
layout(matrix(1:2, 1))
plot(iris$Petal.Width, iris$Sepal.Length)
plot(iris$Petal.Width, iris$Sepal.Length, xaxt="n", yaxt...
axis(1, at=seq(0, 2.5, by=0.25))
axis(2, at=seq(4, 8, by=1))
layout(1)
要するに,plot コマンドで xaxt="n", yaxt="n" 必要があれば...
&ref(jibundesettei.png);
- 初心者すぎて理解が足りないようです。 R commanderでグラ...
- TKさんの場合、「根本的な理解不足」問題を解決しないと、3...
- ご教授有難うございます。R基本技の本を読み始めました。独...
**移動ブロック・ブートストラップについて [#b307d97d]
>[[E&T]] (2012-06-06 (水) 21:34:40)~
~
Efron and Tibshiraniの"An Introduction to the Bootstrap...
時系列データからランダムに3つの観測値からなるブロック...
これを追試しようとして、library(boot)のtsbootを適用すべ...
library(bootstrap)
library(boot)
block.beta <- function(tsb){
ar.fit <- ar(tsb, order.max=1)
as.vector(ar.fit$ar)
}
lut.block3 <- tsboot(lutenhorm$V4, statistic=block.beta,...
すると、以下のようなエラーメッセージが出て、うまくいきま...
以下にエラー tsboot(lutenhorm$V4, statistic = block.beta...
replacement(置き換え)の長さが0です
何か、根本的なところで私自身に誤解があるのかもしれません...
//
- > 根本的なところで私自身に誤解があるのかもしれませんが&...
- 御指摘を受け、l=12として実行してみたら、確かにうまくい...
- > ループを使用して地道に解いていたのでしょうか&br;その...
**ARで伝達関数のゲインやコヒーレンス・位相を出したい [#q0...
>[[Rbeginer]] (2012-06-05 (火) 11:10:03)~
~
Rで時系列解析を考えている初心者です。~
~
AR(自己回帰モデル)を用いた時系列解析に関する質問です。~
RでARを用いた伝達関数のゲインやコヒーレンス、位相を計算す...
調べていてもどうもたどり着けません。~
Rでそもそも可能でしょうか、またパッケージを導入すれば可能...
ご教授いただければ幸いです。~
//
**グラフの軸の目盛を内向きにしたい [#ufa619e3]
>[[sato]] (2012-06-05 (火) 10:39:04)~
~
R初心者です.~
Rで折れ線グラフや棒グラフなどの単純な作図を行なっています...
軸の目盛りですが,デフォルトでは外向きとなっていると思い...
これを内向きにしたいと思って,いろいろ調べたのですが,よ...
ご教授くださいますようお願いいたいします.~
//
- plot(0, tcl=0.5) みたいなことでしょうか? -- &new{2012...
- ありがとうございました! 何時間も悩んでいたことがあっ...
- plotやparでのグラフの見栄えの調整は、慣れるまではたいへ...
- 最近,なぜRで作図するのかがだんだんわかって来ました.も...
**グラフ内に線を書き込みたい [#p96ed9c7]
>[[BCD]] (2012-06-02 (土) 21:07:42)~
~
いつもお世話になっております。~
グラフ内における座標について質問があります。~
~
ベクトルがいくつかあり、それらをfor文で繰り返しを用いてそ...
~
何かご存知の方がいらっしゃれば御教授願います。~
//
- plot関数を実行するとpar("usr")にc(左端のx座標, 右端のx...
- 有り難う御座います。おかげで思い通りのことができました...
**動画像のコマ送りとショートカットキー [#s1419fe8]
>[[Rstudent]] (2012-05-31 (木) 09:29:52)~
~
Rのグラフィックデバイスについて質問があります。~
~
Mpeg等の動画像を手動で一定のフレーム数進め、その都度、動...
座標の取得はlocator()を利用すれば可能だと思いますが、以下...
~
1.動画像を手動で進める方法~
animationパッケージのani.start()を用いてHTML上で再生する...
~
2.ショートカットキーを用いてグラフィックデバイスにコマ...
動画像を進める際にショートカットキーでコマ送りを行ったり...
~
以上、どうぞよろしくお願いいたします。~
//
- その手のことをしたければ、適当なwidget (tcltkとかGtk2と...
- Rでやるべきタスクだとは思わないけど、もしやるなら動画を...
**コンマ秒以下の経過時間の計算について [#dfcaeb18]
>[[timesaver]] (2012-05-21 (月) 18:48:18)~
~
コンマ秒以下の経過時間を計算したい場合、例えば~
as.difftime(c("0:3:20", "0:3:20.5"),units="sec")~
とすると結果は~
Time differences in secs~
[1] 200 200~
attr(,"tzone")~
となり秒以下は無視されます。これを解決する簡単な方法はど...
ありませんか?過去記事やパッケージはないかと探したのです...
//
- そんなに一般的で複雑な仕様でないなら,自分で関数を書く...
my.difftime <- function(time) { # units="secs" を仮定
unname(sapply(time, function(t) {
str <- unlist(strsplit(t, ":"))
if (length(str) != 3) return(NA)
return(sum(as.numeric(str)*c(3600, 60, 1)))
}))
}
> as.difftime(c("1:3:20", "2:3:20.5"), units="secs")
Time differences in secs
[1] 3800 7400
attr(,"tzone")
[1] ""
> my.difftime(c("1:3:20.123", "2:3:20.523"))
[1] 3800.123 7400.523
- system.time とういうのがあるみたいですが、使えませんか...
- 関数のチューンナップ あたりに関連しそうなのがあるような...
- as.difftime(c("0:3:20", "0:3:20.5"),format="%H:%M:%OS",...
- ↑追記:help(strptime)のExamplesでは if supported by the...
- ありがとうございます。%OSというのがあったなんて、、strp...
- 河童さん、綺麗な関数書いていただいてありがとう御座いま...
- 検索をもう少し頑張ろうよ。[[1秒以下の扱いについて:http...
- 自分でも忘れているけど。目的とする記事を発見するための...
> difftime("2012-05-22 00:34:56.789", "2012-05-22 00:12:...
Time difference of 1342.222 secs
- 「黙って関数を書ける」ひとなら、もちろんそうしたほうが...
- 日付を付けるとコンマ以下も計算するとは、目からウロコで...
- 差が1秒以上だとコンマ秒以下の計算は正しいけど、1秒以下...
> difftime("2011-10-11 15:08:01.800 JST", "2011-10-11 15...
Time difference of -1.1 secs
> difftime("2011-10-11 15:08:01.800 JST", "2011-10-11 15...
Time difference of -0.1000001 secs
- これは,コンピュータ上での数値計算における常識です。&br...
> options(digits=20) # コンソールに表示する数値の桁数を2...
> time1 <- "2011-10-11 15:08:01.800 JST" # この日付は,
> time1 <- as.POSIXct(time1) # コンピュータ上ではこのよ...
> unclass(time1) # 数値としては以下の通り
[1] 1318313281.7999999523 # 10進数でのキレイな数になって...
attr(,"tzone")
[1] ""
> time2 <- "2011-10-11 15:08:01.900 JST" # もう一つの日...
> time2 <- as.POSIXct(time2)
> unclass(time2)
[1] 1318313281.9000000954 # 10進数でのキレイな数になって...
attr(,"tzone")
[1] ""
> unclass(time1)-unclass(time2) # 数値の差を取ると
[1] -0.10000014305114746094 # -0.1 ではない,ということ...
attr(,"tzone")
[1] ""
そもそも,"2011-10-11 15:08:01.800 JST" が 1318313281.799...
> difftime("1970-01-01 15:08:01.800 JST", "1970-01-01 15...
Time difference of -0.10000000000218278728 secs # かなり...
> options(digits=7) # 当然と言えば当然だが,表示桁数を通...
> difftime("1970-01-01 15:08:01.800 JST", "1970-01-01 15...
Time difference of -0.1 secs # 一見正しい答えが表示され...
ということですね。「コンピュータは,正確な答えを表示して...
じゃあ,どうすればよい?&br;自分で関数を書く。&br;年の情...
> my.difftime2 <- function(time1, time2) {
+ t <- function(time) {
+ sum(as.numeric(unlist(strsplit(time, ":"))) ...
+ }
+ t(time1)-t(time2)
+ }
> my.difftime2("15:08:01.800", "15:08:01.900")
[1] -0.1
プログラムが書けない?...がんばってもらうしかないなあ。&br;
あるいは,コンピュータが一生懸命どのような計算をしている...
- べつに「プログラムが書けない」ということを擁護する意図...
- ここで述べられる所見は,「絶対的に」正しいものではない...
- 河童の屁の「屁理屈」ではありませんが,質問はどんどん自...
- 嗚呼、どうやら長文でレスポンスいただいたようで。なにか...
- Rや統計解析法がブラックボックス化され、数値計算やPCの特...
**ランダム効果の推計に関して [#f1a1285f]
>[[optimal]] (2012-05-20 (日) 01:03:58)~
~
期間10年、9カ国、説明変数10から成るパネルデータを分析して...
~
プーリング推計と固定効果推計については出力できたのですが...
パネルデータには欠損値はありません。どなたか、対処法をご...
> north.pl <- plm(form, data=north, model="pooling")
series are constants and have been removed
> north.wi <- plm(form, data=north, model="within")
series are constants and have been removed
> north.ra <- plm(form, data=north, model="random")
series are constants and have been removed
以下にエラー if (sigma2$id < 0) stop(paste("the estimat...
TRUE/FALSE が必要new{2012-07-14 (土) 04:53:48};
- tadashiさん、Ionaさんありがとうございます。pythonのsmtp...
使用環境は以下の通りとなります。~
R version 2.15.0 (2012-03-30)~
Platform: x86_64-pc-mingw32/x64 (64-bit)~
~
以上につき、ご教示お願い致します。~
//
- 本来 "series *, *, *, * is constant and has been remove...
-new{2012-06-18 (月) 17:08:00};
- それぞれの言葉が,いつごろから使われるようになったかを...
- > 下2行のエラーメッセージについて&br;わかりませんね。...
- 河童の屁は、河童にあらず、屁である。さん、ご回答有難う...
> north <-read.csv("north.csv", header=T)
> north <-plm.data(north, index=c("country","year"))
> north
country year ctt edu gdppc 以下略
1 Australia 2000 14.44600 2.276241 10.225650 以下略
2 Australia 2001 14.88955 2.276817 10.276530 以下略
- データを示すには全部を示さないと意味がない(こともある...
- 河童の屁は、河童にあらず、屁である。さん、ご回答有難う...
[リンク削除]
データはこちらになります、お時間ありましたらアドバイス頂...
- データちゃんとアップロードされていませんよ。~
画面の上の方にある「ファイル添付」をクリックして,出てく...
アップロードされたファイルを参照する(リンクをはる)には...
- &ref(north.csv); ~&br; 河童の屁は,河童にあらず,屁であ...
- method="random" の場合,期間n年,kカ国データなら,使え...
plm:::swar
function (formula, data, effect)
{
within <- plm.fit(formula, data, model = "within", e...
within$args <- list(effect = effect, random.method =...
中略
if (balanced) {
sigma2$one <- arg.other * deviance(between)/...
sigma2$idios <- deviance(within)/df.residual...
sigma2$id <- (sigma2$one - sigma2$idios)/arg...
if (sigma2$id < 0) # sigma2$id が NA である...
stop(paste("the estimated variance of th...
"effect is negative"))
以下略
sigma2$id が NA なのは,モデルに対して解が求まっていない...
- 河童の屁は,河童にあらず,屁であるさん、御解説有難うご...
**テキストとグラフをPDF出力する方法について [#u17bf074]
>[[taked]] (2012-05-18 (金) 17:40:50)~
~
Rを使って、簡単なレポートを作成したいと思ってます。~
pdf()関数で、グラフはpdfに出力できます。~
例えば、任意のテキスト、データフレーム、グラフを並べてpdf...
df <- data.frame(x=c(1:5), y=sample(100,5))
pdf("c:/test.pdf")
plot(df)
dev.off()
//
- 「任意のテキスト、データフレーム、グラフを並べてpdfに出...
&ref{Rnw.png};~
⇩~
⇩~
⇩~
&ref{output.png};~
- gplotsパッケージにtextplotという関数があります。mfrowパ...
- 返信遅くなり申し訳ありません。質問は「テキスト,データ...
- 質問が変わるようで恐縮ですが、引き続きご教授お願いしま...
> grDevices::pdf.options(useDingbats = FALSE); utils::Sw...
Writing to file test1.tex
Processing code chunks with options ...
1 : keep.source term verbatim
2 : keep.source term tex
3 : keep.source term verbatim pdf
You can now run (pdf)latex on 'test1.tex'
�x�����bᦙ...
1: 'test1.Rnw' has unknown encoding: assuming Latin-1
2: package 'xtable' was built under R version 2.14.2
>
Running texi2dvi on test1.tex...failed
Error running C:/w32tex/bin/pdflatex.exe (exit code 9)
- 前のコメントに書いたのは完全な Rnw テキストではありませ...
1: 'test1.Rnw' has unknown encoding: assuming Latin-1
2: package 'xtable' was built under R version 2.14.2
ということですが,Sweave 関数にエンコーディングの指示はし...
具体的には,Sweave(file, encoding="euc-jp", ...) などのよ...
Windows だと Sweave はめんどうなんでしょうか。Windows の ...
- ご返答ありがとうございます。Sweave(file, encoding="euc-...
- > Sweave(file, encoding="euc-jp")なども試したのですが&b...
- ご返答ありがとうございます。おっしゃるとおりで、訂正し...
- フォローがないですね。Windows だから cp932 と短絡したわ...
- お陰さまで解決できました。TeXのmediabb.styがインストー...
**アクセスログの解析は、Rでは面倒なのでしょうか? [#b5344...
>[[tadashi]] (2012-05-17 (木) 14:28:27)~
~
Apacheのcombined形式のログをRで読み込んで処理しようと思っ...
//
- あなたにとってどの程度のことなら[非常に難しい」のか,...
- 誰にもわからないかどうかもわからないので少し他の人の回...
- 大抵のことはRubyでできるならRでもできますよ。~
お節介かもしれませんが言っておきますと、「誰にも分からな...
具体的な内容がよく分かりませんが、おそらく、gsub, strspli...
- 他の人の回答として書きます。代替法(Ruby)があるならそ...
**epsファイルの作成でエラー [#w04130ef]
>[[Toy]] (2012-05-16 (水) 22:03:33)~
~
Windows XPとWindows 7でR version 2.15.0を使用しています。~
プロットのタイトルやラベルに日本語を使用して、これをepsフ...
警告メッセージ:
1: 'mbcsToSbcs' 中の '繧ウ繝ウ繝励Λ繧、繧「繝ウ繧ケ' で変換に...
(以下略)
のようなワーニングが大量に出て、作成されたepsファイルを見...
これは、既知のバグなのでしょうか?~
それとも、何か対処法があるのでしょうか?~
//
- 「バグだ」というのは失礼でしょうね。既知ではあります。...
- バグだなどと申し上げて、大変失礼しました。御指摘のとお...
**地域R勉強会 [#gef0c8a5]
>[[tadashi]] (2012-05-12 (土) 14:18:50)~
~
いろいろあるみたいです。たとえば、札幌R勉強会とかあるみた...
//
**ファイル出力の方法を教えて下さい。 [#cac84e3a]
>[[のざわ]] (2012-05-03 (木) 15:18:29)~
~
soundと言うライブラリで、色々な音が作れる事が判りました。...
//
- saveSample じゃない?オンラインヘルプくらい読もうよ。li...
- 調べたつもりが見落としていたようです。お陰様で解決しま...
**mimRのエラー [#a2be8763]
>[[タカ]] (2012-05-03 (木) 06:37:33)~
~
いつもお世話になっております。~
グラフィカルモデリングを行うために、mimRをインストールし...
> data(carcass)
> gmd.carc <- as.gmData(carcass)
> m.main <- fit(mim(".", data=gmd.carc))
MIM returned NULL or NA, can not continue 以下にエラー
strsplit(mimFormula, "/") : 文字列でない引数です
原因を御存じの方がいらっしゃいましたら、ご指導いただける...
よろしくお願いいたします。~
~
使用環境は、~
R version 2.15.0 (2012-03-30)~
Platform: i386-pc-mingw32/i386 (32-bit)~
//
**dataframeの変数名を変数で指定したい [#v82b4f21]
>[[タカ]] (2012-04-29 (日) 21:24:21)~
~
いつもお世話になっております。~
~
データフレームを作成する際、変数名を他の変数で指定したい...
~
> x #xはデータフレーム
var
1 5
2 4
3 3
4 2
5 1
> y="var2" #変数名をvar2にしたい
> z=c(1,1,1,1,1)
> x=cbind(x,y=z)
> x
var y
1 5 1
2 4 1
3 3 1
4 2 1
5 1 1
~
上のように変数名をvar2として追加したいのですが、yになって...
変数で指定することはできないのでしょうか?~
よろしくお願いいたします。~
//
- これでどうでしょう -- [[tadashi]] &new{2012-04-29 (日) ...
> x
var
1 5
2 4
3 3
4 2
5 1
> z=c(1,1,1,1,1)
> x=cbind(x,var2=z)
> x
var var2
1 5 1
2 4 1
3 3 1
4 2 1
5 1 1
- 返答ありがとうございます。直接ではなく、変数を介して名...
- たとえば -- &new{2012-04-30 (月) 05:57:17};
> colnames(x) <- c("var",y)
> x
var var2
1 5 1
2 4 1
3 3 1
4 2 1
5 1 1
もっと簡単には
> colnames(x)[2] <- "var2"
- 返答ありがとうございます。colnames(x)[2]<-"var"を使って...
**テストデータ作成 [#mb08c767]
>[[tadashi]] (2012-04-27 (金) 16:33:04)~
~
POSデータの詳細行のようなテストデータをつくろうと思ってい...
orange 2
lemon 3
apple 5
lemon 2
apple 4
のようなサンプルデータです。for などつかわずにできそうな...
やりたいことは、文字列一覧からランダムに文字列を選んで、...
//
- sample 関数を使えばよいのでは。 -- [[河童の屁は,河童に...
n <- 10
Max <- 20
Kudamono <- c("orange", "lemon", "apple")
d <- data.frame(kudamono = sample(Kudamono, n, replace =...
kosuu = sample(Max, n, replace = TRUE))
こんな風なデータフレームが出来ますけど?
kudamono kosuu
1 orange 18
2 orange 5
3 apple 7
4 orange 6
5 lemon 1
6 lemon 11
:
- 例えば -- &new{2012-04-27 (金) 17:13:05};
> X <- as.data.frame(table(sample(month.abb[1:5],1000,re...
> X
Var1 Freq
1 Apr 196
2 Feb 220
3 Jan 204
4 Mar 191
5 May 189
- そういうデータなら,data.frame(Var1=month.abb[1:5], Fre...
- ありがとうございます。sample 関数がキモですね。単純な集...
- 間瀬先生のRプログラミングマニュアルをひととおり読めばわ...
- エクセルでは処理できない量のデータを扱いたいためにRを使...
- ExcelとRを比較することが無意味。Excelは表計算ソフトでR...
**複数グループの散布図の回帰直線を描くには? [#ac5a58f1]
>[[yamda]] (2012-04-22 (日) 11:51:20)~
~
例えば,1月〜12月に対し,変数A(90,86,88,82,75,67,55,46,3...
//
- 変数 A と変数 B の組が 12 ヶ月ぶんあるのですか?例に挙...
- 早速のご返信ありがとうございます。変な書き方をしてしま...
- ああ。そういうこと。ならば,
A <- c(90,86,88,82,75,67,55,46,36,21,17,10)
B <- c(72,61,52,49,39,36,30,27,23,20,16,12)
x <- 1:12
plot(x, A)
abline(lm(A~x))
points(x, B, col="red")
abline(lm(B~x), col="red")
でよいんじゃない? -- [[河童の屁は,河童にあらず,屁であ...
- ご教示いただいた方法で描画できました。大変助かりました...
**文字列とデータフレーム操作 [#b81ee8e7]
>[[hayashi]] (2012-04-19 (木) 20:51:21)~
~
変数名y1,y2,y3,y4,y5,.....y100 があり,"y1 + y4","y1 + y...
~
最終的に欲しい結果は,次のような結果です
y1 y2 y3 y4 y5....y100
1 1 0 0 1 0....0
2 1 1 0 1 1....0
df <- - data.frame(y1=0, y2=0, y3=0, y4=0, y5=0)
r1 <- "y1 + y4"
r2 <- "y1 + y2 + y4 +y5"
df
x1 <- c(1, 0, 0, 1, 0)
x2 <- c(1, 1, 0, 1, 1)
df2 <- rbind(df, x1)
df2 <- rbind(df2, x2)
df2
//
- 左辺に現れる変数名も自動で取り込むというようにも出来ま...
> set.seed(123456789)
> df <- as.data.frame(matrix(sample(0:1, 50, replace=TRU...
> colnames(df) <- paste("y", 1:5, sep="")
> df
y1 y2 y3 y4 y5
1 1 0 0 0 1
2 1 1 1 1 1
3 1 1 1 0 1
4 1 0 0 1 1
5 1 0 0 1 0
6 1 0 1 0 1
7 0 0 0 1 1
8 1 0 0 0 0
9 0 1 1 0 0
10 0 1 1 0 0
> r1 <- "y1 +y4"
> r2 <- "y1 + y2 + y4 +y5"
> func <- function(str) {
+ r1.e <- paste("rowSums(df[,",
+ paste("c(",
+ paste(
+ paste("'", unlist(strsplit(str, " *\\+ *"...
+ collapse=", "), ")", sep=""), "])", sep...
+ return(eval(parse(text=r1.e)))
+ }
> df2 <- df
> df2$r1 <- func(r1)
> df2$r2 <- func(r2)
> df2
y1 y2 y3 y4 y5 r1 r2
1 1 0 0 0 1 1 2
2 1 1 1 1 1 2 4
3 1 1 1 0 1 1 3
4 1 0 0 1 1 2 3
5 1 0 0 1 0 2 2
6 1 0 1 0 1 1 2
7 0 0 0 1 1 1 2
8 1 0 0 0 0 1 1
9 0 1 1 0 0 0 1
10 0 1 1 0 0 0 1
- ありがとうございます.自分の思っているものと少し違うの...
変数(列)は100列で一定です.文字列データが与えられるごと...
r1 <- "y1 +y4",
r2 <- "y1 + y2 + y4 +y5"
y1 y2 y3 y4 y5
1 1 0 0 0 1
(略)
11(r1) 1 0 0 1 0
12(r2) 1 1 0 1 1
(以下続く)
- > 文字列に出現した変数名をカウントしたい&br;というのに...
- はい.r1, r2 などに現れた変数の位置に 1 現れなかったら ...
- 最初から,そう説明してくれればよかったのに
> ncol <- 5 # 後で,100 にしてね
> func <- function(str) {
+ result <- integer(ncol)
+ x <- as.integer(gsub("y", "", unlist(strsplit(str, " ...
+ result[x] <- 1
+ return(result)
+ }
>
> r1 <- "y1 +y4"
> r2 <- "y1 + y2 + y4 +y5"
>
> df <- data.frame(matrix(func(r1), 1))
> colnames(df) <- paste("y", 1:ncol, sep="")
> df <- rbind(df, func(r2))
> df <- rbind(df, func("y1+y3+y5"))
> # あと,好きなだけ繰り返す
> df
y1 y2 y3 y4 y5
1 1 0 0 1 0
2 1 1 0 1 1
3 1 0 1 0 1
で,いいいですか?細かな仕様は自分で調整 -- [[河童の屁は...
- どうもありがとうございました.お手数おかけしてすみませ...
**数値の最大表示桁数 [#f2286967]
>[[BCD]] (2012-04-19 (木) 18:42:45)~
~
非常に桁数の大きな計算をしています。例えば以下のような計...
> (1e+307)*(1e+307)
[1] Inf
しかしながら、計算の桁数が大きいと計算結果が全てInfになっ...
//
- gmp パッケージなどを使えば可能でしょう。それでも,若干...
# フィボナッチ数列の 10000 項目を求める--- 2090 桁の数値
library(gmp)
a <- b <- as.bigz(1) # この場合は as.bigq でも同じ
for (i in 3:10000) {
c <- a+b
a <- b
b <- c
}
print(c)
//
- 巨大もしくは微小な数を通常の数値計算で扱う定石は途中の...
> x <- lchoose(1000, 500) / log(10) # 1000から500を選ぶ...
> x
[1] 299.4318271518637288864
> 10 ^ (x - floor(x))
[1] 2.702882409454304912799 # つまり 2.7028...e+299
- 桁数という場合,純粋に全桁が必要な場合(整数)と大きな...
> library(help=gmp)
> chooseZ(1000, 500)
Big Integer ('bigz') :
[1] 2702882409454365695156146936259752754961520084465482...
66254287055221938986124839245023701653626060850215461048...
99175498942196995184754236654842637517333561624640797378...
11194976045710449857562878805146009942194267523669158566...
4428109296905863799821216320
なんて具合にね。
**パッケージのインストールの不都合 [#t20293d4]
>[[さと]] (2012-04-18 (水) 09:58:44)~
~
4月から新しい環境で仕事を始めたのですが、インターネットに...
> utils:::menuInstallPkgs()~
--- このセッションで使うために、CRANのミラーサイトを選...
以下にエラー m[, 1L] : 次元数が正しくありません
なるエラーメッセージが出てインストールができませんでした...
新しい職場のシステム管理者はR使いではないので原因がわから...
//
**実行デモ [#f3cae9eb]
>[[教師]] (2012-04-15 (日) 23:05:22)~
~
講義で一連のR命令を実行していく様子を,プロジェクターでス...
何か適当な工夫,もしくはそれ用のパッケージをご存知なら教...
例えば,par(ask=TRUE) でひき続く画像出力を段階的に出力す...
~
よろしくおねがいします.~
//
- 画面に,コンソールとエディタを表示しておき,エディタに...
&ref(example.png);
- 行単位ではなくて式単位になってしましますが、evaluateを...
- 早速情報有り難うございます.河童さんのご提案は今一良く...
- 上のお二人目のやり方を少し整理してみました.この方法はR...
> Demo <- function(x) {require(evaluate);invisible(lappl...
+ function(y) {replay(y); invisible(readLines(n=1))}))}
> Demo("L1.R") # L1.R はR命令を羅列したテキストフ...
+ # (以下CRを押すごとに命令とその結...
Time difference of -1.1 secs
表示される)
Loading required north.ra package: evaluate
> ### R のデータタイプ
> x <- 1 # 数値(倍精度実数)
> x
[1] 1
> (x <- 1) # 付値と結果の表示を同時に行う
[1] 1
> (xx = 2) # 付値のもうひとつの形式
[1] 2
(以下省略)
- > お使いのエディターには選択した行をR端末で直に実行する...
- Mac版のRのエディタでは、実行したい行にカーソルを持って...
- 質問者さんは、ふたつ下でWin版Rについて質問されたのと同...
- emacs+ESSも検討しましたが,簡単な操作だけで順次実行する...
- ふーむ…ESSのC-c C-nとかも「簡単」ではないということにな...
- コンソール出力をファイルに保存してそれをWord なりなんな...
- いちおう先のレスで「ログをみせるのはナシで」という指定...
- 建設的なコメントをせよとのことのようなので,&br;debug ...
> func <- function() {
+ n <- 10
+ s <- 0
+ for (i in 1:n) {
+ s <- s+i^2
+ }
+ print(s)
+ }
> debug(func)
> func()
debugging in: func()
#1 の debug: {
n <- 10
s <- 0
for (i in 1:n) {
s <- s + i^2
}
print(s)
}
Browse[2]>
#2 の debug: n <- 10
Browse[2]>
#3 の debug: s <- 0
Browse[2]>
#4 の debug: for (i in 1:n) {
s <- s + i^2
}
Browse[2]>
#4 の debug: i
Browse[2]> cat(i, s)
0
Browse[2]>
#5 の debug: s <- s + i^2
Browse[2]>
#4 の debug: i
Browse[2]> cat(i, s, n)
1 1 10
Browse[2]>
#5 の debug: s <- s + i^2
Browse[2]>
#4 の debug: i
Browse[2]>
#5 の debug: s <- s + i^2
Browse[2]>
#4 の debug: i
Browse[2]>
#5 の debug: s <- s + i^2
Browse[2]> cat(s)
14
Browse[2]> cat(i)
4
Browse[2]> c
#7 の debug: print(s)
Browse[2]> Q
これはこれで,なかなか大変。 -- [[河童の屁は,河童にあら...
- どうしても上のDemoじゃダメなの? -- &new{2012-04-16 (...
- demo関数だと途中で前に戻ったりできないので、Rエディター...
- 今更ですが、WindowsではCtrl+Rです。リターンキーではなく...
**ノンパラメトリックとパラメトリック的なモデルの比較 [#if...
>[[北原]] (2012-04-13 (金) 18:09:05)~
~
Rとより一般的な統計の質問かもしれません。~
AICはパラメトリックモデルの比較に使う指数だと知っています...
~
よろしくお願いいたします。~
//
**Windows版Rのインストールガイドのおすすめ [#id5f6042]
>[[教師]] (2012-04-09 (月) 19:40:44)~
~
今年度からRを使った講義を受け持つことになった理工系大学の...
~
Windows 版 R のインストールについて現在最も参考になるサイ...
~
よろしくお願いします.~
//
- そうだと思います。 -- [[河童の屁は、河童にあらず、屁で...
- Window7 64bit 版を試しにインストールしてみました.勝手...
- R-2.14.2あたりのインストーラから、インストーラ自身の日...
- 情報ありがとうございます.Windows版の日本語Rのインスト...
**95% CI の算出について [#q5962599]
>[[Hiro? - 2]] (2012-04-09 (月) 12:22:04)~
~
cmprsk_2.2-1 を利用して、競合リスクを考慮したevent のCumu...
どうかお願いします。
install.packages("cmprsk")
library(cmprsk)
MYDATA
(症例は25例で、days:観察期間、censor:eventあり=1、eve...
(下記データをexcel上に作成)
days censor group
1 3 1 1
2 4 1 1
3 4 1 1
4 5 1 1
5 6 1 1
6 5 1 1
7 11 1 1
8 6 1 1
9 2 1 1
10 19 2 1
11 21 2 1
12 3 1 1
13 2 2 1
14 3 1 1
15 3 1 1
16 7 1 1
17 28 0 1
18 5 1 1
19 5 1 1
20 3 1 1
21 3 1 1
22 4 1 1
23 5 1 1
24 4 1 1
25 3 1 1
MYDATA <- read.delim(pipe("pbpaste"), header=TRUE) #(こ...
Event <- MYDATA
Event$censor <- ifelse(MYDATA$censor == 1, 1, 0)
Comp <- MYDATA
Comp$censor <- ifelse(MYDATA$censor == 2, 1, 0)
Mixed <- MYDATA
Mixed$censor <- ifelse(MYDATA$censor == 1, 1, ifelse(MYD...
result <- cuminc(MYDATA$days, MYDATA$censor, MYDATA$grou...
result2 <- timepoints(result, Event$days)
result2$"est"
2 3 4 5 6 7 ...
group 1 0.04 0.32 0.48 0.68 0.76 0.80 0.84 0.84 0.84 0.8...
group 2 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.08 0.12 0.1...
//
- result の中に分散が入ってます("var").これから信頼区...
- var は,適切な名前ではないけど,その平方根が標準誤差に...
- なるほど。result2$"var"で分散を求め、SONO -- [[Hiro? - ...
- result2$"var"でその時点での分散を計算し、95%CI=累積%+/...
**国勢調査をR化したけど、 [#neb4ebb5]
>[[tadashi]] (2012-04-06 (金) 00:58:14)~
~
windows 用のまずつくってみました。~
http://www.e-stat.go.jp/SG1/estat/List.do?bid=00000103499...
の1番目のです。~
ダウンロードは下記からできます。解凍してから読み込んでく...
http://it.isogaya.co.jp/koku001.zip ~
文字コードがshift-jis ぽいので、Linux ,Mac では読めないと...
> load("koku001.RData")
> names(koku001)
[1] "地域コード" "地域識別コード" "境域年次.2010." ...
[5] "地域名称" "人口22" "人口17" ...
[9] "人口増減率" "面積" "人口密度"
下記は、全国の人口を求めています。全国の集計を除いて、都...
t <- subset(koku001, 地域識別コード == "a")
t[1, 6]
t <-t[2:48,]
sum(as.numeric(t$人口22))
//
- 元の CSV ファイルを a <- read.csv("001.csv", skip=9, fi...
- いろいろ試してみたいので、よろしくお願いします。read.cs...
- Rで使うこと前提ならRDSの方がプラットフォーム気にせず読...
- ようするに元ファイルを河童さんの方法で読み込んで、それ...
- readRDS saveRDS を使うのですね。検索しても余り情報ない...
- 使う分には saveとloadで十分です。 -- &new{2012-04-06 (...
- MacOSXでも元のCSVファイルは読めるけど。他の書き込みもそ...
**read.table での文中ダブルクオーテーションの処理 [#q1a97...
>[[tadashi]] (2012-04-05 (木) 17:57:36)~
~
アクセスログをread.table で読み込んでいますが、結構トラブ...
"a" "b" "c"
"aa"a" "bbb" "ccc"
を
read.table(file = "test.tsv", sep = "\t", header = TRUE)
で読み込むと、
In read.table(file = "test.tsv", sep = "\t", header = TR...
'test.tsv' の readTableHeader で不完全な最終行が見つか...
というメッセージがでます。データ作成をRuby でやっているの...
//
- その警告メッセージはquotationとは無関係で、通常は無視し...
- え、通常は無視してオッケーなんですか。。。 -- [[tadas...
- 不完全な最終行の警告は読み込んだファイルの最後が改行で...
**衆議院小選挙区と国勢調査のdataset [#e86461e6]
>[[tadashi]] (2012-03-26 (月) 00:17:16)~
~
公開されているデータから、いろいろ面白い分析ができると思...
//
- なかなか興味深そうなデータですね -- [[okinawa]] &new{20...
- dataencoding はなんなんでしょうかね?読んでみることもで...
- ふつうにloadで読めるよ by Mac -- &new{2012-03-27 (火) ...
- encoding UTF-8 です。公開データをRで扱いやすくするのは...
- 45回の選挙結果のPDFがあるのですが、データ化が簡単にでき...
- PDFは画像でなくTEXTで作られていますか? -- [[okinawa]] ...
- Acrobat(Proで確認)を用いてhtmlで書き出したものを、Exc...
- 質問はキャンセルされたのか,見えないですね。&br;> デー...
- まずは、実験的な状況なので手軽にいきたいと思っています...
- このPDFは人手を入れずに整形は無理でしょう。本来は総務省...
- 素性のよく分からないファイルは開きたくない。開くにして...
- > ふつうにloadで読めるよ by Mac&br;そうですか。と,読ん...
> (e <- load("e"))
[1] "shu45"
「テキストエディット」で読んでみたけど,&br;
&ref(error.png);~
になった。&br;> encoding UTF-8 です。公開データをRで扱い...
- 思ったより人気ありそうですね。なんで先行してやっている...
- いや、それ読めてますよ。>河童さん。 詳しくは ?loadを...
**パワースペクトルの両対数図 [#p0322877]
>[[北原]] (2012-03-21 (水) 21:39:27)~
~
Rの初心者のものです。~
Rでパワースペクトル解析(spectrum)を行い、plotで図を描い...
教えてください。~
//
- 実際に呼ばれるのは plot.default かな?オンラインヘルプ...
&ref(loglog.png);
- 早速のご回答どうもありがとうございました。しかし、spect...
- spectrum の返すオブジェクトを str 関数で確かめれば,自...
layout(matrix(1:2, 1))
spg.out <- spectrum(UKgas, method="ar")
plot(spg.out$freq, spg.out$spec, log="xy", type="l")
layout(1)
これにより,以下の図が描かれます。 -- [[河童の屁は,河童...
&ref(loglog2.png);
- なるほどですね。ありがとうございました。ついてにもう一...
- > 95%信頼区間を表すバーが見えません。あれも描けるでし...
- plot.spec関数を用いていろいろやってみます。ありがとうご...
**三次元座標の移動について [#ue7fe831]
>[[順天太郎]] (2012-03-21 (水) 09:30:32)~
~
R 及び数学には初心者です。~
質問させていただきます。~
幾つかの点がxyz座標上にあります。~
その点を P (1,2,3), Q (3,-2,4), R (-,2.-5, 8), 1:5, sep=,...
あるxyz軸に対してか平面”(平面Aとする)を設定し、その平面...
2. 座標(?)全体を回転し、平面Aが平面xyと重なり、かつP, ...
3. この回転運動を行ったとき、上記P,Q,R,S, Tの新しい位置は...
宜しくお願いたします。~
順天太郎~
//
- その質問はRとどのように関係があるのでしょうか。答えてく...
**igraphを用いたグラフ化 [#o955df96]
>[[パン屋]] (2012-03-20 (火) 20:57:18)~
~
こんばんは。~
igraphを用いてグラフを書きました。
c1 <- c("a", "a", "a", "b", "b", "c")
c2 <- c("b"," c", "d", "c", "d", "d")
c3 <- c(5, 10, 1, 0, 100, 20)
tmp1 <- data.frame(c1 = c1, c2 = c2, c3 = c3)
library(igraph)
tmp2 <- graph.data.frame(tmp1[1:6,], directed = F)
E(tmp2)$weight <- c3
print(tmp2, e = TRUE, v = TRUE)
plot(tmp2, vertex.label = V(tmp2)$name,
layout = layout.fruchterman.reingold,
edge.label = E(tmp2)$weight)
としたのですが、重み(c3)が結果に反映されてないようです...
R version 2.14.2 (2012-02-29)
Platform: i386-pc-mingw32/i386 (32-bit)
other attached packages:
[1] igraph_0.5.5-4
//
- 重みを線の太さで表したいなら引数に edge.width = c3(ま...
- ありがとうございます。重みを線の長さで表す場合どうした...
- 二次元ユークリッド空間では,任意の点群を任意の長さの線...
- なるほど、そう言われればそうですね。だから多次元尺度構...
**mtext で空白を挿入 [#r68fc85d]
>[[サワボノリ]] (2012-03-16 (金) 23:49:52)~
~
こんにちは。~
plot(0, xlab="")
mtext(side=1, at=0.8, text="panda score=0", line=-4, adj...
mtext(side=1, at=0.8, text="cat score=1+", line=-5, adj=1)
とした時に 0 と 1 が揃うように表示したいのですが、やり方...
"+" と同じ幅の空白を挿入する方法がありましたら教えてくだ...
latex の \phantom{+} と同じようなものはないのでしょうか?~
//
- 直接の回答ではありませんが、私のやり方を紹介します。Rの...
\begin{overpic}[
bb= 0 0 504 504, trim=30 30 30 50,
width=0.48\linewidth, height=0.48\linewidth,
clip]{abc.eps}
\put(65,35){\tiny
\begin{tabular}[t]{|lcr|} \hline
○:ABC\rule[0pt]{0pt}{5pt} &$=$ & 0 \\
△:DEF\rule[-2pt]{0pt}{5pt} &$=$ & +1 \\\hline
\end{tabular}}
\end{overpic}
- ありがとうございます。さっそく試してみます。 -- [[サワ...
- 以下のようにすれば、等号の位置をあわせることは可能です...
mtext2 <- function(string, at, ...) {
eq <- regexpr("=", string)
len <- strwidth(substring(string, eq+1))
mtext(text=string, at=at+len, adj=1, ...)
}
plot(0, xlab="")
mtext2("panda score=0", 0.8, side=1, line=-4)
mtext2("cat score=1+", 0.8, side=1, line=-5)
このままでは汎用性がありませんから(等号がふたつ以上ある...
- そろえたい = の右側の幅を計算して、右揃えの位置を調整す...
**system()のスペース処理について [#vc1cb79d]
>[[Cent]] (2012-03-13 (火) 13:43:33)~
~
こんにちは。Ceut OS 5.1, R 2.13.2を使用しています。~
~
名前にスペースが含まれているディレクトリにsystem()でunix...
#"aaa bbb"というディレクトリにUNIXコマンドを実行する
dir_name <- "aaa bbb"
dir.create(dir_name)
path <- paste(getwd(),"/",dir_name, sep="")
system(paste("ls ",path," > ",path,"/ls_res.txt",sep=""))
この場合、以下のエラーメッセージが表示されます。
ls: bbb: そのようなファイルやディレクトリはありません
ls: bbb/ls_res.txt: そのようなファイルやディレクトリはあ...
gsub()でディレクトリ名の"aaa bbb"の半角スペースをエスケー...
gsub("aaa bbb","aaa\ bbb",path)
や
gsub("aaa bbb","aaa\\\\ bbb",path)
としてみましたが、 "/root/aaa\ bbb"という文字列をつくり出...
~
宜しくお願いします。~
//
- パスを ' でくくってやればよいです(ダブルクオート " で...
% ls aaa bbb
ls: aaa: No such file or directory
ls: bbb: No such file or directory
はだめだけど,以下の2つはちゃんと動く
% ls 'aaa bbb'
xxx.txt test99.dat test99.txt test99.log
% ls "aaa bbb"
xxx.txt test99.dat test99.txt test99.log
これが理解できれば,R から system 関数を使って操作するの...
dir_name <- "aaa bbb"
dir.create(dir_name)
path <- paste(getwd(),"/",dir_name, sep="")
system(paste("ls '",path,"' > '",path,"/ls_res.txt'",sep...
つまり,あなたのスクリプトで system に渡される文字列は
> paste("ls ",path," > ",path,"/ls_res.txt",sep="")
[1] "ls /foo/bar/aaa bbb > /foo/bar/aaa bbb/ls_res.txt"
なのですが, ' を挿入した文字列は以下のようになるのです。
> paste("ls '",path,"' > '",path,"/ls_res.txt'",sep="")
[1] "ls '/foo/bar/aaa bbb' > '/foo/bar/aaa bbb/ls_res.tx...
で,こうやって ' でくくられていればパス名に空白を含んでい...
- ありがとうございました。&br; シングルクォーテーションと...
- " と ' の関係は,詳しい説明もあります。本来はどちらかの...
- ありがとうございました。オンラインヘルプまであるとは驚...
**行単位の随時処理 [#q5cffcdb]
>[[SAS ユーザ]] (2012-03-10 (土) 14:10:23)~
~
Rで行単位にテキストファイル※を読み込み随時処理を行うこと...
目的は一度にメモリに乗り切らないような大量データの処理で...
AWKやSASのデータステップをイメージしています。~
readlines、及びscanは一度に全ファイルを読み込みに行くので...
~
※可能であればデータフレームに対しても同様の処理を行いたい...
//
- readLines/scanで読み込み行数を指定すればいいんじゃなか...
- 2回目以降も毎回先頭からn行読むだけなのでだめっぽい。 --...
- ファイルが read.table で読める構成ならば,read.table の...
- HDの容量が十分あるのなら,最初にファイルを連番ファイル...
- あまりニーズは無いのでしょうか。目的に沿う直接的な方法...
- >2回目以降も毎回先頭からn行読むだけなのでだめっぽい。 ...
- f <- file("hoge"); open(f); readLines(f, 1); readLines(...
- なるほど。file関数の返り値はファイルディスクリプタで、...
**データフレームの繰り返し処理 [#e7e0fa3b]
>[[tadashi]] (2012-03-09 (金) 17:36:51)~
~
アクセスログをRで分析するために、データフレームの繰り返し...
for (適当な変数名 in データフレーム) { データフレーム名$...
で使えるようなのですが、普通は使わないのでしょうか?~
//
- 抽象的な話ではなく,こういう風なデータをこういう風なプ...
for (file.name in c("a.dat", "b.dat", "c.dat")) {
x <- read.table(file.name)
x を使った処理
}
としてもよいし,処理の部分を関数にして
処理 <- function(ファイル名) {
処理の実体
}
実際の実行はそれぞれのファイルに対してということで
sapply(c("a.dat", "b.dat", "c.dat"), 処理)
とやってもよいだろう。後者の場合は,試験的にというか,少...
処理("foo.dat")
などということが出来るということだろう(前者でも出来るけ...
ということがわかると,このようなことは別にたいしたことで...
- いろいろやり方があるんですね。ありがとうございます。 --...
いろいろためしてみたら、こんなことができるのですね。~
paste の部分 if (t$a1 != t$a2 ){1}else{0} のようにして、a...
> data.frame(t$a1,t$a2,paste(t$a1,t$a2))
t.a1 t.a2 paste.t.a1..t.a2.
1 a a a a
2 b c b c
3 c b c b
- R では,論理演算の結果は TRUE/FALSE となりますが,それ...
- 残念うまくいきません。論理演算は使えないのでしょうか
> data.frame(s21$seq,s21$ip,s21$ip1,(s21$ip != s21$ip1 )...
以下にエラー Ops.factor(s21$ip, s21$ip1) : 因子の水準セ...
できた。式の間に空白をいれてはいけないのですね。
> data.frame(t$a1,t$a2,result=(t$a1!=t$a2)+0)
t.a1 t.a2 result
1 a a 0
2 b c 1
3 c b 1
> t<-data.frame(a1=c('a','b','c'),a2=c('a','c','b'))
> data.frame(t$a1,t$a2,result=(t$a1!=t$a2)+0)
t.a1 t.a2 result
1 a a 0
2 b c 1
3 c b 1
- 投稿欄の上にリンクがある[[投稿における注意事項]]を読ん...
- すみません。どこが書式に反しているのでしょうか? わか...
dashi]] &new{2012-03-10 (土) 21:07:14};
- 一番の問題は,「編集画面」で記事を書いた(もしくは,編...
- おっと、編集画面で記事を書いてはいけないのですね。失敗...
- それから、コメント欄では、wiki の書式が使えないので、コ...
- read.table で読み込むときに因子化されるのが問題でした。...
- なんとかできるようになりました。~
やりたいことは、1行ずらして並べて、ipアドレスがかわるとこ...
fr='20111010.tsv'
文字での読み込みにして、因子化を避けます。~
as.is=c(TRUE) は、一個だけだと文字列を全部そのまま文字列...
log<-read.table(
file=fr,header=FALSE,sep="\t",as.is=c(TRUE))
通常のログの形式の先頭に、unix timestamp などをつけていま...
names(log)<-c(
"utime","yyyy","mm","dd","hour","minute","second",
"ip","identd","user","datetime","request","code",
"bytes","referer","agent")
ip と時刻で並べ替え、~
t<-order(log$ip,log$utime)
log<-log[t,]
ip,utimeを切り出します。この時点で、因子化されてしまいま...
s1<-data.frame(ip=log$ip,utime=log$utime)
s2<-data.frame(ip=log$ip,utime=log$utime)
t<-data.frame(ip="999.999.999.999",utime=0)
ずらして並べます。~
s2<-rbind(s2,t)
s2<-s2[-1,]
t<-nrow(s1)
s1<-cbind(seq=1:t,s1)
s2<-cbind(seq=1:t,s2)
names(s2)<-c('seq','ip1','utime1')
s12<-merge(s1,s2)
因子をcharacter に戻します。
s12$ip<-as.character(s12$ip)
s12$ip1<-as.character(s12$ip1)
ip アドレスが変わるところに 1 をたてます。~
s12$test<-(s12$ip != s12$ip1)+0
head(s12)
seq ip utime ip1 utime...
1 1 114.80.93.71 1318209476 114.80.93.71 131820953...
2 2 114.80.93.71 1318209532 114.80.93.71 131820953...
3 3 114.80.93.71 1318209532 119.235.237.16 131818620...
4 4 119.235.237.16 1318186208 119.235.237.16 131820717...
5 5 119.235.237.16 1318207179 119.235.237.19 131818739...
6 6 119.235.237.19 1318187392 119.235.237.19 131825786...
- かなりよくなりましたね。ただ、これは、マニュアルにも記...
- pukiwiki が使えないと質問するのは大変ですね。エクセルし...
- > pukiwiki が使えないと質問するのは大変ですね&br;このWi...
**集計表の作成 [#h58aa398]
>[[のす]] (2012-03-09 (金) 06:21:30)~
~
よろしくお願いします
A B C D
1 赤 青 黄 白
2 赤 黄 白 白
3 青 白 白 黒
4 白 黄 赤 黒
5 黒 白 青 青
6 赤 赤 赤 赤
このような表から
A B C D
赤 3 1 2 1
青 1 1 1 1
黄 0 2 1 0
白 1 2 2 2
黒 1 0 0 2
このようなクロス集計表を得たいのですが、どのようにしたら...
いままでtableを使って列ごとに処理した後、エクセルで成型し...
~
環境は Win7 64, R2.14.1です。~
//
- データフレームを d として,以下のようにすればよいでしょ...
> sapply(lapply(d, factor, levels=names(table(sapply(d, ...
A B C D
黄 0 2 1 0
黒 1 0 0 2
青 1 1 1 1
赤 3 1 2 1
白 1 2 2 2
- 別解。 -- [[河童の屁は,河童にあらず,屁である。]] &new...
> a <- data.frame(color = c(sapply(d, factor)),
+ group = rep(LETTERS[1:4], each=6),
+ count = rep(1, 24))
> xtabs(count ~ color + group, a)
group
color A B C D
黄 0 2 1 0
黒 1 0 0 2
青 1 1 1 1
赤 3 1 2 1
白 1 2 2 2
- ありがとうございます。いろいろと試しているますが、理由...
最初に教えていただいた方法では、データによっては
以下にエラー table(sapply(d, levels)) :
全ての引数は同じ長さでなければなりません
というエラーが出力されるのですが、理由がわかるでしょうか...
- 理由?引数の長さが違うということなのでしょう。データは...
- そうですね。ありがとうございました。 -- [[のす]] &new{2...
- エラーの解析の結果はどうだったでしょうか?&br;ヒマだった...
A B C D
1 黄 黄 赤 黄
2 黄 黄 白 青
3 白 黄 赤 白
4 赤 黄 黄 白
5 赤 黄 黒 白
6 黄 黄 白 黒
エラーが起きる原因は,sapply(d, levels) の結果得られるリ...
> sapply(d, levels)
$A
[1] "黄" "赤" "白"
$B
[1] "黄"
$C
[1] "黄" "黒" "赤" "白"
$D
[1] "黄" "黒" "青" "白"
つまり,この例だと A の要素数は3,B の要素数は 1,C,D の...
> table(sapply(d, levels))
以下にエラー table(sapply(d, levels)) :
全ての引数は同じ長さでなければなりません
というエラーが出てくるのですね。&br;そして,なぜ,そうい...
> table(list(a=c("a", "b"), b=c("a", "c"), c=c("c", "x")))
どんな答えが出てくるか,プログラムを実行せずに予測してみ...
> sapply(lapply(d, factor,
+ levels=names(table(unlist(sapply(d, levels))))),
+ ~~~~~~~ ~
+ table)
A B C D
黄 3 6 1 1
黒 0 0 1 1
青 0 0 0 1
赤 2 0 2 0
白 1 0 2 3
当然ながら,別法による答えと同じになることは確かめました。
> a <- data.frame(color = c(sapply(d, factor)),
+ group = rep(LETTERS[1:m], each=n),
+ count = rep(1, n*m))
> xtabs(count ~ color + group, a)
group
color A B C D
黄 3 6 1 1
黒 0 0 1 1
青 0 0 0 1
赤 2 0 2 0
白 1 0 2 3
思い込みとは恐ろしいものです。 -- [[河童の屁は,河童にあ...
- 河童さん ありがとうございました。解析は、教えていただ...
**Rでグラフなどの出力をMathematicaのノートブック風にでき...
>[[kejuyan]] (2012-03-08 (木) 00:06:40)~
~
Rでグラフなどの出力をMathematicaのノートブック風にできな...
私の環境は、Windows7,R-2.12です。~
色々調べたところTeXmacs + Rという組み合わせで実現できるよ...
TeXmacs + Rに限らず、Windows7でRの出力をMathematica風に出...
//
- http://kougaku-navi.net/maxima.html によれば,「TeXmacs...
**データフレームを正規表現を条件にして抽出する [#e103708c]
>[[tadashi]] (2012-03-05 (月) 15:26:37)~
~
apache のアクセスログのデータフレームで、user-agent のと...
subset(データフレーム、条件(正規表現))のように書くと思...
//
- 「bot の文字がはいっているデータ(列)を抽出したい」の...
> (d <- data.frame(
UserAgent=c("foo", "bar", "bot", "baz", "robots"),
x=LETTERS[1:5]))
UserAgent x
1 foo A
2 bar B
3 bot C
4 baz D
5 robots E
# データフレームの UserAgent 列に "bot" という文字列を含...
> d[grepl("bot", d$UserAgent),]
UserAgent x
3 bot C
5 robots E
- ばっちりです。ありがとうございます。おっと、行ですね。...
**ファイルが読み込めない [#m0bf4cda]
>[[ユーザー]] (2012-03-05 (月) 11:11:10)~
~
read.tableコマンドでCSVファイルを読み込もうとしましたがう...
以下、コマンドと警告です。
> Ar1TestData <- read.table("C:\Users\g-fujimoto\Dropbox...
エラー: "C:\U"で始まる文字列の中で8進文字なしに'\U'が...
//
- Windows では,パスの区切り文字を \ ではなく \\ にしない...
- ありがとうございました。うまくいきました。 -- [[ユーザ...
**WindowsからのイベントID(E) 63のエラー警告について [#zc5...
>[[saito]] (2012-03-04 (日) 10:20:33)~
~
OS Windows7 x64を使用しておりますがイベントID(E)63のエラ...
上記のようなエラーメッセージですが気に病むような問題なの...
//
**パッケージのソースコードについて [#j06b50a6]
>[[みのむし]] (2012-03-02 (金) 15:24:49)~
~
Rを使って計量経済学の分析をしています。~
~
最近ある研究者が自分の開発した手法をRで使うためのパッケー...
~
私は彼の手法を少し改良したものを実際の分析で使いたいと考...
そこで、彼の作成したパッケージに手を加えたいのです。~
~
ところが、ダウンロードしたパッケージを見ると、拡張子がrdb...
~
Rのパッケージのソースコードを読むにはどうすれば良いのでし...
どなたかご教示いただければ大変幸いです。~
//
- rdb rdx r の3語で google 検索してみると,いろいろ出てき...
- お返事ありがとうございます。下記の2月20日の質問では、R...
- > 中にはソースが非表示になっているパッケージもあるとい...
**データの抽出 [#e540bfa6]
>[[tsujimo]] (2012-03-01 (木) 00:41:25)~
~
最近Rを触り始めました~
#用語がおかしかったらお知らせください,なるべく改めて行き...
~
データフレームからデータを抽出するのに以下を試みましたが,...
c(1,3)で抽出しようとしたものは何が抽出されたのでしょうか?~
どういうデータが取りこぼされたのでしょうか?~
#結果のデータを見比べて見ても特に規則性は見えませんでした
> nrow(raw[which(raw["Q1"]==c(1), useName=TRUE, arr.ind=...
[1] 8526
> nrow(raw[which(raw["Q1"]==c(3), useName=TRUE, arr.ind=...
[1] 14750
> nrow(raw[which(raw["Q1"]==c(1,3), useName=TRUE, arr.in...
[1] 11546
ある行"Q1"を選択肢に複数の不連続な選択番号で抽出したかっ...
複数の不連続な選択番号(ここではc(1,3))を関数の引数として...
ループ版は作れたのですが悲しい位遅いです~
以上よろしくお願いします~
//
- %in% -- &new{2012-03-01 (木) 02:39:56};
- 挙動がおかしいなと思う場合は,全体が見通せる簡単なデー...
s2;
> set.seed(1)
> (raw <- data.frame(Q1=1:5, x=sample(LETTERS, 5))) # 簡...
Q1 x
1 1 G
2 2 J
3 3 N
4 4 U
5 5 E
> raw[which(raw["Q1"]==c(1), useName=TRUE, arr.ind=TRUE),]
Q1 x
1 1 G
1.1 1 G
# arr.ind を指定するのがおかしい
> which(raw["Q1"]==c(1), useName=TRUE, arr.ind=TRUE)
row col
[1,] 1 1
# raw へ渡される引数(行番号)がおかしいことが分かる
> raw[which(raw["Q1"]==c(3), useName=TRUE, arr.ind=TRUE),]
Q1 x
3 3 N
1 1 G # 意図しないものも抽出されている なぜだろうかと...
> which(raw["Q1"]==c(3), useName=TRUE, arr.ind=TRUE)
row col
[1,] 3 1
> raw[which(raw["Q1"]==c(1, 3), useName=TRUE, arr.ind=TR...
Q1 x
1 1 G
1.1 1 G
> which(raw["Q1"]==c(1, 3), useName=TRUE, arr.ind=TRUE)
row col
[1,] 1 1
> raw[raw[,"Q1"] %in% c(1, 3),] # これが解
Q1 x
1 1 G
3 3 N
**セル平均と切片 [#e369ffb4]
>[[そとの]] (2012-02-28 (火) 10:15:35)~
~
ネットでみつけたデータを使って回帰分析の勉強をしています。
d <- read.table("http://personality-project.org/r/datase...
lm1 <- lm(Alertness ~ Gender * Dosage, data=d)
上の回帰分析で求められる切片と下の計算で得られる平均が同...
mean(d$Alertness[d$Gender=='f' & d$Dosage=='a'] )
summary(lm1)$coef[1,2]
sd(d$Alertness[d$Gender=='f' & d$Dosage=='a'] )
このふたつは同じになるものではないのですか?直接的なRの質...
//
- Std. ErrorはStandard errorのことでStandard deviationと...
- すみません。間違えました。 sd(d$Alertness[d$Gender=='f'...
- なぜ同じになると思ったのですか?単に,標準偏差と標準誤...
**pisa2009データ 150メガバイトに必要はメモリは? [#e7ff5b...
>[[tadashi]] (2012-02-25 (土) 10:38:36)~
~
http://pisa2009.acer.edu.au/downloads.php の生徒の回答(...
//
**lmtest, zooのロード [#z0173e80]
>[[akira uegaki]] (2012-02-22 (水) 23:10:18)~
~
Mac OS X (10.7.2)ですが、パッケージlmtestをインストール後...
//
- lmtest は zoo を必要とするわけです。zoo はインストール...
- ありがとうございます。lmsetをインストールすると、zooも...
- ありがとうございます。lmsetをインストールするとzooも勝...
- 自動的に依存パッケージもインストールされるようにするた...
- 将来的にdepが一意でなくなる可能性も否定できないので、人...
- Windows でもそうなんだけど,パッケージのインストールは...
**dataset パッケージ [#a91caa3f]
>[[tadashi]] (2012-02-21 (火) 18:16:56)~
~
dataset パッケージ library/datasets/html/00Index.html に...
//
- CRANにある R Function Help Page という日本語文献の12...
- 新しいページを作った--[[パッケージ 'datasets' の情報:ht...
- [[ここ:http://d.hatena.ne.jp/hoxo_m/20120214/p1]]にもあ...
- 日本の統計情報もあるといいですね。 -- [[tadashi]] &new{...
- 日本の人口統計だけならfmsbパッケージにある程度入ってい...
**Rで開発したソフトの配布 [#yb317d07]
>[[ひろ]] (2012-02-20 (月) 23:09:37)~
~
Rで開発したソフトを配布したいのですが,ソースコードが丸見...
1.Rの難読化か機械語にコンパイル方法ありますでしょうか?私...
2.compilerパッケージでコンパイルしてみましたが,ソースコ...
//
- そのような有用なソフトは,ライブラリとして登録するのが...
- "河童の屁は,河童にあらず,屁である"さんのおっしゃられ...
- どうしてもソースを簡単に見せたくないなら、C言語か何かで...
- Rのライセンス体系がソースコードを非開示にできるものか私...
**windowsでUTF8の対応について質問 [#w0bf5056]
>[[ひろ]] (2012-02-20 (月) 15:10:24)~
~
UTF8に依存した文字コードを含む文字列データをR言語を使って...
~
1. WindowsでもUTF8はShift-JISの同様に簡単に処理できますか...
2. Mac/Linuxへの移行を検討した方がいいでしょうか?~
3. Windows版Rは近い未来にUTF8に対応するか否か?~
//
- 1に対して。例えば read.table には fileEncoding という引...
- 「readTableHeader で不完全な最終行が見つかりました」「...
- 不完全な最終行というのは、ファイルの最後が改行文字で終...
- 改行EOFは正しくありました.おかしいと思って調べてみたと...
- 問題解決しました.ありがとうございまいた. -- [[ひろ]] ...
**モデルに基づくクラスター分析(mclust)"hc for EEE model i...
>[[おちあい]] (2012-02-20 (月) 04:47:08)~
~
モデルに基づくクラスター分析の勉強のために、以下のスクリ...
> install.packages("mclust")
> iris2<-iris[51:150, 1:4]
> library(mclust)
> plot(EMclust(iris2))
> mhc <- hc(modelName="EEE", data=iris2) # もとはEEE
ここまで来ると
以下にエラー hcEEE(data = iris2) :
hc for EEE model is not currently supported
が表示されます。~
他のモデル、EII、VII、VVVではこのエラーは表示されません。~
EEEのモデルを採用し処理を続けるにはどうしたらよいのでしょ...
使用環境~
R version 2.14.0 (2011-10-31)~
Platform: x86_64-pc-mingw32/x64 (64-bit)~
Windows 7
//
- not currently supported といわれているのだからどうしよ...
hcEEE の 29 行目に stop があるが,それを除いたとしても,...
stop("hc for EEE model is not currently supported")
temp[[4]] <- temp[[4]][1:2]
temp[[5]] <- temp[[5]][1:2]
: 以下略
- アドバイスありがとうございます。どうやっていくかもう少...
**パッケージが読み込めない [#ud877306]
>[[ひらやま]] (2012-02-18 (土) 10:40:35)~
~
~分布モデル作成に有用なdismoパッケージを使っているのです...
以下のことは試してみましたが解消されません。~
・パッケージの更新~
・パッケージの削除、再インストール~
・旧バージョンのパッケージの使用~
・Rをアンインストールし、再インストール ~
また、昨日まで問題なくdismoパッケージが読み込めていた別PC...
どのように対処していいものか悩んでおります。ご助言いただ...
使用環境~
OS: Windows 7~
R version: 2.14.1~
対象package: dismo~
//
**barplot [#h3b863a5]
>[[ただばやし]] (2012-02-04 (土) 14:51:06)~
~
積み上げグラフを書いていて、バーを塗りつぶした上に模様を...
barplotで図を書いているのですが、angleとcolで模様を変えた...
ご助言頂けますと助かります。~
よろしくお願いします。~
//
- parコマンドで重ね書きすることができ、解決しました!あり...
- 最初の方でよいのですか?「群集組成を示す図で生物の属ごと...
x <- matrix(sample(10:50, 20), 4)
dimnames(x) <- list(LETTERS[1:4], letters[1:5])
barplot(x, col = c("#aa000070", "#00aa0070",
"#0000aa70", "#aa660070"))
par(new = TRUE)
barplot(x, col = 1:4, angle = 1:4 * 45, density = 10)
&ref(barplot1.png);~
で,次のがあなたの要望に添うものではないかな?と&br;棒の塗...
mp <- barplot(x, col = seq_len(nrow(x)) + 1)
rect(mp - 0.5, 0, mp + 0.5, colSums(x), col = "black", d...
angle = 45 * seq_len(ncol(x)))
&ref(barplot2.png);~
しかし,できあがったものを見れば分かりますが,棒のハッチ...
- つくりたい積み上げグラフは始めにしていただいた回答で問...
**ARFIMAのdについて [#ed028887]
>[[のざわ]] (2012-02-04 (土) 08:36:34)~
~
宜しくお願いします。~
~
以下のようなプログラムで和分を実数と整数(1)にしてsummary...
何かバグでもあるのでしょうか?
library(fracdiff)
AP.d <- fdGPH(AirPassengers)$d
AP.fra <- fracdiff(AirPassengers, nar = 3, dtol = AP.d, ...
summary(AP.fra)
AP.fra <- fracdiff(AirPassengers, nar = 3, dtol = 1.0, n...
summary(AP.fra)
//
- dtol が何であるかは分かっておられる?&br;interval of unc...
- なるほど、そういう事ですか。あれこれのサイトに、こうい...
**arima関数エラーをtry()でキャッチする方法について [#me7c...
>[[Yuki]] (2012-02-01 (水) 16:10:38)~
~
多数の時系列データをARIMAモデルで予測したいと考えています...
try関数によりエラーとなった場合は次のデータに行くようなプ...
私が引っかかっている箇所は以下になります。~
利用データ:(エラーとなった1データのみ記載しています。実...
myts <-ts(c(92,85,77,178,174,161,93,81,120,136,84,117,92...
142,205,142,75,60,92,113,93,128,64,72,71,89,...
86,81,85,57,79,86,83,99,89,132,136,89,85,107...
79,79,80,40,99,178,77,97,89,81,73,126,129,16...
120,106,105),freq=7, start=c(7,13))
arimaで処理が正常に終わる場合、以下のように、
> (class(try(fit <- arima(myts,order=c(1,1,1),method="CS...
[1] "Arima"
が返ってきますので、下記のようにifelse関数を用いてmyresに...
> (myres <-ifelse(class(try(fit <- arima(myts, order = c...
method = "CSS-ML"), silent = true)) == "Arima", TRUE,...
[1] TRUE
正常にARIMAで予測できる場合は、期待通り「TRUE」が返ってき...
しかし、エラーとなるmethod="ML"で実行すると、期待した「FA...
> (myres <-ifelse(class(try(fit <- arima(myts, order = c...
method = "ML"), silent = true)) == "Arima", TRUE, FAL...
以下にエラー value[[3L]](cond) : オブジェクト 'true' ...
追加情報: 警告メッセージ:
In arima(myts, order = c(1, 1, 1), method = "ML") :
possible convergence problem: optim gave code=1
のようにエラーとなりますが、myresの値は更新されず、以下の...
> myres
[1] TRUE
念のため、myresをrmしてから確認すると、以下のようにmyres...
> rm(myres)
> (myres <-ifelse(class(try(fit <- arima(myts, order = c...
method = "ML"), silent = true)) == "Arima", TRUE, FAL...
以下にエラー value[[3L]](cond) : オブジェクト 'true' ...
追加情報: 警告メッセージ:
In arima(myts, order = c(1, 1, 1), method = "ML") :
possible convergence problem: optim gave code=1
> myres
エラー: オブジェクト 'myres' がありません
利用環境は以下のとおりです。
Rのバージョン:2.14.1
OS:WindowsXP SP3
利用パッケージ:
stats graphics grDevices utils datasets method...
どうぞよろしくお願い致します。
//
- 凡ミスでしょう。try の引数 silent に,あなたは true を...
> (myres <-ifelse(class(try(fit <- arima(myts, order = c...
+ method = "ML"), silent = TRUE)) == "Arima", TRUE, F...
[1] FALSE ←←← FALSE になりますよ
警告メッセージ:
In arima(myts, order = c(1, 1, 1), method = "ML") :
possible convergence problem: optim gave code=1
それと,ifelse は不要。以下と同じ。
> (myres <-class(try(fit <- -data.frame(ip=arima(myts, o...
+ method = "ML"), silent = TRUE)) == "Arima" )
- ご回答どうもありがとうございました。凡ミスで大変失礼い...
**expressionについて [#z22eb028]
>[[まあくん]] (2012-01-26 (木) 10:32:57)~
~
expression()の使い方ですが、
expression(paste(bgroup("(", atop(n, x), ")"), p^x, q^{n...
を
temp <- "q^{n-x}"
expression(paste(bgroup("(", atop(n, x), ")"), p^x, temp))
のように書き換えたいのですが、うまくいきません。どのよう...
//
- ちょっとまだるっこしいのだけど,以下のようにすればいか...
temp <- "q^{n-x}"
eval(parse(text=paste('expression(paste(bgroup("(", atop...
temp, '))', sep='')))
- ありがとうございました。 -- [[まあくん]] &new{2012-01-2...
**コレスポンデンス分析の散布図表示 [#q8996143]
>[[のす]] (2012-01-23 (月) 18:02:07)~
~
投稿ルールも読まず、汚い投稿をしてしまい重ね重ね申し訳あ...
お詫びします。~
先ほどの、質問ですが、以下の様な処理を行った場合、「小学...
ところが、「Excelで学ぶコレスポンデンス分析」(高橋信 著...
これをRで行い、2つのグラフが得られるようにしたいのですが...
よろしくお願いします。~
環境はwin7(64)~
R ver 2.14.1です。
library(MASS)
y <- data.frame(小学生 = c(4, 3, 4, 7, 3), 中学生 = c(5,...
高校生 = c(6, 2, 3, 7, 6), 大学生 = c(7,...
rownames(y) <- c("イチゴ", "みかん", "ぶどう", "りんご",...
y.coa <- corresp(y, nf=2)
biplot(y.coa, main="好きな果物調べ")
//
- こんな図を描きたいのですか?でも,2つの図を一緒にした bi...
layout(matrix(1:2, 2))
old <- par(mar=c(3, 3, 1, 3), mgp=c(1.6, 0.6, 0))
plot(y.coa$rscore)
text(y.coa$rscore, label=dimnames(y.coa$rscore)[[1]], po...
plot(y.coa$cscore)
text(y.coa$cscore, label=dimnames(y.coa$cscore)[[1]], po...
par(old)
layout(1)
&ref(biplot.png);
- ありがとうございます。重ね重ね失礼いたしました。ご教授...
- 先ほどの書き込みは削除しました。ご了承ください。 -- [[...
**陰関数のplotについて [#q71b56b6]
>[[るち]] (2012-01-23 (月) 15:11:05)~
~
はじめまして。~
今T^2管理図の管理限界楕円を図に出したいのですが、その前に...
~
円であれば半径の指定さえすれば表示できることはわかるので...
//
- T^2管理図を知らないので、直接的な答えにならないと思いま...
> i <- seq(from = 0, to = 2 * pi, length = 50)
> plot(6 * cos(i), 2 * sin(i), type = "l", asp = 1)
- ありがとうございます。これを陰関数でも適応することは可...
- 高校数学程度の知識があれば、上に示した例を使って、ご要...
**npパッケージのnpcmstestでbwsで具体的にbandwidthを指定す...
>[[ななみ]] (2012-01-21 (土) 21:55:03)~
~
はじめまして。npパッケージでモデルの検定をしています。
model <- lm(Y ~ X, y = TRUE, x = TRUE)
X <- data.frame(X)
npcmstest(model = model, xdat = X, ydat = Y, bws = 1)
のようにバンド幅を指定すると
「仮引数 ”bws” が複数の実引数にマッチしました」
というエラーがでてしまいます。~
どなたか、これに対する解決方法をご存じでしたらお教え頂き...
//
- 再現できる最小のサンプルデータがないと答えるのが難しい...
**関数内で、引数を文字列として使用したい [#w1823fb7]
>[[masa]] (2012-01-19 (木) 14:13:00)~
~
お世話になります。~
ヘルプやこのサイトを検索して見つけられず、非常に基本的な...
下記のような関数で階層化クラスタリングを行おうとしていま...
myhc <- function(varset, dataset) {
hc <- hclust(dist(model.matrix(varset, dataset)), metho...
plot(hc, main= paste("Cluster Dendrogram for Solution",...
xlab= paste("Observation Number in", datasetname),
sub="Method = Ward; Distance = Euclidian",
hang=-1)
rect.hclust(hc, k = 5, border = "red")
dev.print(jpeg, filename = paste(dataset, ".jpg"), widt...
}
sessionInfo()~ [#w973c77e]
R version 2.14.1 (2011-12-22)
Platform: i386-pc-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=Japanese_Japan.932 LC_CTYPE=Japanese_Jap...
[3] LC_MONETARY=Japanese_Japan.932 LC_NUMERIC=C ...
[5] LC_TIME=Japanese_Japan.932
attached base packages:
[1] splines graphics stats utils grDevices tc...
other attached packages:
[1] RODBC_1.3-4 Rcmdr_1.8-1 relimp_1.0-3 c...
[5] survival_2.36-10 nnet_7.3-1 MASS_7.3-16
loaded via a namespace (and not attached):
[1] tools_2.14.1
//
- すみません1つ上の「関数内で、引数を文字列として使用した...
- 肝心の質問は「関数 myhc に dataset としてたとえば kome ...
- function(x) deparse(substitute(x)) -- &new{2012-01-19 ...
- おっしゃるとおり,基本的ですが,filename = paste(depars...
- 迅速にありがとうございます、うまくいきました。 (sessio...
**merge()でbyに複数列指定する方法 [#e4f7a09d]
>[[zou]] (2012-01-16 (月) 16:33:26)~
~
merge()で、by= に複数列指定する方法があれば教えて下さい。
(x <- data.frame(
name1 = c("tanaka", "tanaka", "tanaka", "suzuki", "su...
year1 = c("2000", "2001", "2005", "2000", "2005", "20...
test1 = 1:6))
(y <- data.frame(
name2 = c("tanaka", "tanaka", "suzuki", "tanaka", "su...
year2 = c("2000", "2001", "2000", "2005", "2005", "20...
test2 = c(11, 12, 14, 13, 15, 16)))
# m1 <- merge(x, y, by.x = "name1", by.y = "name2", all...
ほしい結果は次のものです。よろしくお願いします。~
なお、ソートして結合するやり方ではなく、merge()を使いたい...
tanaka 2000 1 11
tanaka 2001 2 12
tanaka 2005 3 13
suzuki 2000 4 14
suzuki 2005 5 15
suzuki 2008 6 16
//
- オンラインヘルプを良く読みましょう。"Columns can be spe...
> merge(x, y, by.x = c("name1", "year1"), by.y = c("name...
+ all = TRUE, sort = FALSE)
name1 year1 test1 test2
1 tanaka 2000 1 11
2 tanaka 2001 2 12
3 tanaka 2005 3 13
4 suzuki 2000 4 14
5 suzuki 20, 05 5 15
6 suzuki 2008 6 16
- ありがとうございました。よくヘルプを読んでおらず、お手...
**Rcmdrへの日本語を含むファイルパスのデータのインポート [...
>[[mamiy]] (2012-01-16 (月) 11:52:48)~
~
いつもお世話になっております。~
~
R2.13.2を使用していましたが、最近、R2.14.1に変更しました。~
R2.13をアンインストールしてから、R2.14.1をインストールし...
[3] エラー:
<86><e3><82>ケ繝育畑繝<87>繝シ繧ソ/test.csv", header=TRUE...
na.strings="NA", dec=".", strip.white=TRUE)に不正なマ...
R2.13.1でもR2.13.2でもエラーはなく、日本語を含むファイル...
データのインポートを実行した際にRコマンダーのスクリプトウ...
ご存じの方、おられましたら、お教えください。よろしくお願...
sessionInfo()の結果は
R version 2.14.1 (2011-12-22)
Platform: i386-pc-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=Japanese_Japan.932 LC_CTYPE=Japanese_Jap...
LC_MONETARY=Japanese_Japan.932
[4] LC_NUMERIC=C LC_TIME=Japanese_Japa...
attached base packages:
[1] stats graphics grDevices utils datasets me...
よろしくお願いいたします。~
//
**forループとplotの組み合わせを高速化したい [#q0ee7591]
>[[宗二]] (2012-01-15 (日) 16:02:34)~
~
よろしくお願い致します。下のプログラムは、2列×10行の配列b...
a1 <- seq(1, 10, by = 1)
a2 <- seq(1, 5.5, by = 0.5)
b <- cbind(a1, a2)
b[1, ] <- b[4, ] <- b[10, ] <- 999
separator <- which(b[, 1] == 999)
for (i in 1 : (length(separator) - 1)) {
data <- b[(separator[i] + 1) : (separator[i + 1] - 1...
if (i == 1) {
plot(data, xlim = c(1, 10), ylim = c(1, 10),
type = "l")
} else {
par(new = TRUE)
plot(data, xlim = c(1, 10), ylim = c(1, 10),
type = "l", axes = F, ann = F)
}
}
このサンプルのように区切りの数が少なく、forループの数が少...
//
- b[, separator] <- NA; plot(b, type = "l") -- &new{2012...
- なるほど。999などの実数ではなく、NAだと自動で除外してく...
- 代入(付値)に = を使うとか,カンマの後に空白を置かない...
- 悪文失礼しました。訂正ありがとうございます。 -- [[宗二]...
**ロジスティック回帰? [#uf87fead]
>[[竹下]] (2012-01-15 (日) 08:03:21)~
~
こんにちは。~
response variable が割合 (p) なのですが、 lm( log(p / (1-...
//
- 悪いやり方です。1/10 と 10/100 や 100/1000 などは統計学...
また,プロビットモデルやロジスティックモデルを意図してい...
- どうもありがとうございます。たしかにおっしゃるとおりで...
**場合分けに応じた新しい列を追加 [#o7e2799d]
>[[asap]] (2012-01-12 (木) 18:36:36)~
~
今ある行列irisに、n列の場合分けに応じた新しい列を追加した...
新しい列の変数には次のような値を入れたいのですが
if (iris$Species[i] == "setosa") {
iris$Sp[i] <- 1
} else {
iris$Sp[i] <- 0
}
//
- iris$Sp <- ifelse(iris$Species == "setosa", 1, 0) また...
iris$Sp <- (iris$Species == "setosa") + 0 でよいでしょう ...
- どうもありがとうございました -- [[asap]] &new{2012-01-1...
**geoRパッケージの標本バリオグラムについて [#v4649f8b]
>[[まち]] (2012-01-11 (水) 21:49:52)~
~
geoRパッケージのvariogで標本バリオグラムの計算を行うと最...
同じデータでgstatパッケージvariogramを使うと省かれません。~
パラメータの指定が悪いのでしょうか?~
自己相関が無くなる距離なので推定には問題ないと思いますが...
よろしくお願いします。
library(geoR)
library(gstat)
# データの読み込み
data(ca20)
# geoR
vcloud <- variog(ca20)
(vcloud)
plot(vcloud)
# gstat
ca20gstat <- cbind(ca20$coords[, "east"], ca20$coords[, ...
ca20$data)
colnames(ca20gstat) <- c("east", "north", "data")
ca20gstat <- as.data.frame(ca20gstat)
vfgstat <- variogram(data ~ 1, loc = ~east+north, data ...
cutoff = vcloud$max.dist,
width = vcloud$max.dist / 13)
(vfgstat)
plot(vfgstat)
下記の 13 行目で geoR の場合 $n が 12 点でなく 11 点にな...
geoRの場合
$n $u $v
1 543 43.77376 55.50552
2 1648 131.3213 78.09254
3 2364 218.8688 97.05838
4 2246 306.4163 117.1554
5 2531 393.9638 129.0646
6 2152 481.5114 146.4889
7 1708 569.0589 151.9713
8 1309 656.6064 153.6482
9 694 744.1539 144.7442
10 343 831.7014 146.8878
11 144 919.249 131.8958
12 59 1006.796 139.2288
13 11 1094.344 139.2727
gstatの場合
np dist gamma
1 543 60.35719 55.50552
2 1648 132.58886 78.09254
3 2364 220.90992 97.05838
4 2246 305.65494 117.15539
5 2531 391.80321 129.06460
6 2152 482.02453 146.48885
7 1708 568.46999 151.97131
8 1309 652.62969 153.64820
9 694 739.59074 144.74424
10 343 826.14460 146.88776
11 144 913.61963 131.89583
12 59 995.10190 139.22881
13 12 1082.94416 165.16667
使用環境
R version 2.12.1 (2010-12-16)
Platform: i386-pc-mingw32/i386 (32-bit)
gstat_1.0-8
geoR_1.6-35
//
**R-2.14以降、Tcl/Tkのスライダーを使うとグラフが一部消え...
>[[hiro]] (2012-01-10 (火) 16:39:38)~
~
R-2.14.1 for Windows(32bit)を使っています.~
R-2.13.2までは、以下のサンプルでスライダーを動かすと、グ...
しかし、2.14以降、スライダーを動かしている間は一部のグラ...
グラフが複雑化すると、目立って見苦しくなります.~
複数のWindowsPC(XP/Win7)で試しましたが、100%再現します...
もし解決策を御存知の方がいらっしゃれば、ご教示頂けないで...
宜しくお願いします.
library(tcltk)
draw.graph <- function(...) {
upper <- as.double(tclvalue(Slider))
hist(x, freq = FALSE, ylim = c(0, upper),
col = "cyan", border = "white")
lines(den, lwd = 3)
}
x <- rnorm(200)
den <- density(x)
tt <- tktoplevel()
Slider <- tclVar("0.5")
slider <- tkscale(tt, from = 0.1, to = 1,
resolution = 0.01, showvalue = TRUE,
variable = Slider, orient = "horizontal",
command = draw.graph)
tkgrid(tklabel(tt, text = "upper"), sticky = "w")
tkgrid(slider)
tkfocus(tt)
//
- CRANには現在tcltkというパッケージはなく、代わりにtcltk2...
- tcltkパッケージはR本体にバンドルされるものです(Rコマン...
終了行:
COLOR(green){SIZE(20){初心者のための R および RjpWiki に...
COLOR(blue){● [[スレッド>#saisin]]}
COLOR(blue){● [[Q&A (初級者コース) 過去の目次]]}
----
&aname(mokuji);
COLOR(green){●● 目次 ●●}
#contents
----
&aname(saisin);
**svmでplotした結果からsupport vectorを取り除き等高線のみ...
>[[ひろ]] (2013-02-17 (日) 23:00:54)~
~
kernlabパッケージのksvmを使用した下記コードを実行してplot...
~
library(kernlab)
# number of data points
n <- 150
# dimension
p <- 2
sigma <- 2 # variance of the distribution
meanpos <- 0 # centre of the distribution of positive ex...
meanneg <- 3 # centre of the distribution of negative ex...
npos <- round(n/2) # number of positive examples
nneg <- n-npos # number of negative examples
# Generate the positive and negative examples
xpos <- matrix(rnorm(npos*p,mean=meanpos,sd=sigma),npos,p)
xneg <- matrix(rnorm(nneg*p,mean=meanneg,sd=sigma),npos,p)
x <- rbind(xpos,xneg)
# Generate the labels
y <- matrix(c(rep(1,npos),rep(-1,nneg)))
# Train a nonlinear SVM with Gaussian RBF kernel and def...
svp <- ksvm(x,y,type="C-svc",kernel='rbf')
plot(svp,data=x)
//
**scatter3dの軸の設定ができない [#k1e7cbc3]
>[[rkoma]] (2013-01-11 (金) 20:22:54)~
~
R初心者です。よろしくお願い致します。~
Rで作成する3次元散布図 (scatter3d)では、軸タイトルなどへ...
Rcmdr の「3次元散布図」で作ったグラフをひな型にして、ス...
scatter3d(x軸の値, y軸の値, z軸の値, surface=FALSE,
residuals=TRUE, bg="white",
axis.scales=TRUE, grid=TRUE, ellipsoid=FALSE,
xlab=" ", ylab=" ", zlab=" ")
となったところに log="x", log="z", xlim=c(0.1,100), zlim=...
2次元散布図では可能です。また、plot3d()では、最大値、最...
R初心者、プログラミング初心者なので、全く原因がわかりま...
また、scatter3d()やplot3d()に限らず、「最大値・最小値を...
OSはWindows2003、Rはver.2.15.2、Rcmdrはver.1.9-2を使用し...
ちなみに、類似の質問をYahoo知恵袋にも投稿しています。そち...
恐縮ですがご回答よろしくお願い申し上げます。~
//
- > 特にエラーメッセージは出ないのですが、できませんでし...
- 河童の屁は,河童にあらず,屁である。 様 大変わかりやす...
**大学でパッケージがインストール出来ない [#k8e8286a]
>[[taipapa]] (2013-01-11 (金) 18:21:30)~
~
某大学のパソコン(マック mountain lion)にR 2.15.2をイン...
URL 'http://essrc.hyogo-u.ac.jp/ 省略 /pls_2.3-0.tgz'
を試しています
Content type 'text/html' length 182 bytes
開かれた URL
==================================================
downloaded 182 bytes
エラー: ファイル ‘/var/folders/5j/省略/pls_2.3-0.tgz’
は OS X バイナリパッケージではありません
追加情報: 警告メッセージ:
'tar' がゼロでない終了コード 1 を返しました
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.
なにをしても182バイトしかダウンロードしてくれません.~
~
大学のネットワーク管理者に確認してもプロキシは使用してい...
//
- > Content type 'text/html' length 182 bytes&br;とい...
- tarで詰まっている(らしい)ということは、アーカイブファ...
- 皆様,アドバイス有難うございます.管理者に上記の事を相...
- 依存関係に悩みたくないので,他に方法がない限りR CMD ins...
- へぇ、Rパッケージインストーラというのは、install.packag...
- 困っている度合いによりますが、自宅でUSBメモリにいれて大...
- いや、だからダウンロードが問題なら、ファイルだけ保存し...
- 元質問者です.皆様,色々なアドバイス有難うございます....
- 本日,念の為に,大学の端末にてRを起動しパッケージのイン...
**コードがハイライトされた状態で印刷したい [#b6434e26]
>[[たく]] (2013-01-11 (金) 11:21:32)~
~
エディタでコードを色づけしてくれるものはいろいろあります...
//
- シェアウェアですがEmEditor Proなんてどうでしょうか? --...
- 表示されたままに印刷できないなんて考えられないですが。W...
- レドモンドOSのエディタだと、デフォルト設定のままでは、...
- highlightを使うとソースをSVG画像やrtfファイルに変換でき...
- ありがとうございます。EmEditorは10年以上前に使っていま...
**年次別に違うプロットマーカーを使用したい [#eaa26ab8]
>[[Montecarlo]] (2013-01-07 (月) 03:15:01)~
~
何度か試行錯誤を重ねてみましたが、うまくいかなかったため...
よろしくお願いいたします。~
~
セッションインフォメーションは以下の通りです。
> sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=Japanese_Japan.932 LC_CTYPE=Japanese_Jap...
[3] LC_MONETARY=Japanese_Japan.932 LC_NUMERIC=C ...
[5] LC_TIME=Japanese_Japan.932
attached base packages:
[1] stats graphics grDevices utils datasets me...
今したいことは題名にもあります通り、年次別に違うプロット...
現在は以下のプログラムを走らせています。
year <- c(rep(2008, 10), rep(2009,10), rep(2010, 10), re...
x <- rnorm(40)
y <- rnorm(40)
data <- data.frame(year, x, y)
plot(data$x, data$y, type = "n")
temp <- subset(data, data$year == 2008); points(temp$x, ...
temp <- subset(data, data$year == 2009); points(temp$x, ...
temp <- subset(data, data$year == 2010); points(temp$x, ...
temp <- subset(data, data$year == 2011); points(temp$x, ...
しかし、最後の4行を関数化しようと思い以下の通り変更して...
point.add <- function (year) {
temp <- subset(data, data$year == year)
if (year == 2008) { pch = 0 }
else if (year == 2009) { pch = 1 }
else if (year == 2010) { pch = 2 }
else if (year == 2011) { pch = 5 }
points(temp$x, temp$y, pch =pch)
}
point.add(2008)
point.add(2009)
point.add(2010)
point.add(2011)
うまくいかない原因がわからないので、どなたかご教授いただ...
よろしくお願いいたします。~
//
- うまくいかない原因は,意図したのとは異なるプログラムに...
関数の中で,たとえば year が 2008 の場合に
temp <- subset(data, data$year == 2008)
と書いた場合と
temp <- subset(data, data$year == year)
と書いた場合は結果が異なるということです(これはちょっと...
しかし,今回はもっと単純に以下のように書けばよいというこ...
year <- c(rep(2008, 10), rep(2009,10), rep(2010, 10), re...
x <- rnorm(40)
y <- rnorm(40)
data <- data.frame(year, x, y)
plot(data$x, data$y, pch = c(0, 1, 2, 5)[data$year-2007])
余計なことも不要だし,目的通りのことが実現できます。 -- [...
- 河童の屁は,河童にあらず,屁である。 様 ご回答ありがと...
**巨大なcsvファイルの一部を読み込みたい [#bea3018f]
>[[HIROi]] (2013-01-04 (金) 02:48:26)~
~
初めて質問させていただく初心者です。read.csvを使って、カ...
EQ <- read.csv("VeryLargeData.csv")
エラー: サイズ 45.4 Mb のベクトルを割り当てることがで...
追加情報: 14 件の警告がありました (警告を見るには warn...
> warnings()
警告メッセージ:
1: In scan(file, what, nmax, sep, dec, quote, skip, nlin...
Reached total allocation of 1535Mb: see help(memory.si...
# 中略・・・全く同じメッセージの繰り返し
9: In type.convert(data[[i]], as.is = as.is[i], dec = de...
Reached total allocation of 1535Mb: see help(memory.si...
# 後略・・・全く同じメッセージの繰り返し、14.まで。
使用したいカラムは「キーとなるコード1カラム+倍精度小数...
[[投稿における注意事項:http://www.okada.jp.org/RWiki/?%C5...
//
- このような処理は R には不適と思いますが,どうしてもとい...
con <- file("iris.csv")
open(con)
repeat {
a <- readLines(con, 1) # 1 行ずつ読んで,
b <- as.numeric(unlist(strsplit(a, ","))[1]) # 自分でパ...
if (length(b) == 0) break
print(b)
}
close(con)
- 早速コメントいただき、ありがとうございます。なるほど、...
- その程度の大きさならば64bit版を使うだけで解決するんでは...
- 確かに。Mac 64bit 版の R で,ちゃんと読めました。 -- [[...
- 別解として、csvファイルから必要なカラムを抜き出して新た...
例えば、cutコマンドが使える環境(MacOSXやLinuxなど)なら...
$ cut -f2,5,11 -d"," 元.csv > 新.csv
として、新.csvを作成してこれをRに読み込む。 PerlでText::C...
cutを使ったときの処理時間は、下記の程度。
$ wc -l test.csv
6000001 test.csv
$ time cut -f2,5,11 -d"," test.csv > test_new.csv
real 0m8.175s
user 0m7.460s
sys 0m0.688s
さらに、これをRの中で行うと、もう少し時間がかかる。
> system.time(system('cut -f2,5,11 -d"," test.csv > test...
ユーザ システム 経過
7.492 0.640 10.167
- > csvファイルから必要なカラムを抜き出して新たにcsvファ...
- 1行ずつでなく、一気に読み出しても(メモリサイズ上)問題...
- 例えば,gawk が使えるなら,R コンソールで以下のようにす...
system("gawk 'BEGIN{FS=\",\"; OFS=\",\"};{print $2, $5, ...
- 上のcutを提示した者ですが、一部のカラムだけを読み込む関...
// subcolumnsは階層構造のカラムを指すようなので、
// read.csv.subcolumnsからread.columns.csvに変更
read.columns.csv <- function(file, columns = NULL, ...){
if(cmd <- system2("which", args = "cut")) stop("'cut' ...
if(!missing(columns)){
out <- tempfile()
cols <- paste(columns, collapse = ",")
args <- paste("-f", cols, "-d','", file, ">", out)
system2("cut", args = args)
on.exit(file.remove(out))
}else{
out <- file
}
return(read.csv(out, ...))
}
使用例:~
2番目、5番目、11番目のカラムを指定するとき(本番ではhead(...
> head(read.columns.csv("test1.csv", columns = c(2, 5, 1...
/usr/bin/cut
x1 x4 x10
1 0.1703623 -0.5631763 -0.734945
2 -1.4075415 -0.5450647 -1.758273
カラムを無指定にするとread.csv()と同じ挙動(本番ではhead(...
> head(read.columns.csv("test1.csv"), 2)
/usr/bin/cut
id x1 x2 x3 x4 ...
1 1 0.1703623 0.2198511 -1.1616084 -0.5631763 -0.76524...
2 2 -1.4075415 0.5162073 -0.7501079 -0.5450647 -1.56372...
x8 x9 x10 x11 x1...
1 1.6138930 0.41030405 -0.734945 1.13511914 0.7781614...
2 0.3551278 -0.08129068 -1.758273 -0.05866285 -0.0931344...
x15 x16 x17 x18 x1...
1 1.1631931 -0.6981225 -0.4869349 0.2129322 0.0485617...
2 -0.9422174 0.7154750 0.7995136 -1.6102600 -2.9261044...
x22 x23
1 0.6818277 0.4078844
2 -1.1319291 -1.0523440
cutコマンドがない環境でも、SQLiteがある環境ならsqldfパッ...
- 自分の環境を充分に説明しないままのマナー違反な質問にも...
- colbycol というライブラリでは読込列の指定ができますが試...
**R言語での多クラス(マルチクラス)分類 boostingについて [#...
>[[tomo]] (2013-01-02 (水) 13:00:50)~
~
閲覧ありがとうございます。~
~
私はR言語で学習をしている初心者です。~
その中で、irisデータを用いてコマンドの学習をしているので...
以下にコマンドを載せますものが私の用いたものです。
library(rpart)
library(adabag)
data <- iris
ndata <- nrow(data)
#乱数指定
set.seed(101)
#学習データ(data.learn)とテストデータ(data.test)に分ける
ridx <- sample(ndata, ndata * 0.5)
data.learn <- data[ridx,]
data.test <- data[-ridx,]
#3-fold crossvalidation、弱識別器の数を10とし、
#学習データに対しboostingを行ったものをdata.adaCvに代入
data.adaCv <- boosting.cv(Species ~ .,data = data.learn,...
#テストデータに学習データを照らし合わせる。
resultPredict <- predict(data.adaCv, newdata = data.test...
というコマンドですが「predict」を行った際に
以下にエラー UseMethod("predict") :
'predict' をクラス "character" のオブジェクトに適用でき...
というエラーが出てしまい、ネットや参考文献を見てもわから...
このエラーの解決方法がお分かりのかたがいらっしゃいました...
お分かりの方いらっしゃいましたら例文等を添えてコメントい...
//
- boosting.cv のオンラインヘルプより&br;The data are divi...
> debug(predict)
> resultPredict <- predict(data.adaCv, newdata = data.te...
debugging in: predict(data.adaCv, newdata = data.test, t...
debug: UseMethod("predict")
Browse[2]>
debugging in: predict.list(data.adaCv, newdata = data.te...
debug: {
out <- lapply(object, predict, ... = ...)
if (!is.null(names(object)))
names(out) <- names(object)
out
}
Browse[3]>
debug: out <- lapply(object, predict, ... = ...)
Browse[3]>
debugging in: FUN(X[[1L]], ...)
debug: UseMethod("predict")
Browse[4]>
以下にエラー UseMethod("predict") :
'predict' をクラス "character" のオブジェクトに適用で...
- 河童の屁は,河童にあらず,屁であるさん回答いただきあり...
なるほど、新たなデータについて predict することは難しいの...
そこで私は回答を受け、boosting.cv以外の関数でirisデータに...
新たにかいたコマンドとコマンドの実行結果を下に示します。~
・コマンド
library(rpart)
library(adabag)
data <- iris
ndata <- nrow(data)
# 乱数指定~
set.seed(101)
# 学習データ(data.learn)とテストデータ(data.test)に分ける
ridx <- sample(ndata, ndata * 0.5)
data.learn <- data[ridx,]
data.test <- data[-ridx,]
# 弱識別器の数を10、3-fold crossvalidation?学習データに...
data.adaCv <- boosting(Species ~ .,data = data.learn, mf...
# テストデータに学習データを照らし合わせる。
resultPredict <- predict(data.adaCv, newdata = data.test...
resultPredict
・実行結果
$confusion Observed Class
Predicted Class setosa versicolor virginica
setosa 26 0 0
versicolor 0 17 3
virginica 0 1 28
$error
[1] 0.05333333
しかし私は先に述べたように交差検定の数をxvalの引数を変え...
1)xval は交差検定の数を示しているのか?~
2)xvalが交差検定の数を示していない場合、その他の関数や引...
という2点です。例文等を示していただけたら幸いです。よろし...
- [[投稿における注意事項:http://www.okada.jp.org/RWiki/?%...
- 河童の屁は,河童にあらず,屁である。さんご指摘ありがと...
**タイムゾーン無指定による時間差計算の誤差 [#v6611ad1]
>[[S]] (2012-12-28 (金) 11:29:56)~
~
質問を書き込んでいるうちに自己解決しましたので、質問とい...
> Sys.Date()
[1] "2012-12-28"
今日は12月28日です。1月27日まで何日あるのか計算しました。~
> difftime("2013-01-27", Sys.Date())
Time difference of 29.625 days
> difftime("2013-01-27", "2012-12-28")
Time difference of 30 days
Sys.Date()を使った方はきっちり30日になりません。~
> str(Sys.Date())
Date[1:1], format: "2012-12-28"
Sys.Date()の出力はDateクラスで"2012-12-28"を持っているだ...
> difftime("2013-01-27", as.Date("2012-12-28"))
Time difference of 29.625 days
2012-12-28をDateクラスにすると再現します。units = "days"...
> difftime("2013-01-27", as.Date("2012-12-28"), tz = "JS...
Time difference of 30 days
タイムゾーンを指定すると30日に戻りました。バックエンドで...
//
**スクリプトファイル(拡張子R)の関連付け [#kbf48407]
>[[yoro]] (2012-12-27 (木) 09:03:34)~
~
お世話になります。~
Windows7 (32或いは64bit)にて R 2.15.1 を使いっています。~
~
お聞きしたいのは、hogehoge.R というようなスクリプトファイ...
~
宜しくお願いします。~
//
**交互作用の自由度が統計ソフトによって異なるのはなぜでし...
>[[こさく]] (2012-12-26 (水) 18:42:17)~
~
いつもお世話になっていますが、初めて投稿します。統計も素...
~
2群(a、b群各30名)で、それぞれ直線回帰できるようなデータが...
~
下記は作ったデータですが、yをxとgrpでモデル化しようとして...
~
ただ結果を見るとgrp:xの自由度が2になっています。浅学です...
~
他の統計ソフト(JMP)で解析すると、モデル1におけるgrp:xの自...
~
都合のいい結果を採用してもよいのですが、もう少し掘り下げ...
~
何かコメント等ご指摘いただければ幸いです。~
~
よろしくお願いいたします。~
set.seed(1234)
# grp "a" のデータ
x1 <- runif(30)
y1 <- runif(30)+x1*0.3
# grp "b" のデータ
x2 <- runif(30)
y2 <- runif(30)-x2*0.3
x <- c(x1, x2)
y <- c(y1, y2)
# grp (2群のラベル)
grp <- factor(c(rep('a', 30), rep('b', 30)))
library(car) # type3 を指定するのは、問題とは関係ないですが
# ここからが問題
# モデルの固定因子を変えると、交互作用項の自由度が変わる
# モデル 1、grp:x の自由度 2
> Anova(lm(y ~ grp+grp:x), type=3)
Anova Table (Type III tests)
Response: y
Sum Sq Df F value Pr(>F)
(Intercept) 1.5509 1 20.7241 2.904e-05 ***
grp 0.1585 1 2.1178 0.15118
grp:x 0.3955 2 2.6423 0.08006 .
Residuals 4.1908 56
# モデル 2、grp:x の自由度 1
> Anova(lm(y ~ x+grp+grp:x), type=3)
Anova Table (Type III tests)
Response: y
Sum Sq Df F value Pr(>F)
(Intercept) 1.5509 1 20.7241 2.904e-05 ***
x 0.3939 1 5.2640 0.02554 *
grp 0.1585 1 2.1178 0.15118
x:grp 0.2338 1 3.1245 0.08257 .
Residuals 4.1908 56
# モデル 3、grp:x の自由度 1
> Anova(lm(y ~ x+grp:x), type=3)
Anova Table (Type III tests)
Response: y
Sum Sq Df F value Pr(>F)
(Intercept) 2.0111 1 26.357 3.573e-06 ***
x 1.2837 1 16.823 0.0001318 ***
x:grp 2.1557 1 28.251 1.843e-06 ***
Residuals 4.3493 57
# モデル 4、grp:x の自由度 2
> Anova(lm(y ~ grp:x), type=3)
Anova Table (Type III tests)
Response: y
Sum Sq Df F value Pr(>F)
(Intercept) 2.0111 1 26.357 3.573e-06 ***
grp:x 2.4071 2 15.773 3.533e-06 ***
Residuals 4.3493 57
//
- それぞれ,Anova(lm(y ~ ほげほげ), type=3) というのを s...
- コメントありがとうございます。summaryで出てくるパラメー...
**最尤法による共分散構造分析 [#e7a5ec53]
>[[りすりす]] (2012-12-26 (水) 12:17:20)~
~
お世話になっております。~
~
windowsでRを使用しています。~
Rで、最尤法による共分散構造分析ができるパッケージはどれ...
semパッケージは、デフォルトで最尤法なのでしょうか?~
~
どなたかわかるかたがいらっしゃれば、ご教授をお願いいたし...
//
- 補足しますと、同じデータを使い、AMOSによる共分散構...
- 同じアルゴリズムでも,それを実装するプログラムによって...
- お返事ありがとうございます。AMOSソフトの違いなのですね...
- お返事ありがとうございます。AMOSソフトの違いなのですね...
- お返事ありがとうございます。AMOSソフトの違いなのですね...
- 複数投稿失礼いたしました。ソフトの違いということで、原...
- 複数投稿失礼と思うなら,重複分は消去してください(^_^;...
**boxplotの図に斜線を入れたい [#y50fbe71]
>[[Saito]] (2012-12-21 (金) 21:29:04)~
~
いつもお世話になっております。~
~
boxplot()の図に斜線を入れたいのですが、どうすれば良いでし...
~
どなたかご存知の方がいらっしゃいましたら、ご教授をお願い...
//
- boxplot が返すオブジェクトを吟味すればヒントが得られる...
a <- boxplot(runif(100), runif(200), runif(300))
angle.p <- c(45, 135, 30)
density.p <- c(10, 10 , 20)
for (i in 1:3) {
rect(i-0.4, a$stats[2, i], i+0.4, a$stats[4, i],
angle=angle.p[i], density=density.p[i])
}
&ref(boxplot.png);
- 早速の返信ありがとうございました。さすがです。大変うっ...
a <- boxplot(runif(100), runif(200), runif(300), ylim=c(...
angle.p <- c(45, 135, 30)
density.p <- c(10, 10 , 20)
for (i in 1:3) {
rect(i-0.4, a$stats[2, i], i+0.4, a$stats[4, i],
angle=angle.p[i], density=density.p[i])
}
legend(1, 3, c("100", "200", "300"), lty=1)
などとしたときに、legendの横にも同じ斜線の小さな四角、な...
- 少しは自分で調べましょう。? legend&br;lty は必要ないで...
a <- boxplot(runif(100), runif(200), runif(300), ylim=c(...
angle.p <- c(45, 135, 30)
density.p <- c(20, 20 , 40)
for (i in 1:3) {
rect(i-0.4, a$stats[2, i], i+0.4, a$stats[4, i],
angle=angle.p[i], density=density.p[i])
}
legend(1, 3, c("100", "200", "300"), angle=angle.p,
density=density.p)
&ref(boxplot2.png);
- ありがとうございました。関数が返すオブジェクトをいじる...
**barplotにおけるy軸の値 [#adb22a56]
>[[BCD]] (2012-12-19 (水) 23:02:56)~
~
いつもお世話になっております。~
~
barplot関数を使ってグラフを作成した時にy軸に自動的に付加...
というのも小数点が多くつく場合、y軸が見づらいので10-3乗...
barplotを使う前に元のデータに10の3乗をかけ算しても良いの...
~
どうかご教示願います。~
//
- 既出の解決法でいかが?[[軸の上付き文字による指数表記に...
- どうもありがとうございます。ついでの質問なのですが、exp...
- 変数の展開ってどういうこと? -- [[河童の屁は河童にあら...
- (変数の内容と数式の組み合わせという意味なら)できます...
- ありがとうございました。おかげで数式を書くことも覚える...
**mean関数 [#v1afdcbe]
>[[sori]] (2012-12-19 (水) 14:24:56)~
~
データ解析の勉強を始めたのですが、なぜ警告メッセージが出...
> x <- read.delim("clipboard")
> x
学生名 性別 順位 国語 数学 英語
1 佐藤 1 5 64 48 78
2 鈴木 1 6 51 65 62
3 高橋 1 4 57 78 68
4 田中 1 14 38 62 42
5 渡辺 0 15 43 78 57
6 伊藤 0 13 52 73 53
7 山本 0 3 58 45 50
8 中村 0 1 72 36 71
9 小林 0 16 65 48 59
10 斉藤 1 17 53 58 35
11 加藤 0 12 30 55 53
12 吉田 0 18 56 72 49
13 山田 1 2 85 65 73
14 佐々木 1 19 69 62 66
15 山口 0 20 52 68 45
16 松本 0 11 55 52 63
17 井上 0 8 45 54 56
18 木村 1 7 61 32 88
19 林 1 10 43 57 43
20 清水 1 9 76 88 97
> attach(x)
> 性別
[1] 1 1 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1
> class(性別)
[1] "numeric"
> class <- factor(性別)
> class(性別)
[1] "numeric"
> 性別 <- factor(性別)
> class(性別)
[1] "factor"
> mean(x)
学生名 性別 順位 国語 数学 英語
NA 0.50 10.50 56.25 59.80 60.40
警告メッセージ:
1: mean(<data.frame>) is deprecated.
Use colMeans() or sapply(*, mean) instead.
2: In mean.default(X[[1L]], ...) :
引数は数値でも論理値でもありません。NA 値を返します
> mean(国語)
[1] 56.25
> mean(x[,4:6])
国語 数学 英語
56.25 59.80 60.40
警告メッセージ:
mean(<data.frame>) is deprecated.
Use colMeans() or sapply(*, mean) instead.
//
- 「なぜ」という問いにこたえるなら、「data.frameにmeanを...
- ご教示ありがとうございます。列の4〜6の平均(国語、数学...
- colMeansかsapplyを使うようにと書かれていますね -- [[河...
- っできました。どうもありがとうございます。> colMeans(x[...
**floor(2.3*100) [#f27046d8]
>[[so]] (2012-12-19 (水) 13:50:56)~
~
下記計算結果が導出される理由が分からず困っています。~
ご教示いただけると幸いです。
> floor( c( 230, 2.3*100, 2.3*10*10 ) )
[1] 230 229 230
> floor( c( 230000, 2.3*100000, 2.3*100*1000, 2.3*1000*1...
[1] 230000 229999 229999 230000
//
- コンピュータにおける実数(整数及び2の冪数の和からなる数...
> sprintf("%a", 2.3)
[1] "0x1.2666666666666p+1"
> sprintf("%a", 2.3*100)
[1] "0x1.cbfffffffffffp+7"
> sprintf("%a", 230)
[1] "0x1.ccp+7"
> sprintf("%a", 2.3*10)
[1] "0x1.7p+4"
> sprintf("%a", 23)
[1] "0x1.7p+4"
> sprintf("%a", 0.125)
[1] "0x1p-3"
- 河童さん、分かりやすい解説ありがとうございました。 -- [...
**軸のラベルの向きを斜めに変更する方法 [#i4ab20a8]
>[[BCD]] (2012-12-17 (月) 12:44:46)~
~
いつもお世話になっております。~
グラフを描く時に、lasオプションを指定すればラベルの向きを...
~
どうかご教示願います。~
//
- ? par で srt の項を見ればよいでしょう。(crt の項も) --...
- 便乗質問で申し訳ありませんが、axisもmtextもsrtやcrtは利...
- xpd=TRUE は必要なときだけに指定することができますよ。つ...
- 河童さんじゃないけど、こんな感じはどうでしょう -- &new...
set.seed(1234)
a <- barplot(runif(12))
text(a, -.01, month.name, srt = 45, adj = c(1, 1), xpd =...
#ref(rotated.png);
- こんなのも。
a <- hist(rnorm(1000), xaxt="n", xlab="", main="")
text(a$breaks+0.1, -2.5, a$breaks, srt=45, pos=1, xpd=TR...
#ref(hist.png);
- みなさまありがとうございます。textではできましたがmtext...
- ですよね…~
> mtextだとできないのですね...できれば便利なんですけど...
あたまがかたいだけなんでしょうが、mtextというものがあるの...
- 変態的(?)なグラフが欲しいときには、plotrixパッケージの...
library(plotrix)
set.seed(1234)
plot(runif(12), runif(12), xlab = "", xlim = c(0, 1),
ylim = c(0, 1), axes = FALSE)
ly <- round(c(0, (1:12)/12), 3)
lx <- ly[-13]
axis(1, at = lx, labels = rep("", 12), tck = -0.02)
staxlab(1, lx, month.name, srt = 45)
axis(2, at = ly, labels=rep("", 13))
staxlab(2, ly, ly, srt = 45)
box()
#ref(staxlab01.png);
- 「なんかパッケージがあったハズ」という気はしていたので...
- こんなパッケージもあるんですね!ありがとうございます --...
**(多クラスのカテゴリデータでベイジアンネット)dealのautos...
>[[yamaguchi]] (2012-12-16 (日) 17:27:44)~
~
はじめまして。いつもお世話になっています。~
初投稿という事で至らない点もあるかと思いますが、よろしく...
~
dealパッケージで多クラスのカテゴリデータでベイジアンネッ...
>autosearch(dat.pre_net, dat.dummy, dat.prior)
以下にエラー apply(prior$jointalpha, didx, sum) : ...
dim(X) must have a positive length
どのように解決したらよいか、ご助言をいただけますか。~
~
以下実行手順です。~
# サンプルとして成績データ作成
eng <- c("A", "B", "C", "C", "B", "D")
math <- c("B", "B", "C", "A", "B", "D")
sci <- c("A", "A", "B", "D", "B", "B")
res <- c("A", "B", "C", "C", "B", "C")
dat <- data.frame(eng, math, sci, res)
dat
eng math sci res
1 A B A A
2 B B A B
3 C C B C
4 C A D C
5 B B B B
6 D D B C
[[青木氏のサイト:http://aoki2.si.gunma-u.ac.jp/R/src/qt3....
上記サンプルではダミーデータに変換しなくてもネットワーク...
dat.int <- dat
dat.int[,1:ncol(dat)] <- lapply(dat, as.integer) # カテ...
cat <- sapply(dat.int, max) # 各列が持つ水準の個数を保存
cname <- unlist(sapply(dat.int, levels)) # 水準の名称を...
dat.colnames <- colnames(dat.int)
dat.dummy <- make.dummy(dat.int)
colnames(dat.dummy) <- paste(rep(dat.colnames, cat), cna...
# 列名.水準 というカラム名を設定
library('deal')
dat.pre_net <- network(dat.dummy)
dat.prior <- jointprior(dat.pre_net, 20)
dat.dist <- learn(dat.pre_net, dat.dummy, dat.prior)
# 有効辺ノードの設定
res_list <- grep("res.*", colnames(dat.dummy))
# このノードからは有効辺を引かない
[1] 12 13 14
# res → res以外への有効辺を引かないようにする
dat.col_num <- 1:length(colnames(dat.dummy))
# 各ノードを数字のベクトルで取得
dat.no_res <- length(dat.col_num) - length(res_list)
# resがつかないカラム名の個数を取得
a <- sort(rep(res_list,length(colnames(dat.dummy))))
# res_listの各要素をカラム数分繰り返したベクトルを
# ソート(有効辺が出てはいけないノード)
b <- 1:length(colnames(dat.dummy)) # 有効辺が入るノード
dat.ban <- cbind(a, b)
# 12,12などの重複を削除
dat.ban_df <- as.data.frame(dat.ban)
colnames(dat.ban_df) <- c("a", "b")
dat.ban_df[dat.ban_df$a == dat.ban_df$b,] <- c(NA, NA)
dat.ban_df <- na.omit(dat.ban_df)
# 有効辺を引かないノードリストの設定を適用
dat.pre_net <- getnetwork(dat.dist)
banlist(dat.pre_net) <- as.matrix(dat.ban_df)
# モデル探索
dat.posterior <- autosearch(dat.pre_net, dat.dummy,
dat.prior)
以下にエラー apply(prior$jointalpha, didx, sum) : ...
dim(X) must have a positive length
debug関数でautosearch()の処理を追って見ましたが、私には原...
読みづらい点もあるかと思いますが、対処策・アドバイスのほ...
~
また、実行環境は下記のとおりです。~
>sessionInfo() ...
R version 2.14.1 (2011-12-22) ...
Platform: x86_64-pc-linux-gnu (64-bit) ...
locale: ...
[1] LC_CTYPE=ja_JP.UTF-8 LC_NUMERIC=C ...
[3] LC_TIME=ja_JP.UTF-8 LC_COLLATE=ja_JP.UTF-8 ...
[5] LC_MONETARY=ja_JP.UTF-8 LC_MESSAGES=ja_JP.UTF-8 ...
[7] LC_PAPER=C LC_NAME=C ...
[9] LC_ADDRESS=C LC_TELEPHONE=C ...
[11] LC_MEASUREMENT=ja_JP.UTF-8 LC_IDENTIFICATION=C ...
attached base packages: ...
[1] stats graphics grDevices utils datasets m...
other attached packages: ...
[1] deal_1.2-35
//
- Mac 版,64bit R 2.15.2 では,エラーなく結果が出ましたけ...
- WIndows 版,R 2.15.1 だけど,ちゃんと結果が出ましたが? ...
- 河童の屁は,河童にあらず,屁である。様 ご指摘の通り試...
**package(e1071)におけるsvmについて [#o2107856]
>[[t.h]] (2012-12-13 (木) 17:28:14)~
~
はじめまして。よろしくお願いします~
~
題名の通りですが、package(e1071)におけるsvmについて質問が...
私の最終的な目的は「1つのクラスに対して間違いを許さない...
(クラスAとBがあるとして、テストデータを入れたときにAがB...
~
(1)このsvmに訓練データとしてデータを入れるとき、その順番...
(e.g)「クラスA,クラスBという順番で入っている行列を訓練デ...
~
(2)このsvmはデフォルトで実行すると、ソフトマージンsvm(最...
~
(3)目的を達成するために、デフォルトのSVMからどのようにす...
~
(4*)デフォルトのsvmに3クラス以上のデータを訓練させた場合...
~
段々と抽象性の高い質問になっておりますが、((4)だけ別系統...
~
見当違いの質問、読みづらい文章かもしれませんが、ご回答よ...
//
- (1) はcross validationでランダムにシャッフルするので、...
- (2)(3)はcostとclass.weightのパラメータを操作することで...
- (4)は1vs1です。 http://www.csie.ntu.edu.tw/~cjlin/libsv...
**SEM の summary [#qa505273]
>[[しまりす]] (2012-12-07 (金) 19:14:06)~
~
お世話になります。~
~
SEMパッケージの練習のため、下記URLの「食物とガン」の共分...
http://wwwhum.meijo-u.ac.jp/labs/hh002/r/content/sem.html~
~
共分散の結果は出せたのですが、最後のsummary()による適合度...
summary(データ名)と入力しても、何も出力されず、エラーメ...
~
以下がプログラムと出力結果です。
> # ガンデータのSEM #
>
> setwd("C:/Users/a2122062/work")
> gandat <- read.table("gan.csv", sep=",", header = TRUE)
>
> # 相関行列を求める #
> soukan <- cor(gandat)
> soukan
calory niku nyu sake daic...
calory 1.0000000 0.7731109 0.7155250 0.6341241 0.73949...
niku 0.7731109 1.0000000 0.7227997 0.4515933 0.85262...
nyu 0.7155250 0.7227997 1.0000000 0.2321334 0.57872...
sake 0.6341241 0.4515933 0.2321334 1.0000000 0.58813...
daicho 0.7394903 0.8526245 0.5787253 0.5881328 1.00000...
chokucho 0.8100869 0.6718607 0.4785180 0.6095649 0.75238...
>
> # 共分散する#
> library(sem)
要求されたパッケージ MASS をロード中です
要求されたパッケージ matrixcalc をロード中です
警告メッセージ:
1: パッケージ '‘sem’' はバージョン 2.15.2 の R の下で造...
2: パッケージ '‘matrixcalc’' はバージョン 2.15.2 の R ...
> modelA.gan <- specify.model()
1: 洋食傾向 -> calory ,b11 ,NA
2: 洋食傾向 -> niku ,b21 ,NA
3: 洋食傾向 -> nyu ,b31 ,NA
4: 洋食傾向 -> sake ,b41 ,NA
5: 消化管ガン -> daicho ,NA ,1
6: 消化管ガン -> chokucho ,b62 ,NA
7: 洋食傾向 -> 消化管ガン,g21,NA
8: calory <-> calory ,e1 ,NA
9: niku <-> niku ,e2 ,NA
10: nyu <-> nyu ,e3 ,NA
11: sake <-> sake ,e4 ,NA
12: daicho <-> daicho ,e5 ,NA
13: chokucho <-> chokucho ,e6 ,NA
14: 洋食傾向 <-> 洋食傾向 , NA , 1
15: 消化管ガン <-> 消化管ガン , delta2,NA
16:
Read 15 records
警
'specify.model' is deprecated.
Use 'specifyModel' instead.
See help("Deprecated") and help("sem-deprecated").
>
> semgan <- sem(modelA.gan , soukan, N=47)
> std.coef(semgan, digit=3)
Std. Estimate
1 b11 0.90353083 calory <--- 洋食傾向
2 b21 0.88860193 niku <--- 洋食傾向
3 b31 0.72052466 nyu <--- 洋食傾向
4 b41 0.61993727 sake <--- 洋食傾向
5 0.89590512 daicho <--- 消化管ガン
6 b62 0.83980749 chokucho <--- 消化管ガン
7 g21 0.98052591 消化管ガン <--- 洋食傾向
8 e1 0.18363205 calory <--> calory
9 e2 0.21038661 niku <--> niku
10 e3 0.48084422 nyu <--> nyu
11 e4 0.61567779 sake <--> sake
12 e5 0.19735401 daicho <--> daicho
13 e6 0.29472337 chokucho <--> chokucho
14 1.00000000 洋食傾向 <--> 洋食傾向
15 delta2 0.03856894 消化管ガン <--> 消化管ガン
警告メッセージ:
'std.coef' is deprecated.
Use 'stdCoef' instead.
See help("Deprecated") and help("sem-deprecated").
> summary(semgan)
>
なぜなのでしょうか?~
もしかしたらとても簡単なミスかもしれないのですが、どうぞ...
//
- 「とても簡単なミス」ですね。summary の閉じ括弧が全角で...
- 本当ですね。全角でした。半角にして解決しました。大変失...
**lavaanパッケージによる多母集団分析のGFI,AGFIの出力 [#v...
>[[さとし]] (2012-12-04 (火) 21:46:32)~
~
お世話になります。Windows7のR 2.15.2を使っております。~
~
lavaanパッケージで多母集団分析を行いました。
lav.model.1 <- lavaan(model.1, data=d1, model.type="sem",
group="group", int.ov.free=TRUE, auto.var=TRUE, auto.fix...
fixed.x=FALSE, auto.cov.lv.x=FALSE, auto.cov.y=FALSE)
summary(lav.model.1, fit.measure=TRUE, standardized=TRUE)
このようなオプションでsummaryを出力したところ,色々な適合...
~
そこで質問なのですが,~
~
1.GFIやAGFIの出力を可能にするオプションはあるのでしょうか...
2.GFIやAGFIの算出に必要な共分散行列を出力することはできる...
3.あるいは,出力された他の適合度指標からGFIやAGFIを式展開...
~
よろしくお願いいたします。~
//
- semToolsパッケージにあるmoreFitIndices関数で計算できま...
- ご回答ありがとうございます。
moreFitIndicesを使って,以下のように入力しました。
moreFitIndices(lav.model.1)
すると,nfi,ifi,gfi*,agfi*,ciac,ecvi,bic*,hqc,sic...
GFIやAGFIらしきものが出たと喜んでいたのですが,少し調べた...
結果として,残念ながらmoreFitIndicies関数では,目当てのGF...
申し訳ございません。 -- [[さとし]] &new{2012-12-05 (水) 1...
**x軸ラベルの回転について [#y54e18dd]
>[[れこ]] (2012-12-04 (火) 15:45:58)~
~
お世話になります。WindowsのR 2.15.1を使っています。
y <- rnorm(20)
x <- factor(rep(c("AAAAA","BBBBB"),10))
stripchart(y ~ x, vertical=TRUE)
このとき、x軸のラベルを反時計回りに90度回転させたグラフに...
~
宜しくお願いします。~
//
- こういうことでしょうか? -- [[Saito]] &new{2012-12-04 ...
y <- rnorm(20)
x <- factor(rep(c("AAAAA","BBBBB"),10))
stripchart(y ~ x, vertical=TRUE, las=2)
- ありがとうございました。まさにそのとおりです。getS3meth...
- そういうときは,「? par」をするのです。 -- [[河童の屁は...
**一定時間が過ぎると新規個体群が入ってくる生物の生活史シ...
>[[Saito]] (2012-12-04 (火) 11:34:01)~
~
いつもお世話になっております。~
ある生物が、時間が経つに連れて大きくなり、一定時間が過ぎ...
実際には、時間も年級群の数ももっとべらぼうに多いですし、...
Size <- seq(0.1, 30, by=0.5) #個体のサイズ分布
year <- 40 #時間
class <- 3 #生物の年級群の数
M <- catch <- matrix(0, ncol=year*class, nrow=length(Siz...
###Catchは既知のデータ###
catch[, 5] <- rpois(length(Size), lambda=2)
catch[, 10] <- rpois(length(Size), lambda=3)
catch[, 56] <- rpois(length(Size), lambda=4)
catch[, 77] <- rpois(length(Size), lambda=5)
catch[, 105] <- rpois(length(Size), lambda=6)
SS1 <- matrix(NA, nrow=length(Size), year*class)
SS2 <- matrix(NA, nrow=length(Size), year*class)
SS3 <- matrix(NA, nrow=length(Size), year*class)
m1 <- runif(year*class, 0, 1) #平均成長の値(時間変化する)
m2 <- runif(year*class, 5, 10)
m3 <- runif(year*class, 15, 20)
sd1 <- runif(year*class, 1, 5) #平均成長の分散(時間変化...
sd2 <- runif(year*class, 1, 3)
sd3 <- runif(year*class, 1, 2)
surv1 <- runif(year*class, 0.9, 0.99) #生存率(時間変化す...
surv2 <- runif(year*class, 0.9, 0.99)
surv3 <- runif(year*class, 0.9, 0.99)
###シミューション開始###
M[1, 1] <- S2 <- S3 <- 40000
for(i in 2 : (year*class)){
if (i <= year) {
A1 <- dnorm(Size, mean=m1[i], sd=sd1[i])
G1 <- sample(Size, sum(M[, i-1]), prob=A1/sum(A1), rep=T)
M[, i] <-
SS1[, i] <- rbinom(rep(1, length(Size)),
table(cut(G1, breaks=c(Size, max(Size...
prob=surv1[i])
M[, i] <- M[, i] - catch[, i]
M[which(M[, i] < 0), i] <- 0
S1 <- M[, i]
} else { #次の年級群が加わってくる
if (i > year & i <=(year*2+13)) {
A1 <- dnorm(Size, mean=m1[i], sd=sd1[i])
A2 <- dnorm(Size, mean=m2[i], sd=sd2[i])
G1 <- sample(Size, sum(S1), prob=A1/sum(A1), rep=T)
G2 <- sample(Size, sum(S2), prob=A2/sum(A2), rep=T)
S1 <- SS1[, i] <- rbinom(rep(1, length(Size)),
table(cut(G1, breaks=c(Size, ma...
prob=surv1[i])
S2 <- SS2[, i] <- rbinom(rep(1, length(Size)),
table(cut(G2, breaks=c(Size, ma...
prob=surv2[i])
S1 <- S1 - round(catch[, i]*(SS1[, i]/(SS1[, i]+SS2[, i]...
#それぞれの年級群の数に比例した値で捕獲
S2 <- S2 - round(catch[, i]*(SS2[, i]/(SS1[, i]+SS2[, i]...
S1[which(is.na(S1))] <- 0
S2[which(is.na(S2))] <- 0
M[, i] <- S1 + S2
M[which(M[, i] < 0), i] <- 0
} else { #また次の年級群が加わってくるが、加わるタイミン...
if (i > (year*2+13)) {
A1 <- dnorm(Size, mean=m1[i], sd=sd1[i])
A2 <- dnorm(Size, mean=m2[i], sd=sd2[i])
A3 <- dnorm(Size, mean=m3[i], sd=sd3[i])
G1 <- sample(Size, sum(S1), prob=A1/sum(A1), rep=T)
G2 <- sample(Size, sum(S2), prob=A2/sum(A2), rep=T)
G3 <- sample(Size, sum(S3), prob=A3/sum(A3), rep=T)
S1 <- SS1[, i] <- rbinom(rep(1, length(Size)),
table(cut(G1, breaks=c(Size, ma...
prob=surv1[i])
S2 <- SS2[, i] <- rbinom(rep(1, length(Size)),
table(cut(G2, breaks=c(Size, ma...
prob=surv2[i])
S3 <- SS3[, i] <- rbinom(rep(1, length(Size)),
table(cut(G3, breaks=c(Size, ma...
prob=surv3[i])
S1 <- S1 - round(catch[, i]*(SS1[, i]/(SS1[, i]+SS2[, i]...
S2 <- S2 - round(catch[, i]*(SS2[, i]/(SS1[, i]+SS2[, i]...
S3 <- S3 - round(catch[, i]*(SS3[, i]/(SS1[, i]+SS2[, i]...
S1[which(is.na(S1))] <- 0
S2[which(is.na(S2))] <- 0
S3[which(is.na(S3))] <- 0
M[, i] <- S1 + S2 + S3
M[which(M[, i] < 0), i] <- 0
}}}}
###シミューション終わり###
###得たいもの1###
SS1[is.na(SS1)] <- 0
SS2[is.na(SS2)] <- 0
SS3[is.na(SS3)] <- 0
SS <- SS1 + SS2 + SS3
SS[, c(5, 10, 56, 77, 105)]
#(既知データである)捕獲があった時点での
#捕獲前の推定個体数の総和
###得たいもの2###
M #捕獲を考慮して計算を続けたときの推定個体数
//
- i は 2 から year * class までで,それが 3 区間に分かれ...
for (i in 2:year) {
最初の年級群
}
for (i in (year+1):(year * 2 + 13)) {
次の年級群
}
for (i in (year * 2 + 14):(year * class)) {
また次の年級群
}
もっとも,そのようにしても全然速くならない。当然だ,if-el...
- 早速のご回答ありがとうございます。実際はclassに当たる部...
- lapply ではなくて mapply を使うのです。たとえば,
A1 <- dnorm(Size, mean=m1[i], sd=sd1[i])
A2 <- dnorm(Size, mean=m2[i], sd=sd2[i])
A3 <- dnorm(Size, mean=m3[i], sd=sd3[i])
を
A123 <- mapply(function(m, s) dnorm(Size, m, s),
c(m1[i], m2[i], m3[i]), c(sd1[i], sd2[i],...
とするようなこと。平均値ベクトル,標準偏差ベクトルを c で...
S1 <- S1 - round(catch[, i]*(S1/(S1+S2)))
S2 <- S2 - round(catch[, i]*(S2/(S1+S2)))
S3 <- S3 - round(catch[, i]*(S3/(S1+S2)))
などは,S1, S2, S3 をベクトルではなく行列として使えばよい...
- ご回答ありがとうございます。最初に明言しておかなかった...
- すみません、それはバグですね(汗)もともとの投稿を修正...
S1 <- S1 - round(catch[, i]*(SS1[, i]/(SS1[, i]+SS2[, i]...
のように、保存しておいた更新前のものを使ってcatchの影響を...
- > 高速化の効果が薄くとも、修正がしやすい、という点にお...
catch[, 5] <- rpois(length(Size), lambda=2)
catch[, 10] <- rpois(length(Size), lambda=3)
catch[, 56] <- rpois(length(Size), lambda=4)
catch[, 77] <- rpois(length(Size), lambda=5)
catch[, 105] <- rpois(length(Size), lambda=6)
は
catch[, c(5, 10, 56, 77, 105)] <- sapply(2:6,
function(lambda) rpois(length(Size), lambda=lambda))
# 2:6 の部分も実際は c(xxx, yyy, zzz,...) みたいなことだ...
また,
m1 <- runif(year*class, 0, 1) #平均成長の値(時間変化する)
m2 <- runif(year*class, 5, 10)
m3 <- runif(year*class, 15, 20)
sd1 <- runif(year*class, 1, 5) #平均成長の分散(時間変化...
sd2 <- runif(year*class, 1, 3)
sd3 <- runif(year*class, 1, 2)
は
m123 <- mapply(function(min, max) runif(year*class, min,...
c(0, 5, 15), c(1, 10, 20))
sd123 <- mapply(function(min, max) runif(year*class, min...
c(1, 1, 1), c(5, 3, 2))
とか。そうすれば,前に書いた
A123 <- mapply(function(m, s) dnorm(Size, m, s),
c(m1[i], m2[i], m3[i]), c(sd1[i], sd2[i],...
は
A123 <- mapply(function(m, s) dnorm(Size, m, s), m123[i,...
のようになる。&br;要するに,少し違うけどほとんど同じとい...
- 最初に申し上げておくべきでした。お手数をおかけして申し...
- しつこくて申し訳ありません。例えば下記のプログラムって...
a <- b <- c <- d <- matrix(NA, 10, 6)
for(i in 1 : 2) {
a[, i] <- rnorm(10, mean=0, sd=1)
d[, i] <- a[, i]
}
for(i in 3 : 4) {
a[, i] <- rnorm(10, mean=1, sd=2)
b[, i] <- rnorm(10, mean=0, sd=1)
d[, i] <- a[, i] + b[, i]
}
for(i in 5 : 6){
a[, i] <- rnorm(10, mean=2, sd=3)
b[, i] <- rnorm(10, mean=1, sd=2)
c[, i] <- rnorm(10, mean=0, sd=1)
d[, i] <- a[, i] + b[, i] + c[, i]
}
#このくらいしか思いつきません。for()消せないですかねぇ・...
d <- matrix(NA, 10, 6)
for(i in 1 : 2) {
d[, i] <- rnorm(10, mean=0, sd=1)
}
for(i in 3 : 4) {
d[, i] <- apply(mapply(function(mean, sd)
rnorm(10, mean, sd), c(1, 0), c(2, 1)), 1, sum)
}
for(i in 5 : 6){
d[, i] <- apply(mapply(function(mean, sd)
rnorm(10, mean, sd), c(2, 1,0), c(3, 2,1)), 1, sum)
}
- たぶん,以下のプログラムであっていると思うのだけど。~
アルゴリズム + データ構造 ==> プログラム~
アルゴリズムとデータ構造それぞれが互いに便利なように作る...
データ構造に合うようにプログラムを書く。プログラムが書き...
データ構造として,正規乱数のパラメータ mean, sd を以下の...
i は第一引数,第二引数は a, b, c, ... などを 1, 2, 3, ......
行列であるが実際には列優先のベクトルとして使う。~
i = 4, j = 2 は 元の記法だと a[, 4] で,N(0, 1^2) に従う...
ただし,i=1, j=3 などは,sd = 0(そのような正規乱数はない...
set.seed(1234567)
Mean <- matrix(c(
# a b c
0, 0, 0, # i = 1
0, 0, 0, # i = 2
1, 0, 0, # i = 3
1, 0, 0, # i = 4
2, 1, 0, # i = 5
2, 1, 0), # i = 6
byrow=TRUE, ncol=3)
SD <- matrix(c(
1, 0, 0,
1, 0, 0,
2, 1, 0,
2, 1, 0,
3, 2, 1,
3, 2, 1),
byrow=TRUE, ncol=3)
シミュレーションデータは 3 次元の配列として用意する。~
配列のサイズは以下の通り。
n <- 10
i <- 6 # nrow(Mean)
j <- 3 # ncol(Mean)
n = 1:10 のそれぞれについて要素を定める。~
N(α,β^2) などは,平均値 α,標準偏差 βに従う正規乱数 1 個。~
SD が 0 の場合は,定数 0。
要するにこういうものが 10 層あると考えてもよい。
i\j a b c
1 N(0, 1^2) 0 0
2 N(0, 1^2) 0 0
3 N(1, 2^2) N(0, 1^2) 0
4 N(1, 2^2) N(0, 1^2) 0
5 N(2, 3^2) N(1, 2^2) N(0, 1^2)
6 N(2, 3^2) N(2, 2^2) N(0, 1^2)
以下のようにして「二次元配列」を作る。10行18列の「行列」。
m <- sapply(1:(i*j), function(ij) {
if (SD[ij] > 0)
rnorm(n, Mean[ij], SD[ij])
else
rep(0, n)
})
行列に配列の次元属性を与える(三次元配列)。配列要素の順...
m <- array(m, dim=c(n, i, j))
m
3 次元配列の周辺和を求める。~
和を求める必要のない部分には 0 を入れておけば,いつも同じ...
i によって和を取る範囲を変える必要はない。
apply(m, 1:2, sum) # これが d
実行例
> m
, , 1
[,1] [,2] [,3] [,4] ...
[1,] 0.156703769 1.1019974 -0.5878131 1.38177251 1....
[2,] 1.373811191 1.5415915 2.1952178 0.22287438 2....
[3,] 0.730670244 -0.3782146 -0.9849293 -0.19496258 0....
[4,] -1.350800927 -0.4985698 2.4799454 1.88217872 6....
[5,] -0.008514961 -0.5412962 -0.1742176 -0.26483396 1....
[6,] 0.320981863 0.5419221 0.7326528 -0.82759674 1....
[7,] -1.778148409 -1.4575070 1.8153054 -3.16497120 -1....
[8,] 0.909503835 0.1169604 1.4648845 0.08704023 2....
[9,] -0.919404336 -0.1407206 -1.5649053 0.25347786 7....
[10,] -0.157714831 0.0443457 2.0469119 0.47429132 4....
, , 2
[,1] [,2] [,3] [,4] [,5] ...
[1,] 0 0 -1.6481922 0.9301823 2.3629785 -0.0786...
[2,] 0 0 -0.5601030 0.2247429 1.7719864 2.3207...
[3,] 0 0 0.8362890 -1.3439788 1.0961511 0.0322...
[4,] 0 0 -2.1072330 0.6451209 1.5598118 1.4520...
[5,] 0 0 0.2892977 -1.9031158 3.4218537 -0.0794...
[6,] 0 0 -1.2472545 0.8929470 2.9554176 -3.0358...
[7,] 0 0 0.7074159 0.7091518 -0.8749767 1.7923...
[8,] 0 0 -1.6659138 -0.1559170 0.1048045 -0.8225...
[9,] 0 0 -1.4662284 2.1920211 -2.8208809 3.4132...
[10,] 0 0 0.2903617 -0.1537628 5.0290536 0.0683...
, , 3
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 0 0 0 0 -0.1858555 0.1759547
[2,] 0 0 0 0 0.6234541 -1.2223501
[3,] 0 0 0 0 -0.8221098 -0.7782799
[4,] 0 0 0 0 1.6184734 1.7862177
[5,] 0 0 0 0 -0.2177257 -0.3615454
[6,] 0 0 0 0 -0.1005853 -1.6459583
[7,] 0 0 0 0 -0.6616456 -0.4109084
[8,] 0 0 0 0 0.4907506 -2.1850624
[9,] 0 0 0 0 -0.8438808 -0.3885813
[10,] 0 0 0 0 0.2083525 -0.9391815
> apply(m, 1:2, sum)
[,1] [,2] [,3] [,4] ...
[1,] 0.156703769 1.1019974 -2.2360053 2.31195481 3....
[2,] 1.373811191 1.5415915 1.6351148 0.44761725 4....
[3,] 0.730670244 -0.3782146 -0.1486403 -1.53894141 1....
[4,] -1.350800927 -0.4985698 0.3727124 2.52729959 10....
[5,] -0.008514961 -0.5412962 0.1150801 -2.16794979 4....
[6,] 0.320981863 0.5419221 -0.5146017 0.06535031 4....
[7,] -1.778148409 -1.4575070 2.5227213 -2.45581941 -2....
[8,] 0.909503835 0.1169604 -0.2010293 -0.06887676 3....
[9,] -0.919404336 -0.1407206 -3.0311337 2.44549896 4....
[10,] -0.157714831 0.0443457 2.3372736 0.32052849 9....
たぶん本番のプログラムは Mean,SD の定義法なども組み込ま...
あなたのプログラムと私のプログラムでは,a, b, c に割り当...
set.seed(1234567)
a <- b <- c <- d <- matrix(NA, 10, 6)
for(i in 1 : 2) a[, i] <- rnorm(10, mean=0, sd=1)
for(i in 3 : 4) a[, i] <- rnorm(10, mean=1, sd=2)
for(i in 5 : 6) a[, i] <- rnorm(10, mean=2, sd=3)
for(i in 3 : 4) b[, i] <- rnorm(10, mean=0, sd=1)
for(i in 5 : 6) b[, i] <- rnorm(10, mean=1, sd=2)
for(i in 5 : 6) c[, i] <- rnorm(10, mean=0, sd=1)
for(i in 1 : 2) d[, i] <- a[, i]
for(i in 3 : 4) d[, i] <- a[, i] + b[, i]
for(i in 5 : 6) d[, i] <- a[, i] + b[, i] + c[, i]
d
は同じであり,このプログラムの答と私のプログラムの答は一...
- ご教授ありがとうございます。教えていただいたプログラム...
set.seed(1)
Size <- seq(0.1, 30, by=0.5) #個体のサイズ分布
year <- 40 #時間
class <- 3 #生物の年級群の数
M <- catch <- matrix(0, ncol=year*class, nrow=length(Siz...
Gs <- list(0, 0, 0) #classの数だけ
r_years <- c(year, year*2+13)
r_number <- c(40000, 40000)
###Catchは既知のデータ###
c_days <- c(5, 10, 56, 77, 105)
catch[, c_days] <- sapply(seq(2, 6),
function(x) {rpois(length(Size), l...
)
SS <-SS2 <- As <- Probs <- matrix(NA, length(Size), class)
Mean <- m123 #mapply(function(min, max)
runif(year*class, min, max), c(0, 5, 15), c(1, 10, 20))
SD <- sd123 #mapply(function(min, max)
runif(year*class, min, max), c(1, 1, 1), c(5, 3, 2))
Surv <- surv123 #mapply(function(min, max)
runif(year*class, min, max), c(0.9, 0.9, 0.9), c(0.99,...
k <- 1
SS2[1, 1] <- 40000
for(i in 1 : (year*class)){
As <- mapply(function(mean, sd)
dnorm(Size, mean, sd), Mean[i, ], SD[i, ])
Probs <- As/rep(apply(As, 2, sum), each=nrow(As))
Probs[which(is.na(Probs))] <- 0
for (j in 1 : ncol(Mean)) {
if(sum(Probs[, j]==0) < nrow(As))
Gs[[j]] <- sample(Size, sum(SS2[, j], na.rm=T),
prob=Probs[, j], rep=T)
}
for(j in 1 : ncol(As)){
SS[, j] <- rbinom(rep(1, length(Size)),
table(cut(Gs[[j]],
breaks=c(Size, max(Size) + 0.5))),
prob=Surv[i, j])
}
for(j in 1 : ncol(As)) {
SS2[, j] <- SS[, j] - round(catch[, i] *
SS[, j]/apply(SS, 1, sum))
SS2[which(SS2[, j] < 0), j] <- 0
}
SS2[which(is.na(SS2))] <- 0
M[, i] <- apply(SS2, 1, sum)
M[which(M[, i] < 0), i] <- 0
if(sum(i==r_years) > 0){
SS2[1, k+1] <- r_number[k]
k <- k + 1
}
}
**対応した2つのデータフレームに一括でペアT検定とWilcoxon...
>[[のぶ]] (2012-12-03 (月) 23:04:10)~
~
お世話になります。~
~
Rは始めたばかりの初心者です。~
ご教示頂けると幸いです。~
~
下記のようなデータフレームX、Yの、各A-A',B-B',C-C',D-D'間...
X <- data.frame(A = c(1,5,6,4,2), B = c(2,1,7,4,3) ,
C = c(1,NA,NA,NA,NA) , D = c(3,8,NA,4,1))
Y <- data.frame(A' = c(NA,3,2,8,1), B' = c(3,2,5,4,9) ,
C' = c(NA,2,8,3,10) , D' = c(1,3,NA,2,NA))
検討したい因子がかなり多く、p値の一覧として出力した上で、...
なので、
検討できた数 p-value(paired-T.test) p-value(wilcoxon)
A-A' 4 0.6892 0.7127
B-B' 5 0.4144 0.5807
C-C' 0 NA NA
D-D' 3 0.09547 0.1736
のように、要約された結果一覧を得たいです。
for (i in 1:4) print(t.test(X[,i],Y[,i],paired=TRUE))
for (i in 1:4) print(wilcox.test(X[,i],Y[,i],paired=TRUE))
とするところまではたどり着きましたが、各検定結果において...
何か良い方法はありますでしょうか。~
お手数をおかけいたしますが、よろしくお願いいたします。~
//
- 何と何を比較したかは,for ループの中で,変数名を書けば...
X <- data.frame(A = c(1, 5, 6, 4, 2), B = c(2, 1, 7, 4, ...
C = c(1, NA, NA, NA, NA) , D = c(3, 8, N...
Y <- data.frame(A = c(NA, 3, 2, 8, 1), B = c(3, 2, 5, 4,...
C = c(NA, 2, 8, 3, 10) , D = c(1, 3, NA,...
len <- length(X)
n <- pt <- wt<- rep(NA, len)
for (i in seq_len(len)) {
d <- na.omit(data.frame(x = X[, i], y = Y[, i]))
n[i] <- nrow(d)
if (n[i] >= 2) {
pt[i] <- t.test(d$x, d$y, paired = TRUE)$p.value
pw[i] <- wilcox.test(d$x, d$y, paired = TRUE)$p.value
}
}
data.frame(n, pt, pw, row.names=names(X))
実行結果(警告メッセージも出るが。不要なら出さないように...
n pt pw
A 4 0.68923296 0.7127019
B 5 0.41443008 0.5807122
C 0 NA NA
D 3 0.09546597 0.1735682
- ありがとうございました。したいことができました。まだま...
**mimRが手ごわい?! [#zb1cedab]
>[[悩めるポー]] (2012-12-01 (土) 18:40:47)~
~
R version 2.13.0(2011-04-13)~
mimR_2.6.2~
gRbase_1.4.4の環境下で、mimRとMIM3.2.0.7のコネクションが...
The mimR Package~
January 31, 2006をなぞっても、、、。~
//
- The mimR Package for Graphical Modelling in R DRAFT ...
- ググっていたら、The mimR Package for Graphical Modellin...
S3 ruary 20, 2007の中にヒントがありそうです。The 31 commu...
- R version 2.13.0(2011-04-13)だとRgraphviz package ca no...
- 不可解な自問自答で,何が質問かもよくわからないですね。...
**webページの更新日時取得 [#x072d737]
>[[asap]] (2012-11-30 (金) 21:30:28)~
~
webページの内容は~
src <- readLines("http://www.jma.go.jp/jp/")
のようにして取得できますが、そのページの更新日時を取得で...
例えばfirefox(Win版)であれば、右クリック>ページの情報を...
そのページの更新日時が表示されますが、それをRで取得したい...
よろしくお願いします~
//
- 私なら次のようにします -- &new{2012-12-01 (土) 05:20:2...
> url <- "http://jasp.ism.ac.jp/~nakanoj/workshop12/2012...
> grep("Last-Modified", system(paste("w3m -dump_head", u...
intern = TRUE), value = TRUE)
[1] "Last-Modified: Thu, 22 Nov 2012 05:14:24 GMT"
ただし、動的に作成されているページにはLast-Modifiedがない...
なお、http://www.jma.go.jp/jp/は403 Forbiddenでした。
- ありがとうございます 以下のエラーがでるのですが不備な点...
url <- "http://jasp.ism.ac.jp/~nakanoj/workshop12/2012Rm...
grep("Last-Modified", system(paste("w3m -dump_head", url),
intern = TRUE), value = TRUE)
以下にエラー system(paste("w3m -dump_head", url), intern...
'w3m' not found
- w3m というのはテキストブラウザということで, 'w3m' not ...
**stripchartで対応のある点を線でつなぐ [#of2fbcfd]
>[[COM]] (2012-11-26 (月) 10:02:04)~
~
お世話になります。~
stripchart() で因子別に一次元散布図を描き、対応するデータ...
y <- rnorm(20)
x <- factor(c(rep(1, 10), rep(2, 10)))
stripchart(y~x, vertical=T)
このとき、因子1の1番目と因子2の1番目、因子1の2番目と因子2...
というように点を線でつなぐにはどのようにすれ- d ばよいで...
宜しくお願いします。~
//
- segments 関数を上手に使う。segments(1, y[1:10], 2, y[1...
- 迅速なご回答ありがとうございました。stripchartについて...
**factor データを strptime で"POSIXt" に変換したときにデ...
>[[やまだ]] (2012-11-24 (土) 06:24:36)~
~
いつもお世話になっています。
x
[1] 2010/02/02 00:15:00 2010/02/02 01:15:00 2010/02/02 0...
[5] 2010/02/02 04:15:00 2010/02/02 05:15:00 2010/02/02 0...
[9] 2010/02/02 08:15:00 2010/02/02 09:15:00 2010/02/02 1...
[13] 2010/02/02 12:15:00 2010/02/02 13:15:00 2010/02/02 ...
[17] 2010/02/02 16:15:00 2010/02/02 17:15:00 2010/02/02 ...
20 Levels: 2010/02/02 00:15:00 2010/02/02 01:15:00 ... 2...
(y <- strptime(x, "%Y/%m/%d %H:%M:%S"))
[1] "2010-02-02 00:15:00" "2010-02-02 01:15:00" "2010-02...
[5] "2010-02-02 04:15:00" "2010-02-02 05:15:00" "2010-02...
[9] "2010-02-02 08:15:00" "2010-02-02 09:15:00" "2010-02...
[13] "2010-02-02 12:15:00" "2010-02-02 13:15:00" "2010-0...
[17] "2010-02-02 16:15:00" "2010-02-02 17:15:00" "2010-0...
length(x); length(y)
[1] 20
[1] 9
上記のようなコマンドを実行し、length(y)が9となるのはなぜ...
//
- 再現しませんねぇ。どちらも長さ 20 になりますが。x をど...
以下を R コンソールにカット&コピーしたらどうなりますか?...
x があなたの場合と同じ長さ 20 の Factor になっていること...
x <- factor(scan("", what=""))
"2010/02/02 00:15:00"
"2010/02/02 01:15:00"
"2010/02/02 02:15:00"
"2010/02/02 03:15:00"
"2010/02/02 04:15:00"
"2010/02/02 05:15:00"
"2010/02/02 06:15:00"
"2010/02/02 07:15:00"
"2010/02/02 08:15:00"
"2010/02/02 09:15:00"
"2010/02/02 10:15:00"
"2010/02/02 11:15:00"
"2010/02/02 12:15:00"
"2010/02/02 13:15:00"
"2010/02/02 14:15:00"
"2010/02/02 15:15:00"
"2010/02/02 16:15:00"
"2010/02/02 17:15:00"
"2010/02/02 18:15:00"
"2010/02/02 19:15:00"
x
(y <- strptime(x, "%Y/%m/%d %H:%M:%S"))
length(x); length(y)
実行結果は以下の通り
> x
[1] 2010/02/02 00:15:00 2010/02/02 01:15:00 2010/02/02 ...
[6] 2010/02/02 05:15:00 2010/02/02 06:15:00 2010/02/02 ...
[11] 2010/02/02 10:15:00 2010/02/02 11:15:00 2010/02/02 ...
[16] 2010/02/02 15:15:00 2010/02/02 16:15:00 2010/02/02 ...
20 Levels: 2010/02/02 00:15:00 2010/02/02 01:15:00 2010/...
> (y <- strptime(x, "%Y/%m/%d %H:%M:%S"))
[1] "2010-02-02 00:15:00" "2010-02-02 01:15:00" "2010-0...
[5] "2010-02-02 04:15:00" "2010-02-02 05:15:00" "2010-0...
[9] "2010-02-02 08:15:00" "2010-02-02 09:15:00" "2010-0...
[13] "2010-02-02 12:15:00" "2010-02-02 13:15:00" "2010-0...
[17] "2010-02-02 16:15:00" "2010-02-02 17:15:00" "2010-0...
> length(x); length(y)
[1] 20
[1] 20
ちゃんと,両方とも長さ 20 ですけどねぇ。~
もし,length(y) が 9 だとして,じゃああ,y[1] をプリント...
- わざわざデータをscan()で打ち込んで頂き大変感謝いたしま...
以下のようにそのままコピーしても同じ結果になりました。
> x <- factor(scan("", what=""))
1: "2010/02/02 00:15:00"
2: "2010/02/02 01:15:00"
3: "2010/02/02 02:15:00"
4: "2010/02/02 03:15:00"
5: "2010/02/02 04:15:00"
6: "2010/02/02 05:15:00"
7: "2010/02/02 06:15:00"
8: "2010/02/02 07:15:00"
9: "2010/02/02 08:15:00"
10: "2010/02/02 09:15:00"
11: "2010/02/02 10:15:00"
12: "2010/02/02 11:15:00"
13: "2010/02/02 12:15:00"
14: "2010/02/02 13:15:00"
15: "2010/02/02 14:15:00"
16: "2010/02/02 15:15:00"
17: "2010/02/02 16:15:00"
18: "2010/02/02 17:15:00"
19: "2010/02/02 18:15:00"
20: "2010/02/02 19:15:00"
21:
Read 20 items
> x
[1] 2010/02/02 00:15:00 2010/02/02 01:15:00 2010/02/02 0...
[4] 2010/02/02 03:15:00 2010/02/02 04:15:00 2010/02/02 0...
[7] 2010/02/02 06:15:00 2010/02/02 07:15:00 2010/02/02 0...
[10] 2010/02/02 09:15:00 2010/02/02 10:15:00 2010/02/02 ...
[13] 2010/02/02 12:15:00 2010/02/02 13:15:00 2010/02/02 ...
[16] 2010/02/02 15:15:00 2010/02/02 16:15:00 2010/02/02 ...
[19] 2010/02/02 18:15:00 2010/02/02 19:15:00
20 Levels: 2010/02/02 00:15:00 ... 2010/02/02 19:15:00
> (y <- strptime(x, "%Y/%m/%d %H:%M:%S"))
[1] "2010-02-02 00:15:00" "2010-02-02 01:15:00" "2010-02...
[4] "2010-02-02 03:15:00" "2010-02-02 04:15:00" "2010-02...
[7] "2010-02-02 06:15:00" "2010-02-02 07:15:00" "2010-02...
[10] "2010-02-02 09:15:00" "2010-02-02 10:15:00" "2010-0...
[13] "2010-02-02 12:15:00" "2010-02-02 13:15:00" "2010-0...
[16] "2010-02-02 15:15:00" "2010-02-02 16:15:00" "2010-0...
[19] "2010-02-02 18:15:00" "2010-02-02 19:15:00"
> length(x); length(y)
[1] 20
[1] 9
その一方で、以下に問題はありません。
> y[1]; y[9]
[1] "2010-02-02 00:15:00"
[1] "2010-02-02 08:15:00"
> y[10]
[1] "2010-02-02 09:15:00"
> y[15]; y[20]
[1] "2010-02-02 14:15:00"
[1] "2010-02-02 19:15:00"
問題となるのは以下のような場合です。
> m <- data.frame(V1=1:20, V2=1:20)
> m[,1] <- x
> m[,2] <- y
Warning message:
In `[<-.data.frame`(`*tmp*`, , 2, value = list(sec = c(0...
provided 9 variables to replace 1 variables
ただ、原因の一つは旧バージョンのRを使っていることに原因の...
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-pc-mingw32
locale:
LC_COLLATE=Japanese_Japan.932;LC_CTYPE=Japanese_Japan.932;
LC_MONETARY=Japanese_Japan.932;LC_NUMERIC=C;LC_TIME=Japa...
attached base packages:
[1] stats graphics grDevices utils datasets me...
以下の環境だと問題なくうまくいきます。
> sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: i386-pc-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=Japanese_Japan.932 LC_CTYPE=Japanese_Jap...
[3] LC_MONETARY=Japanese_Japan.932 LC_NUMERIC=C ...
[5] LC_TIME=Japanese_Japan.932
attached base packages:
[1] stats graphics grDevices utils datasets me...
ただ、R 2.8.1 でしか動作しないpackageを使用したいという事...
その他の環境は以下の通りです
Microsoft Windows XP
Professional
Version 2002
Service Pack 3
Intel(R) Core(TM)2 Duo CPU
E6850 @ 3.00GHz
2.99 GHz、1.95 GB RAM -- [[やまだ]] &new{2012-11-25 (日)...
- 挙げられた問題を解決するのが質問の目的ではなく,解決す...
- 既出 [[POSIXlt の bug ? :http://www.okada.jp.org/RWiki...
**barplotやbwplotにおける因子(項目)の並べ替え [#n59bc897]
>[[atr]] (2012-11-20 (火) 19:25:14)~
~
お世話になります。~
lab <- sample(rep(c("亜","い","u","エ","O"), length.out...
sp <- runif(10, min=0, max=7)
DF1 <- data.frame(lab, sp)
MEAN1 <- tapply(DF1$sp, DF1$lab, mean)
barplot(MEAN1)
にて描画される棒グラフのバーの並び順を例えば左から「"亜",...
低い検索スキルのせいかRjpwiki内では見つかりませんでした。...
//
- factor 変数のカテゴリーの順序は,factor 関数で自分で決...
layout(matrix(1:2, 2))
par(mgp=c(1.6, 0.8, 0), mar=c(2, 2, 0, 0))
lab <- sample(rep(c("亜","い","u","エ","O"), length.out...
sp <- runif(10, min=0, max=7)
DF1 <- data.frame(lab, sp)
MEAN1 <- tapply(DF1$sp, DF1$lab, mean)
barplot(MEAN1)
DF1$lab<-factor(lab, c("亜","い","u","エ","O")) # ここ...
MEAN1 <- tapply(DF1$sp, DF1$lab, mean)
barplot(MEAN1)
layout(1)
&ref(factor.png);~
例が,余りにも適切に選ばれているので,やらせのようにみえ...
- bwplotもご教授頂いた形のfactor変数を渡すことで狙い通り...
**SVMの結果がsummaryとtableで違う [#i80d7620]
>[[P]] (2012-11-13 (火) 16:00:14)~
~
はじめまして。よろしくお願いします。~
今、問題になっているコードは以下の部分です。
library(e1071)
(eeg.svm <- svm(NAME~.,data=zz,cross=7))#svm
summary(eeg.svm)
pred2 <- predict(eeg.svm, zz)
table(pred2,zz[,1])
zzは、1列目NAMEに人物名(イニシャル)が入っており、2〜120...
~
このデータをsvmにかけて、個人の判別を行おうとしています。~
そこで、summary(eeg.svm)を実行し結果を見ると
Call:
svm(formula = NAME ~ ., data = zz, cross = 7)
Parameters:
SVM-Type: C-classification
SVM-Kernel: radial
cost: 1
gamma: 0.0008333333
Number of Support Vectors: 50
( 10 10 10 10 10 )
Number of Classes: 5
Levels:
m N o u y
7-fold cross-validation on training data:
Total Accuracy: 62
Single Accuracies:
42.85714 85.71429 42.85714 57.14286 85.71429 42.85714 75
と出てきて、Accuracyが62%だとわかります。~
では、その内訳がどうなっているのか、と予想からクロス表を...
pred2 <- predict(eeg.svm, zz)
table(pred2,zz[,1])
を実行してみると、
pred2 m N o u y
m 8 0 0 0 0
N 2 10 1 0 0
o 0 0 9 0 0
u 0 0 0 10 0
y 0 0 0 0 10
と出てきます。このクロス表によればAccuracyは94%です。~
なぜ、このように違った結果が出てしまうのでしょうか?~
~
見辛い文章になっていたら申し訳ありません。(←編集し直しま...
ご回答よろしくお願いします。~
//
- 「7-fold cross-validation on training data」って書いて...
- 以下のようなプログラムで,「でたらめなデータ」を解析し...
set.seed(12345)
zz <- data.frame(NAME=rep(c("m", "N", "o", "u", "y"), 10),
matrix(rnorm(50*1200), 50))
library(e1071)
eeg.svm <- svm(NAME~., data=zz, cross=7) # svm
summary(eeg.svm)
pred2 <- predict(eeg.svm, zz)
table(pred2, zz[,1])
やはり,データ数より変数の数が多いのでそういうことになる...
- 通りすがりの仮面ライダー様、河童の屁は,河童にあらず,...
- クロスバリデーションは,判別ルールを構築/検証する段階で...
**「NULL に対して属性を設定しようとしました」のエラーメッ...
>[[佐藤]] (2012-11-07 (水) 22:38:03)~
~
初めまして。今回、初めて投稿させて頂きます。~
現在とあるシステムのエラー原因が分からず困っております。~
ご指南を宜しくお願いします。~
~
<状況>~
4年前からあるシステムを運用していて、Rのソースを一切変え...
~
下記のエラー内容を見て、原因が分かれば教えて頂けないでし...
~
<ログファイルからのエラー直後の箇所を抜粋>
if (nrow(tDatStdModelPros) > 0) {
res <- by(tDatStdModelPros, factorList,
function(x) analyticalPerspectiveByStdMode...
stdPredictPros[(stdPredictPros[,"COLUMN_3"...
indexInfo[x[1,"COLUMN_3"],"COLUMN_11"],
stdModelProsList[x[1,"COLUMN_2"],], startY...
# 結果が List なので matrix に変換
colName <- c("COLUMN_1",
"COLUMN_2",
"COLUMN_3",
"COLUMN_4",
"COLUMN_5",
"COLUMN_6",
"COLUMN_7",
"COLUMN_8",
"COLUMN_9",
"COLUMN_10")
predictValProsStd <- matrix(unlist(res), ncol=10,
byrow = TRUE, dimnames = list(NULL, colName))
predictValProsStd[,"COLUMN_9"] <- 3
predictValProsStd[,"COLUMN_6"] <- 2
rm( res)
}
以下にエラーmatrix(unlist(res), ncol = 10,
byrow = TRUE, dimnames = list(NULL, :
NULL に対して属性を設定しようとしました
実行が停止されました~
//
- res に付値したあと,res がどうなっているか(期待してい...
- tDatStdModelPros?, factorList のデバッグを実施しようと...
- print を使うか,必要な要素について cat でよいでしょう。...
> x <- list(a=1:3, b="abc")
> print(x)
$a
[1] 1 2 3
$b
[1] "abc"
> cat(x$a)
1 2 3
> cat(x$b)
abc
- print()を使い、res,DatStdModelPros, factorListの値をチ...
- > そもそもエラーと出力されている「NULL に対して属性を設...
> a <- NULL
> attributes(a) <- list(a="aaa")
> a
list()
attr(,"a")
[1] "aaa"
なんてやっても,エラーも出ないし,然るべき結果になるわけ...
- 再度確認したところ、resの返却値にNULLが含まれておりまし...
- > by()はどういう使い方をsるうのでしょうか?&br;オンラ...
**Jaccard係数(類似度)計測後のデンドログラム描画方法を教...
>[[mura]] (2012-11-07 (水) 14:18:02)~
~
はじめまして。R初心者の大学院生で、修士論文のデータ整理で...
~
実は、Jaccard(ジャッカード)係数で約10個のデータの相互...
スケールは、ジャッカード係数なのでデータは最大値は1.0で最...
~
今、10個のデータ間のジャッカード係数を計算してある縦横...
Rについては超初心者で、本を見ながら練習をはじめたばかりで...
大変お手数ですが関数とその他引数も含めてどのようにすれば...
どうぞ宜しくお願い致します。~
//
- よく分からないが、対称行列からデンドログラムを描くなら...
> set.seed(1234)
> x <- round(cor(matrix(runif(25), 5)), 1)
> row.names(x) <- colnames(x) <- LETTERS[1:5]
> x
A B C D E
A 1.0 -0.3 -0.4 -0.9 -0.4
B -0.3 1.0 0.5 0.3 -0.4
C -0.4 0.5 1.0 0.2 -0.3
D -0.9 0.3 0.2 1.0 0.6
E -0.4 -0.4 -0.3 0.6 1.0
という対称行列があったとして、
> library(rioja)
> plot(chclust(as.dist(x)), hang = -1, horiz = TRUE)
&ref("chclust01.png");
日頃、デンドログラムを描くことがないので、今までplot.hclu...
**インストール済みのパッケージのアーカイブ化(zip形式) [#g...
>[[わnがねぇー]] (2012-10-27 (土) 11:23:59)~
~
最近、CRAN より、インストールしたパッケージが、CRANサイ...
~
新しいPCに、Rをインストールしているのですが、このパッケ...
~
ンストール済みのパッケージをアーカイブ化(zip形式)して、...
//
- だれか持ってるかもしれないから、ここで告知してみたらい...
- バイナリのパッケージをインストールしているなら、インス...
- まずは,そのパッケージ名を明記すれば? -- [[河童の屁は...
**長さの異なるベクトルを渡した時の"関数の引数"と"配列の要...
>[[satto]] (2012-10-26 (金) 02:26:34)~
~
初めて投稿させて頂きます~
以下のコードを実行した時に表示される要素番号とその要素が...
xn <- 2
yn <- 3
zn <- 4
a <- c(1:(xn*yn*zn))
dim(a) <- c(xn, yn, zn)
f1 <- function(x, y, z) {
cat("a[x,y,z] : ")
cat(
sprintf("[%d,%d,%d]=%2d,",
x, y, z, a[x,y,z])
)
cat("\n")
}
f1(1:xn, 1:yn, 1:zn)
おそらく、sprintf()の書式指定子に渡される順序と、配列の[]...
//
- コードの書き込みが崩れてますね、すみません慣れていない...
- > すみません慣れていないもので&br;直しておきます。揚げ...
> for (k in 1:zn) {
+ for (j in 1:yn) {
+ for (i in 1:xn) {
+ f1(i, j, k)
+ }
+ }
+ }
- どうもお手数をかけました、先頭にスペースでコードの引用...
**回帰分析の繰り返し処理のやり方について [#b73b794d]
>[[悩むぽー]] (2012-10-24 (水) 20:15:37)~
~
お世話になります。~
処理を繰り返すには、for ループを使えばいいんだろうな?と...
例えば、回帰分析の結果を変数の組み合わせで、数十回繰り返...
~
変数ABとvariable1の回帰分析をするとして、変数ABとn個の異...
RegModel.1 <- lm(AB~variable1, data=dataset)
summary(RegModel.1)
RegModel.2 <- lm(AB~variable2, data=dataset)
summary(RegModel.2)
RegModel.3 <- lm(AB~variable3, data=dataset)
summary(RegModel.3)
//
- 全ての結果を違う名前のオブジェクトに取っておく必要があ...
以下のようなデータフレーム dataset があるとして,
AB variable1 variable2 variable3 variable4 variable5 v...
1 60 47 51 67 50 46 ...
2 50 57 51 51 70 54 ...
3 38 44 34 48 33 67 ...
4 38 66 46 46 38 48 ...
:
こんなふうにやる
n <- 9
for (i in 1:n) {
str <- sprintf("RegModel.%i <- lm(AB ~ variable%i, dat...
i, i, i)
eval(parse(text=str))
}
別のやり方は,簡単。
ans <- lapply(dataset[,2:10], function(x) lm(dataset$AB~...
lapply(ans, summary)
ans はリストオブジェクトになります。~
どっちがよいですか? -- [[河童の屁は,河童にあらず,屁で...
- ご教示ありがとうございます。今はRとEXCELLを交互に使いな...
- あっという間の処理で、驚いてしまいました。ありがとうご...
- > ロジスティック回帰を実行するにはどう書けば&br;制御の...
- ありがとうございます。ご教示の通りと思うのですが、エラ...
- 原因が分かりました。式の中に余計なスペースが入っていま...
**年次別データの欠損年の自動補間 [#ma25c780]
>[[atr]] (2012-10-23 (火) 19:20:06)~
~
お世話になります。~
下記のように、'00〜'02年、'04年は測定実施、'03年測定せず...
yr <- sample(rep(c(2000:2002, 2004), length.out=10), 10)...
sp <- runif(10, min=0, max=7)
DF1 <- data.frame(yr, sp)
MEAN1 <- tapply(DF1$sp, DF1$yr, mean)
barplot(MEAN1)
上記barplot(MEAN1)のように'02年の次が'04年とならず、下記b...
DF2 <- DF1
DF2[(nrow(DF2)+1), ] <- c(2003, 0) # '03年平均ゼロ化(便...
MEAN2 <- tapply(DF2$sp, DF2$yr, mean)
barplot(MEAN2) #狙いの出力
測定ナシの年のデータを手動追加で作成、はデータが膨大であ...
//
- 以下のような関数を作ればよいかと。 -- [[河童の屁は,河...
set.seed(123)
yr <- sample(rep(c(2000:2002, 2004), length.out=10), 10)...
sp <- runif(10, min=0, max=7)
DF1 <- data.frame(yr, sp)
MEAN1 <- tapply(DF1$sp, DF1$yr, mean)
func <- function(MEAN1) { # 飛び値のあるデータ
Names <- as.numeric(names(MEAN1))
MEAN2 <- numeric(diff(range(Names))+1)
MEAN2[Names-Names[1]+1] <- MEAN1
names(MEAN2) <- Names[1]:Names[length(Names)]
return(MEAN2) # 飛び値には 0 を補完したデータを返す
}
MEAN2 <- func(MEAN1)
barplot(MEAN2)
または,yr を,最大・最小を指定して factor にして以下のよ...
set.seed(123)
yr <- sample(rep(c(2000:2002, 2004), length.out=10), 10)...
sp <- runif(10, min=0, max=7)
yr <- factor(yr, levels=min(yr):max(yr))
MEAN1 <- tapply(sp, yr, mean)
barplot(MEAN1)
お好きな方を
- 例えば、こんな感じ?0という測定値が観測されたのではなく...
barplot(MEAN1[as.character(2000:2004)], names.arg=2000:2...
- ご教授ありがとうございました。tapply、factor、barplot等...
**パッケージvcdのモザイクプロットに関するいくつかの疑問 [...
>[[vcd初心者]] (2012-10-23 (火) 17:43:10)~
~
お世話になります。~
Windows 7上でR i386 2.15.1を使って、vcd_1.2-13を試してい...
パッケージvcdのモザイクプロットに関して、いくつか疑問があ...
library(vcd)
mosaic(Titanic)
とすると、描画領域全体に広がるプロットが作成されますが、...
tab <- matrix(c(10, 30, 40, 60, 70, 30), nrow=3, byrow=T)
dimnames(tab) <- list(Size=c("S", "M", "L"), Gender=c("M...
mosaic(tab, split_vertical=T)
正方形の領域にしかプロットされません。~
これを描画領域全体に広げるにはどうしたらよいのでしょうか。~
~
また、度数を各セルに表示しようとして、次のように入力する...
mosaic(tab, split_vertical=T, labeling=labeling_cells(te...
度数は表示されるのですが、変数名と水準名のラベルが消えて...
最低、水準名は表示したいのですが、どうしたらよいのでしょ...
~
さらに、ラベルを日本語で表示しようとして、次のように入力...
> dimnames(tab) <- list(サイズ=c("S", "M", "L"), 性別=c(...
> mosaic(tab, split_vertical=T)
以下にエラー grid.Call.graphics(L_downviewport, name$na...
Viewport 'cell:サイズ=S' was not found
とエラーになってしまいます。日本語が通らないようなのです...
~
以上、長々と申し上げましたが、どなたか解決策を御教示いた...
//
- basic な描画関数によるものではないので,対処が難しいで...
**関数の引数の値の有効性の確認方法の教授願い [#zf111fcc]
>[[ひろ]] (2012-10-23 (火) 12:02:25)~
~
関数の引数(パラメータ)aの値がvalidか否かで処理をif分岐...
~
というのもexists("a")とするとTRUEが返りますが,他is.na,is...
~
■ 追加ソースコード
test<-function(a,b){
browser()
missing(a) # TRUE
missing(b) # FALSE
print(exists("a")) # TRUE
print(exists("b")) # TRUE
print(ls(a)) # [1] "a" "b"
print(ls(b)) # 正常にオブジェクト一覧表示
print(search(a)) # wrapup 中にエラーが起こりました
# 使われていない引数 (a)
print(search(b)) # wrapup 中にエラーが起こりました
# 使われていない引数 (b)
is.na(a) # wrapup 中にエラーが起こりました
# オブジェクト 'a' があ...
is.na(b) # FALSE
}
test(b=1)
//
- aの居る環境をsearchとlsで調べてみては?自分の場所はenvi...
- 何をどうやったらそういう結果になるのかを再現できる最小...
- 引数チェックの話ですよね?if(missing(a)){引数aに値が設...
- 名無しの方,拙い説明を理解していただきましてありがとう...
- 頂いた回答(missing関数)を,河童の屁は,河童にあらず,...
- へぇ、以前はデフォルト値が指定されてない引数を与えずに...
- 以前ってどのくらい以前でしょうか?間瀬先生らが翻訳された...
- missing() で TRUE になった引数は,渡されていないのだか...
> test <- function(a, b) {
+ if (missing(a) || missing(b)) stop("Error 1")
+ else if(a < 0 || b < 10) stop("Error 2")
+ return(a + b)
+ }
> test(a=13)
以下にエラー test(a = 13) : Error 1
> test(b=1)
以下にエラー test(b = 1) : Error 1
> test(a=3, b=9)
以下にエラー test(a = 3, b = 9) : Error 2
> test(a=-10, b=20)
以下にエラー test(a = -10, b = 20) : Error 2
> test(a=50, b=100)
[1] 150
> test(10, 30)
[1] 40
- あぁ、なるほど。自作で定義した関数では出ないんですね。...
**添え字が許される範囲か否かを確かめる方法 [#odfb4e5c]
>[[ひろ]] (2012-10-23 (火) 10:46:51)~
~
添え字が許される範囲か否かを確かめる方法はありますでしょ...
~
■ 試行内容:~
SVMといった機械学習を用い,弁別予測・正解結果より精度を算...
~
ところが,結果の行列の構成が結果で異なります.
下記の様に,"正常","異常"の2つの行列が通常現れる
pred 異常 正常
異常 100 0
正常 0 100
ところが予測結果が悪いと次のように"異常"のみ現れ,"正常"...
pred 異常 正常
異常 100 100
//
- 行名・列名がない場合は行列の大きさを求めて,使おうとす...
- 河童の屁は,河童にあらず,屁である。様.添字があるか否...
**hclustの各labelsの枝の長さ [#y58eb179]
>[[kin]] (2012-10-23 (火) 07:59:59)~
~
お世話になります。~
~
hclustで樹形図を作成しています。~
~
今回の質問は、各ラベルから延びている枝の高さを得たいので...
→ 各ラベルに直接接続している枝の高さです。
dat.hc <- hclust(dat, method="ward")
とした場合、dat.hc$heightで各クラスターごとの枝の高さが得...
~
アドバイスなど頂ければ幸いです。~
宜しくお願いします。~
//
- > いまいちスマートなスクリプトが思い浮かびません&br;正...
> set.seed(4649)
> d <- data.frame(x=rnorm(10), y=rnorm(10), z=rnorm(10))
> a <- hclust(dist(d), method="ward")
> plot(a, hang=-1)
> cbind(
+ a$order,
+ sapply(a$order, function(x) {
+ a$height[which(a$merge == -x, arr.ind=TRUE)[1]]
+ })
+ )
[,1] [,2]
[1,] 9 4.161608
[2,] 7 1.761123
[3,] 1 1.093749
[4,] 3 1.093749
[5,] 6 1.310064
[6,] 10 1.310064
[7,] 4 3.018550
[8,] 2 1.690142
[9,] 5 1.290380
[10,] 8 1.290380
- 河童の屁は,河童にあらず,屁である。様 早速のご回答あ...
**K-meansの結果出力 [#h1386caa]
>[[Micheal]] (2012-10-23 (火) 05:09:56)~
~
dataset <- 1:100
x <- matrix(dataset, 50, 2)
w <- km <- kmeans(x, 2)
の結果得られるClustering vectorを出力したくて
write(w, file="result.txt", ncolumns=1)
としたのですが、うまく出力する事が出来ません。ご示唆を頂...
//
- write(w$cluster, file="result.txt", ncolumns=1) でしょ...
- どうもありがとうございました。 -- [[Micheal]] &new{2012...
**mvpartによる決定木描画時の凡例について [#e4599871]
>[[SKYLINE]] (2012-10-20 (土) 21:54:00)~
~
http://mjin.doshisha.ac.jp/R/19.pdfを参考に mvpart 関数を...
library(mvpart)
iris.rp <- mvpart(Species~., data=iris)
plot(iris.rp, uniform=TRUE, branch=0.6, margin=0.05)
text(iris.rp, all=T, use.n=TRUE)
ところが、上記のサイトのような凡例 (色と品種の対応) が表...
どうすれば凡例が表示されるのでしょうか?~
ご教授お願い致します。~
~
環境~
MacOSX 10.8.2~
R 2.15.1~
RStudio 0.96.331~
mvpart 1.6~
//
- text(iris.rp,all=T,use.n=T,legend = T) -- [[okinawa]] &...
- okinawa様 お陰様で凡例が表示されるようになりました。あ...
**数字変換 [#a31d7b4c]
>[[アトム]] (2012-10-19 (金) 07:41:20)~
~
100x250のマトリックス(dim(a)=100, 250)の中に1から9までの...
b <- gsub(3, 10, a)
を実行したのですが上手くいきません。ご示唆を頂ければと思...
//
- このようなことは,R の教科書の最初の方(添え字の使い方...
> set.seed(888)
> a <- matrix(sample(9, 50, replace=TRUE), 10, 5)
> a
[,1] [,2] [,3] [,4] [,5]
[1,] 1 4 6 2 5
[2,] 4 1 9 2 2
[3,] 1 1 9 8 4
[4,] 7 4 7 1 5
[5,] 7 7 8 4 3
[6,] 1 9 6 3 8
[7,] 4 7 6 1 8
[8,] 3 3 2 9 3
[9,] 1 8 3 4 4
[10,] 9 7 8 4 1
> a[a==3] <- 10
> a
[,1] [,2] [,3] [,4] [,5]
[1,] 1 4 6 2 5
[2,] 4 1 9 2 2
[3,] 1 1 9 8 4
[4,] 7 4 7 1 5
[5,] 7 7 8 4 10
[6,] 1 9 6 10 8
[7,] 4 7 6 1 8
[8,] 10 10 2 9 10
[9,] 1 8 10 4 4
[10,] 9 7 8 4 1
**0から始まるデータの読み込み [#s0fafb4d]
>[[ひろ]] (2012-10-18 (木) 13:01:50)~
~
何時も参考にさせて頂いています。R初心者です。x<-c(034, 02...
//
- 数値ではなく文字列として読み込めばよいです。 -- &new{2...
> (x <- c("034", "0223", "098", "076", "054"))
[1] "034" "0223" "098" "076" "054"
**半角と全角混在文字列のバイト数 [#n95b4da6]
>[[kin]] (2012-10-18 (木) 10:44:24)~
~
お世話になります。~
日本語のフレーズを指定文字数で改行したいと考えています。~
しかし、ncharでは半角全角も1文字と判断するので半角と全角...
バイト単位で文字数を得るような関数はありませんか?~
宜しくお願いします。~
//
- ncharのオプションにありましたね。type="bytes" (ヘルプ...
**出現回数の計算法 [#j21ad186]
>[[Micheal]] (2012-10-18 (木) 09:04:32)~
~
R初心者です。ランダムな組み合わせの数字が入ったデータフレ...
y <- c(897, 34565, 32, 1,345, 324, 98765, 808, 897, 808,...
length(y)=30000
この中から同じ組み合わせの数字が幾つ出現しているかを調べ...
~
(組み合わせの数字,出現回数)
808, 2
1345, 35
32, 3
…
です。よろしくお願い致します。~
//
- 同じ組み合わせの数字ってのが何のことかわからないのです...
- 通りすがりの仮面ライダー様、返信ありがとうございました...
- write.csv(as.data.frame(table(y)), file="resultramdon.c...
**異なる列数のデータフレームの連結 [#y113c049]
>[[ひろ]] (2012-10-15 (月) 15:12:54)~
~
いくつかの列は同じ列名で,幾らか異なる列名のdata.frameを2...
~
例えば,data.frame1とdata.frame2があるとします.2つの行連...
~
data.frame1:
A C D
1 1 2 3
2 4 5 6
data.frame2:
A B C D
1 7 8 9 10
2 11 12 13 14
data.frame.Answer(<- data.frame1+data.frame2)
A B C D
1 1 NA 2 3
2 4 NA 5 6
3 7 8 9 10
4 11 12 13 14
//
- data.frame.Answer <- merge(data.frame1, data.frame2, al...
- 河童の屁は,河童にあらず,屁である。様,質問の度回答お...
- これに関係しているので教えていただけると助かるのですが...
- merge の過程においてということは必要ないと思いますが,...
> a
A C D E F
1 1 2 3 1 4
2 4 5 6 4 6
> b
A B C D X
1 7 8 9 10 4
2 11 12 13 14 9
> (n.a <- colnames(a)) # 列名を取り出す
[1] "A" "C" "D" "E" "F"
> (n.b <- colnames(b)) # 列名を取り出す
[1] "A" "B" "C" "D" "X"
> setdiff(n.a, n.b) # a にあって b にない列
[1] "E" "F"
> a[setdiff(n.a, n.b)] # a から取り出す
E F
1 1 4
2 4 6
> setdiff(n.b, n.a) # b にあって a にない列
[1] "B" "X"
> b[setdiff(n.b, n.a)] # b から取り出す
B X
1 8 4
2 12 9
> intersect(n.a, n.b) # 両方に共通する列
[1] "A" "C" "D"
> a[intersect(n.a, n.b)] # a から取り出す
A C D
1 1 2 3
2 4 5 6
> b[intersect(n.a, n.b)] # b から取り出す
A C D
1 7 9 10
2 11 13 14
- 河童の屁は,河童にあらず,屁である。様.お世話になって...
**コンソール画面の更新 [#f39bdb0c]
>[[kin]] (2012-10-14 (日) 07:25:10)~
~
時間がかかる処理の進行状況がわかるようにcatにてコンソール...
しかし、コンソール画面の行数が26行とすると、そこまでの出...
RGUI設定のbuffer console by deault?のチェックは外していま...
~
現在は、事前に改行(\n)を26個くらい出力することで対応して...
//
- コンソール画面の行数を数行にしておけばよいのでは?&br;...
- コメント有難うございました。flush.console()ではうまくい...
- ちゃんと処理しているのか気になりますよね。こここ、参考...
- winProgressBarのご紹介有難うございました。この関数はこ...
**geoRでのバリオグラム作成について [#u7e0a03f]
>[[cet]] (2012-10-14 (日) 01:46:07)~
~
はじめまして。いつもこちらを参考にさせていただいています。~
R初心者なのですが、どうしても研究でKrigingによる空間補間...
緯度、経度、値の情報が入ったcsvを読み込みchl200708という...
~
このような形式のデータを使用しております。
> head(ttt200708)
lon lat ttt
1 140.042 54.958 0.73995
2 140.083 54.958 0.74817
3 140.125 54.958 0.74817
4 140.167 54.958 0.77717
5 140.208 54.958 0.77717
6 140.250 54.958 0.78524
(7~57690行目は省略いたします)
このデータをパッケージgeoRコマンドを用いて
testgeo <- as.geodata(ttt200708)
でgeodataの形式にすることはできました。~
しかし、距離行列を計算しようとすると”負の長さのベクトルは...
同様に、バリオグラムを作成しようとすると
> vario1 <- variog(testgeo,max.dist=0.1)
variog: computing omnidirectional variogram
以下にエラー dist(as.matrix(coords)) : 負の長さのベク...
となってしまいます。緯度・経度の並び順が悪いのかと思い、...
オンラインでもこの間違いの解決方法を探したのですが、みつ...
~
勉強不足なのはわかっているのですが、どこかにこの解決方法...
もし、解決方法をご存知でしたら、教えてください。~
どうぞよろしくお願いいたします。~
//
- いろいろやってみましたが,エラーが再現できません。「緯...
- 河童の屁は,河童にあらず,屁である。様 ご丁寧なアドバ...
> testgeo2 <- as.geodata(ttt200708_2)
> vario1 <- variog(testgeo2,max.dist=0.1)
variog: computing omnidirectional variogram
エラー:サイズ2.9Gbのベクトルを割り当てることができ...
追加情報: 警告メッセージ: 1:In as.vector(dist(a...
Reached total allocation of 8072Mb : see help (momo...
というエラーがでました。これを調べてみたところ、データが...
- データを35000行ほどにすると、一応バリオグラムを作ること...
- > データが大きすぎるということは、小さな区画に分けて解...
以下にエラー dist(as.matrix(coords)) : 負の長さのベクト...
Mac の 64 bit 版の R ですが,この条件じゃあお手上げかな。...
- 河童の屁は,河童にあらず,屁である。様 本当にありが...
**tickの長さ [#j8f1bffd]
>[[MY]] (2012-10-12 (金) 02:50:04)~
~
いつもお世話になっております。~
plot関数などの作図関数を使ってグラフのx軸、y軸の目盛りの...
どうぞよろしくお願い致します。~
//
- オンラインヘルプを見ましょう。? par によって,あなたが...
- どうもありがとうございました。parのhelpには作図の色々な...
**合計値 [#c9e67f4f]
>[[Micheal]] (2012-10-11 (木) 07:40:43)~
~
R初心者の者です。~
~
>dataset=c(1,9,2,7,72,3,7,99,21,20,11,12,122,45,198,334,4...
(要素数は100個)というデータセットにおいて、前から順に5...
//
- 5×20の行列にして,colSums を使えばよいでしょう(20×5の...
> dataset <- 1:100 # データ例
> x <- matrix(dataset, 5, 20) # 行列を作る
> x[,1:4]
[,1] [,2] [,3] [,4] 5 列目以降は略
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 13 18
[4,] 4 9 14 19
[5,] 5 10 15 20
> colSums(x) # 列方向に(5 個ずつの要素...
[1] 15 40 65 90 115 140 165 190 215 240 265
[12] 290 315 340 365 390 415 440 465 490
- 河童の屁は、河童にあらず、屁である様、ありがとうござい...
- > 行列を作ってみたら各要素がInteger,20と表示され、上手...
- あなたが,dataset=c(1,9,2,7,72,3,7,99,21,20,11,12,122,4...
例えば,d <- data.frame(dataset=c(1,9,2,7,72,3,7,99,21,20...
そりゃ,そういうことをすれば,"Integer,20" みたいなのを要...
質問も,ちゃんとしないと,正解は出ませんよ。~
データフレームの要素(列)を使って行列を作るには,x <- ma...
**各行のカウントの仕方について [#ef1d09f7]
>[[sheet]] (2012-10-09 (火) 23:11:19)~
~
24行x500列の時系列データ(=data)で、1〜24行の各行が時間、1...
(data[,1]=(10,10,10,10,10,10,10,10,4,4,2,2,2,2,2,2,2,2,2...
~
これらのデータから各要素(1から10)の各時間毎の総計(rowSum...
data[,1]=(1,10,10,10,10,10,10,4,4,4,2,2,2,2,2,2,2,2,2,2,...
data[,2]=(10,10,10,10,10,10,10,10,4,4,4,4,2,2,2,2,2,2,2,...
data[,3]=(10,10,10,10,3,3,4,4,4,4,2,2,2,2,2,2,2,2,2,2,3,...
というデータセットにおいては、第一行のrowSums(data==10)=2...
~
ここでdata[,1]では第一行に1が初めて現れているので、3つの...
~
しかし第二行を見てみると、data[,1]では10という要素が「新...
~
何かご示唆を頂ければと考えております。よろしくおねがいし...
//
- 「第二行のrowSums(data==10)は2となる様に計算」というの...
他にも説明のおかしいところがありますが,要するに「新しく...
> d <- cbind(c(1,10,10,10,10,10,10,4,4,4,2,2,2,2,2,2,2,2...
+ c(10,10,10,10,10,10,10,10,4,4,4,4,2,2,2,2,2,2,2,2,3,4,...
+ c(10,10,10,10,3,3,4,4,4,4,2,2,2,2,2,2,2,2,2,2,3,4,4,10))
> d2 <- apply(d, 2, function(x) {
+ y <- c(0, x[1:23])
+ ifelse(x==y, 0, x)
+ })
> d2
[,1] [,2] [,3]
[1,] 1 10 10
[2,] 10 0 0
[3,] 0 0 0
[4,] 0 0 0
[5,] 0 0 3
[6,] 0 0 0
以下略
> rowSums(d2==1)
[1] 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> rowSums(d2==10)
[1] 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
- ありがとうございました。 -- [[sheet]] &new{2012-10-10 (...
- 上と同じ類いのデータで引き続き質問なのですが、同じ数(...
d <- cbind(c(0,0,0,10,10,10,0,0,0,0,0,10,10,10,10),
c(10,10,10,0,0,0,0,0,0,0,0,0,10,10,10),
c(0,10,10,10,10,10,10,0,0,0,0,0,0,0,0))
というデータにおいて、第一行においては10が3回と4回現れ、...
d <- cbind(c(0,0,0,3,3,3,0,0,0,0,0,4,4,4,4),
c(3,3,3,0,0,0,0,0,0,0,0,0,3,3,3),
c(0,6,6,6,6,6,6,0,0,0,0,0,0,0,0))
としたいのですが。よろしくおねがいします。 -- [[sheet]] &...
- スレッドのつじつまが合わなくなったので,もとのコメント...
a <- sapply(apply(d, 2, rle), function(x) {
l <- x[[1]]
v <- x[[2]]
v <- ifelse(v, l, v)
rep(v, l)}
)
a
- 河童の屁は, 河童にあらず, 屁であるさん、どうもありが...
- > 全く同じ条件でdが1000行とか沢山ある場合の繰り返し計算...
- 河童の屁は、河童にあらず、屁であるさん、曖昧な質問の仕...
d <- cbind(c(0,0,0,10,10,10,0,0,0,0,0,10,10,10,10),
c(10,10,10,0,0,0,0,0,0,0,0,0,10,10,10),
c(0,10,10,10,10,10,10,0,0,0,0,0,0,0,0))
というデータにおいて、同じ数(0は除く)が連続で出現した...
a <- sapply(apply(d, 2, rle), function(x) {
l <- x[[1]]
v <- x[[2]]
v <- ifelse(v, l, v)
rep(v, l)}
)
a
これを実行すると:
[,1] [,2] [,3]
[1,] 0 3 0
[2,] 0 3 6
[3,] 0 3 6
以下略
となり期待通りの結果が得られました。~
さて、上の例では3行15列の小さな行列だったのですが、これを...
繰り返し計算法で、Nやiを用いるのかな?という事は想像出来...
- 例で示した d は15×3の行列だったのだけど,それが1300×160...
**時系列データ変換 [#m60af9eb]
>[[Pen]] (2012-10-09 (火) 08:18:53)~
~
時系列データを作っています。各列に個人のIDを振り、各行に...
a <- ts(a, start=0, frequency=1440)
としたら、
第一行:0,000000000
第二行:0,0006944444
第三行:0,0013888889
第四行:0,002083333
....
となってしまいました。~
この数字は一体何なのでしょうか?~
普通の時刻(00:00:00, 00:01:00, 00:02:00)で表示する事は可...
何かアドバイスを頂ければ幸いです。~
//
- > この数字は一体何なのでしょうか?&br;質問が不明瞭なの...
> a <- ts(matrix(rnorm(1440*100), 1440, 100), start=0, f...
> rownames(a) <- substring(as.POSIXct(0:1439*60, origin=...
> a[1:10,1:5]
Series 1 Series 2 Series 3 Series 4...
00:00:00 0.3842177 -0.2572337 0.77637479 -1.4475976202...
00:01:00 1.2847077 0.2472553 -0.33261748 1.8957044334...
00:02:00 -1.8002028 -0.1887225 0.59084323 -0.6793383289...
00:03:00 -0.8671542 0.6765212 0.34528150 -0.0985912968...
00:04:00 0.9490067 -1.7888453 1.01909404 -0.4561435524...
00:05:00 0.8383023 -0.2663956 1.14336704 0.7110252003...
以下略
**計算結果の出力について [#b77f438d]
>[[SP]] (2012-10-09 (火) 07:56:54)~
~
PP.test の繰り返し計算で得られた結果を出力したいのですが...
for (i in 1:3) {
b <- PP.test(a[, i])
print(b)
}
という計算式を作り、得られた結果は
Phillips-Perron Unit Root Test
data: a[, i]
Dickey-Fuller = -3.5585, Truncation lag parameter = 7, p...
Phillips-Perron Unit Root Test
data: a[, i]
Dickey-Fuller = -3.8536, Truncation lag parameter = 7, p...
Phillips-Perron Unit Root Test
data: a[, i]
Dickey-Fuller = -7.0615, Truncation lag parameter = 7, p...
となりました。この P-value だけをまとめて出力したいと思っ...
//
- PP.test(a[, i])$p.value で表示されます。 -- &new{2012-...
- 早速のお返事、どうもありがとうございます。PP.test(a[,i]...
そりゃ,そういうことをすれば,とも同時に表示する方法は無...
- 前回答者は,p 値だけを取り出すにはどうしたらよいかを示...
n <- 1000
a <- matrix(rnorm(500*n), ncol=n)
b <- numeric(n)
for (i in 1:n) {
b[i] <- PP.test(a[,i])$p.value
}
print(b)
のようにしてもよいし,下の「通りすがりの仮面ライダーさん...
- unlist(lapply(apply(a, 2, PP.test), function(x){x$p.val...
- apply(a, 2, function(x) PP.test(x)$p.value) で十分です...
- 河童の屁は, 河童にあらず, 屁である。さん、通りすがりの...
- 通りすがりの仮面ライダーさんのやり方ではどうなります? -...
- 河童の屁は, 河童にあらず, 屁である。さん、unlist(lapp...
- singularities 云々は,PP.test の中で,重回帰分析のため...
- 河童の屁は, 河童にあらず, 屁であるさん、どうもありが...
**散布図のプロットを分散化する方法 [#na6d63de]
>[[yy]] (2012-10-04 (木) 13:17:40)~
~
対応分析や多次元尺度構成法などで散布図を作成しています。~
~
データや解析手法により座標面の一部分に集中してプロットさ...
~
この際に、作成されたプロットデータをスプリングモデルのよ...
~
なにか、アドバイスをいただければ幸いです。~
//
- > ノードの近いものは斥力が発生し、遠いものは引力が発生...
&ref(alpha.png);
- 河童の屁は,河童にあらず,屁である。様 早速のコメント有...
- > 各プロットを正確にクリックできなくなってしまいます&br...
&ref(cmdscale.png);
- 今回の目的の1つにインタラクティブな操作性があります。...
- > あれから各種対応分析を試し、それらの引数を変更するこ...
**引数名の表示 [#q472ddbc]
>[[taked]] (2012-10-03 (水) 18:58:04)~
~
関数の引数名を表示させたいのですが、可能でしょうか?~
下はうまくいっていない例ですが、このような関数を実行した...
yはベクトルです。よろしくお願いします。~
~
y <- c(1.9, 0.8, 1.1, 0.1,-0.1,4.4,5.5,1.6,4.6,3.4)
Data <- function(x){
# cat(names(x))
}
Data(y)
//
- deparse(substitute(argument)) で取り出すことができます...
> y <- c(1.9, 0.8, 1.1, 0.1,-0.1,4.4,5.5,1.6,4.6,3.4)
> Data <- function(x){
+ cat(deparse(substitute(x)), "\n")
+ }
> Data(y)
y
> long.name <- 1:10
> Data(long.name)
long.name
- 解決できました。河童の屁は,河童にあらず,屁である。様...
**線形判別分析をしたいのですが(エラー:variables are col...
>[[P]] (2012-10-03 (水) 15:42:52)~
~
はじめまして。~
線形判別分析を用いて、個人認証システムを実装しようと考え...
元になる波形はcsv形式で保存されており、~
30000行×10列で、1〜5列目が人物yの波形データ、残りが人物m...
eegMY <- matrix() #空の行列を用意
eegMY <- matrix(scan("csvファイルのパス",sep=',',n=30000...
eegMYt <- t(eegMY) #転置する
name <- matrix(, nrow=10, ncol=1) #個人を判別するための...
name[1:5,1] <- "y"
name[6:10,1] <- "m"
x <- cbind(name,eegMYt) #データと個人識別行列を結合する
z <- x[1:10,1:101] #※1
y <- as.data.frame(z) #ldaは行列形式は対応していないので...
library(MASS)
ldadata <- lda(V1~.,data = y) #実行できない(エラー:var...
※1 データが大きすぎるため実行できないようなので、とりあ...
現在このようなコードになっています。~
V1に用意した個人認証用の"y"か"m"が入っているので、それを...
In lda.default(x, grouping, ...) : variables are collinear
という警告メッセージが表示されます。~
どのようにすれば、このプログラムが完成に向かうでしょうか?~
~
この様な、本格的なコードを書くのは初めてなので、見当違い...
//
- 最終的に使われるデータ行列 z は 10行101列ですね?判別分...
- 河童の屁は,河童にあらず,屁である。様、ご返事ありがと...
- SVM では事情が違うかも(要するに,逆行列や,固有値固有...
**1つのグラフを複数ページPDFにしたいのですが [#mbe76358]
>[[yds]] (2012-09-27 (木) 13:50:39)~
~
hclustでデンドログラムを作成しpdfに出力しています。~
pdf(family="Japan1GothicBBB", file="dendorogramTI.pdf", w...
td.hc <- hclust(td.d, method="ward")~
plot(td.hc, cex=0.7, hang=-1, xaxs="i", yaxs="i")~
dev.off()~
~
良し悪しは別として、デンドログラムの項目(要素)が多くなり...
これをA4で3ページの1つのPDFとして出力することはできな...
//
- parとmfrowを使って分割できそうに思います.詳しくは,htt...
- ひろ様、res有難うございます。parとmfrowは、私はこれまで...
**setwd() 後の、Rコードのソースを読み込み… での問題 [#if...
>[[yy]] (2012-09-26 (水) 08:57:07)~
~
windows7 32bit R i386 2.15.0 を使用しています。~
~
Rのショートカットの作業フォルダは以下のようにしてデスク...
"C:/Users/hogehoge/Desktop/R"
その配下にcsvフォルダと、scriptフォルダを作成して、各々cs...
ユーザーは、ファイル → Rコードのソースを読み込み… でscr...
rのスクリプトファイルの最初には、下記のように記載されて...
library(svDialogs)
dirBase <- getwd()
setwd(paste(dirBase, "/csv" , sep=""))
csvfile <- dlgOpen(title="対象のCSVファイルを指定してく...
# 別のスクリプトを連続して実行する場合に備え、scriptフォ...
setwd(paste(dirBase, "/script" , sep=""))
その後、Rのコンソール画面で getwd() すると、
> getwd()~
[1] "C:/Users/hogehoge/Desktop/R/script"
のように正しく変更されています。~
◆ 今困っていることは、ファイル → Rコードのソースを読み込...
その後、ファイルを選択せずにダイアログを閉じ、もう一度、...
◆ これを最初のRコードのソースを読み込み…で C:/Users/hoge...
//
- .Rprofile に setwd("C:/Users/hogehoge/Desktop/R/script"...
- 通りすがりの仮面ライダー様、コメント有難うございました...
**Rの起動時の文言で気になるところ [#g2a52ded]
>[[Montecarlo]] (2012-09-25 (火) 23:10:06)~
~
いつもお世話になっております。~
新しいパソコンへRをインストールしたところ、以前のパソコン...
[以前にセーブされたワークスペースを復帰します]
この文言の意味するところが分からず、何か影響があるのでし...
「ワークスペースを○○したい」のページは見つけましたが、あ...
ご存知の方がいらっしゃいましたら、なにとぞお教えいただけ...
なお「sessionInfo()」は以下の通りです。
> sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: i386-pc-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=Japanese_Japan.932 LC_CTYPE=Japanese_Jap...
[3] LC_MONETARY=Japanese_Japan.932 LC_NUMERIC=C ...
[5] LC_TIME=Japanese_Japan.932
attached base packages:
[1] stats graphics grDevices utils datasets me...
//
- 前回 R を終了したときの状態を回復したと言うことで,気に...
- 河童の屁は、河童にあらず、屁である様 ご回答ありがとう...
**正規表現にマッチした個数 [#q5ddc21d]
>[[yy]] (2012-09-20 (木) 21:15:57)~
~
お世話になります。~
たとえば
x <- "最新のコメントが付いた記事"
とした場合、正規表現を "(最新|記事)" とした場合に「マッ...
よろしくお願いします。~
//
- 仕様に自由度が許されるならば,以下のようにすればどうで...
# 重複があっても 1 回と数える
> x <- "最新のコメントが付いた記事の最初のコメント"
> sum(sapply(c("最新", "記事"), grep, x))
[1] 2
> sum(sapply(c("最新", "記事", "コメント"), grep, x))
[1] 3
# 重複はそれぞれを 1 回と数える
> sum(sapply((sapply(c("最新", "記事"), gregexpr, x)), ...
[1] 2
> sum(sapply((sapply(c("最新", "記事", "コメント"), gre...
[1] 4
- 曖昧な質問になっていましたね。お手数をおかけしました。...
- 訂正です。"[あ-ん]"も文字列ベクトルに変換できますね。正...
- > 検索対象文字列に墨付きカッコ【A001】【B021】・・など...
- また誤解を与えたようですね。正規麩応現式はあくまでも例...
- 河童の屁は,河童にあらず,屁である。様、いろいろ煩わせ...
- length(unlist(gregexpr("最新|記事|コメント", x))) で...
- 河童の屁は,河童にあらず,屁である。様 上記スクリプト...
**3次元分布図のプロットごとに日本語ラベルをつけるには [#...
>[[a.i]] (2012-09-19 (水) 04:32:46)~
~
plot(x, y)
text(x, y, label)
での2次元分布図ではきちんと日本語表示されますが、
plot3d(x, y, z)
text3d(x, y, z, label)
でのrglパッケージで3次元分布図を作成すると日本語の部分だ...
きちんと日本語部分を表示する方法はあるでしょうか。~
よろしくお願いします。~
//
**表作成 [#z2984954]
>[[MY]] (2012-09-18 (火) 11:58:43)~
~
Rを使って表を作成しpngなどのファイルに出力してグラフ化し...
よろしくお願いします。~
//
- え? 表を作って png ファイルに出力する? どういうこと? 表...
- 混乱させて申し訳ありません。私がやりたいことは、例えば...
- グラフィックウインドウに text 関数で描き出し,それを保...
- どうもありがとうございます。表を編集して綺麗にしてから...
- 滅多にないと言うことはどういうことなのかを吟味してみる...
- まあ,そうたびたびやることじゃないなら,エクセルなどで...
- どうもありがとうございます。表を編集して綺麗にしてから...
- 同じ回答が重複しているようなので,以下のような回答も蛇...
&ref(bakaexcel.png);
- 色々と提案をありがとうございます。microsoft power point...
- > いかんせん手入力で表を作成するので時間がかかっていま...
- そうですね。今度からはそうやってみます。どうも有り難う...
**表示される有効桁数(2.0や4.0といった表示方法) [#r81b577e]
>[[taked]] (2012-09-18 (火) 11:12:50)~
~
小数点以下の表示をそろえるため、2.0や4.0を得たいのですが...
よろしくお願い致します~
下の例ではround関数を使っていますが、round関数でなくても...
> round(4.01,digit=0)
[1] 4
> round(4.01,digit=1)
[1] 4
> round(4.01,digit=2)
[1] 4.01
> 4.0
[1] 4
//
- sprintf 関数と cat 関数を使えばよいでしょう。 -- [[河童...
> cat(sprintf("%.1f\n", 4.01))
4.0
> cat(sprintf("%.2f\n", 4.01))
4.01
> cat(sprintf("%.0f\n", pi))
3
> cat(sprintf("%.1f\n", pi))
3.1
> cat(sprintf("%.2f\n", pi))
3.14
> cat(sprintf("%.3f\n", pi))
3.142
> cat(sprintf("%.4f\n", pi))
3.1416
> cat(sprintf("%.5f\n", pi))
3.14159
- 河童の屁は,河童にあらず,屁である。さんありがとうござ...
**biplotの色 [#ucc78643]
>[[超初心者]] (2012-09-14 (金) 15:52:22)~
~
いつも掲示板を参考にしています。~
~
x<-matrix(c(2,2,3,6,2,0,6,7,9,1,4,1,4,2,1,3,5,6,3,2,6,4,...
rownames(x)<-c("みかん","いよかん","はっさく","ぽんかん"...
colnames(x)<-c("あ町","い町","う町","え町")
library(MASS)
x.coa<-corresp(x,nf=4)
biplot(x.coa)
~
上記のようなサンプルで出力されるbiplot図に対して、柑橘類...
~
よろしくお願いします。~
//
- 基本的に,そのようなオプションはないので,プログラムを...
まず,R コンソールに以下を入力(stats の biplot.default ...
biplot.default <- edit(stats:::biplot.default)
出てくるエディット画面で,51行目の
text(x, xlabs, cex = cex[1L], col = col[1L], ...)
を
text(x, xlabs, cex = cex[1L], col = col, ...)
に(col[1L] を col にする)~
60行目の
text(y, labels = ylabs, cex = cex[2L], col = col[2L],...
を
text(y, labels = ylabs, cex = cex[2L], col = col[leng...
に(col[2L] を col[length(col)] にする)~
修正を保存し編集を終了する(「ファイル-->保存」,「ファイ...
果物の色を指定する。~
(color <- rep(c("orange", "pink", "green", "red"), c(4, ...
"orange" が 4 回,"pink" が 3 回,"green" が 2 回。最後に...
biplot の実行を以下のようにする。
biplot(x.coa, col=color)
その他の col[1L],col[2L] もしかるべき値に直した方がよい...
- 河童さん 有り難うございます。こんな情報どうやって探し...
今後ともよろしくお願いします。 -- [[超初心者]] &new{2012-...
- 追加質問です。よろしくお願いします。関数の書き換えは毎...
- > 関数の書き換えは毎回行わなければ、いけないのでしょう...
- 河童さん ご丁寧に有り難うございます。確かに、いつも行...
**Rstudio for Mac で,HRML に含まれる PNG 画像の日本語文...
> (2012-09-11 (火) 15:22:23)~
~
Mac OS X 10.8.1, R 2.15.1,Rstudio 0.96.330 を使っていま...
R コンソールから pdf("file.png"...) のようにして書き出し...
Mac で作った *.Rmd を Windows に持って行って Rstudio で *...
Rstudio for Mac の場合には,フォントファミリーが日本語に...
R コンソールから knit2html から始めて debug でトレースし...
画像に使われるフォントはpar(family="フォント名")で指定し...
par(family="HiraKakuPro-W3")@
とします.
//
**ldaの結果からクロス表を作りたいのですが要素数が合いませ...
>[[ウエモト]] (2012-09-10 (月) 16:15:33)~
~
初めて質問させて頂きます。宜しくお願いします。~
Rを使って線形判別法(lda)によってデータの分類・予測をし...
library(MASS)
group <- c("y","y","y","y","y","m","m","m","m","m")#人物...
wave <- c(y1,y2,y3,y4,y5,m1,m2,m3,m4,m5)#各要素は1列3000...
traindata <- data.frame(GROUP=new{2012-09-17 (月) 21:48:...
- group,WAVE=wave)#データフレームにする
(ldadata<-lda(GROUP~.,data = traindata))#ldaにかける
plot(ldadata)#学習データの第一判別関数得点の分布
apply(ldadata$means%*%ldadata$scaling,2,mean)#判別得点
table(group,predict(ldadata)$class)#判別結果をクロス表に...
このような状態です。実行すると最終行で、要素が一致せず、...
原因は、groupが要素数10なのに対し、predict(ldadata)$class...
自分としては、データフレームtraindata中のwaveにおける、各...
google検索などを使ってみましたが、自分の力不足でどのよう...
Rの知識が少なく、低レベルな質問かとも思いますが、ご教授願...
見辛い文面でしたら申し訳ありません。~
//
- データの作り方がおかしいのでは?&br;> wave <- c(y1,y2,...
> library(MASS)
> set.seed(123)
> ( d <- data.frame(group=rep(letters[1:2], each=5), x=r...
group x y z
1 a -0.56047565 1.2240818 -1.0678237
2 a -0.23017749 0.3598138 -0.2179749
3 a 1.55870831 0.4007715 -1.0260044
4 a 0.07050839 0.1106827 -0.7288912
5 a 0.12928774 -0.5558411 -0.6250393
6 b 1.71506499 1.7869131 -1.6866933
7 b 0.46091621 0.4978505 0.8377870
8 b -1.26506123 -1.9666172 0.1533731
9 b -0.68685285 0.7013559 -1.1381369
10 b -0.44566197 -0.4727914 1.2538149
> ans <- lda(group~x+y+z, d)
> ans2 <- predict(ans)
> xtabs(~d$group+ans2$class)
ans2$class
d$group a b
a 4 1
b 3 2
**censored logit/probit model [#t676e00a]
>[[taka]] (2012-08-20 (月) 21:31:47)~
~
お世話になります。~
Rでcensored logit modelあるいはcensored probit modelを利...
glm(y ~ x1 + x2 + x3, family=binomial(link="logit"))
glm(y ~ x1 + x2 + x3, family=binomial(linknew{2012-10-04...
="probit"))
vglm(y ~ x, tobit(Lower=0), trace=TRUE)
などの関数を使うということまではわかったのですが、censore...
もしご教授いただけましたら幸いです。~
当方、Rの基礎どころか統計の基礎も危うく、見当違いな質問で...
//
**xtableライブラリで小数点の桁数を指定 [#u535bf25]
>[[meet]] (2012-08-07 (火) 22:35:28)~
~
xtableライブラリで、列ごとに小数点の桁数を指定する(2列...
library("xtable")
sex <- c("F", "F", "M", "M", "M")
height <- c(158.0, 162.5, 177.3, 173.3, 166.3)
weight <- c(51.22, 55.33, 72.44, 57.44, 64.33)
( x <- data.frame(SEX=sex, HEIGHT=height, WEIGHT=weig...
mytable <- xtable(x)
print(mytable, type="html")
//
- 何かをやろうと思うときに,オンラインヘルプを読む癖を付...
mytable <- xtable(x, digits=c(0, 0, 1, 2))
print(mytable, type="html", include.rownames=FALSE)
で,以下のようになるでしょう。&br;
&ref(html.png);
- ご教授ありがとうございます。オンラインヘルプをよく読む...
**行列からデータフレームを作りたい [#x9b3f160]
>[[ランゲル・ハンス]] (2012-08-04 (土) 11:00:04)~
~
いつも掲示板を参考にしています。~
次のような行列Mがあります。
m <- c(16, 15, 7, 14, 9, 11, 8, 4, 1, 16, 12, 17, 10, 9,...
M <- matrix(m, 4, 4)
M
行列Mの行をX、列をY、値をVとし、行列Mの左下が(X, Y)=(1, ...
X Y V
1 1 14
2 1 4
3 1 17
4 1 6
1 2 7
2 2 8
3 2 12
4 2 19
1 3 15
2 3 11
3 3 16
4 3 9
1 4 16
2 4 9
3 4 1
4 4 10
方法をご教示いただけないでしょうか?~
上の例は4行4列ですが、本当はn行m列でデータフレームを作り...
//
- おやすいご用です。以下のように。 -- [[河童の屁は,河童...
> N <- t(M[nrow(M):1,])
> data.frame(X=c(row(N)), Y=c(col(N)), V=c(N))
X Y V
1 1 1 14
2 2 1 4
3 3 1 17
4 4 1 6
5 1 2 7
SNIP
15 3 4 1
16 4 4 10
- 河童さま ありがとうございました。大変参考になりました...
**画像の特定色のピクセル数を求めたい [#rde117aa]
>[[しまだ]] (2012-08-03 (金) 23:43:47)~
~
お世話になります。~
画像を与えた時、特定の色のピクセル数を得たいのです。そこ...
library(biOps)
data <- readJpeg("c:/hoge_20120101.jpg")
x <- c(1:352)
y <- c(1:288)
blue <- c(0)
grey <- c(0)
white <- c(0)
black <- c(0)
yellow <- c(0)
for ( i in x ){
for ( j in y ){
if (( data[i,j,1]==0 ) && ( data[i,j,2]==0 ) && ( data[i...
{ blue <- ( blue + 1 ) }
if (( data[i,j,1]==192 ) && ( data[i,j,2]==192 ) && ( da...
{ grey <- ( grey + 1 ) }
if (( data[i,j,1]==255 ) && ( data[i,j,2]==255 ) && ( da...
{ white <- ( white + 1 ) }
if (( data[i,j,1]==0 ) && ( data[i,j,2]==0 ) && ( data[i...
{ black <- ( black + 1 ) }
if (( data[i,j,1]==255 ) && ( data[i,j,2]==255 ) && ( da...
{ yellow <- ( yellow + 1 ) }
}}
(1)処理を速くしたい~
スクリプトを実行したところ、動いたのですが、処理が遅いよ...
コーディングが素人で下手くそだと思うのですが、どこを修正...
(2)png画像を扱いたい~
biOpsは、png画像を読み込めないようです。オリジナルはpngの...
//
- ベクトル計算をすると,30倍近く速くなります。 -- [[河童...
data <- readJpeg("c:/hoge_20120101.jpg")
d1 <- data[,,1]
d2 <- data[,,2]
d3 <- data[,,3]
blue <- sum(( d1==0 ) & ( d2==0 ) & ( d3==254 ))
grey <- sum(( d1==192 ) & ( d2==192 ) & ( d3==192 ))
white <- sum(( d1==255 ) & ( d2==255 ) & ( d3==255 ))
black <- sum((d1==0 ) & ( d2==0 ) & ( d3==0 ))
yellow <- sum(( d1==255 ) & ( d2==255 ) & ( d3==0 ))
- ありがとうございます。やはりコーディングですね。。。ima...
- pngが扱えるパッケージですが、ご自分で一度探されましたか...
- ありがとうございます。画像処理パッケージの機能比較表のp...
**○○したいができない [#u73f250f]
>[[IonaZUNNNNNNN]] (2012-08-03 (金) 23:28:40)~
~
マニュアルをちゃんと嫁~
そもそも、そんなことをしたいというのは変態(そんなことす...
どうしてもしたければ、関数(プログラム)を書け~
関数(プログラム)を書けないなら、あきらめよう~
//
**プログラム中で、S1 - Snまでのベクトルのデータフレームの...
>[[tt]] (2012-08-02 (木) 19:01:06)~
~
n は、プラスの整数です。nが決まっていれば、以下でOKなので...
mS <- data.frame(S1,S2, ---,Sn)
一つの方法として、S1のみのデータフレームを作り、そこに1...
よろしくお願いします。~
//
- do.call("data.frame", lapply(seq_len(5), function(x) ru...
- 本当にそういうことが必要なのかどうか疑問ですが,以下の...
# S1, S2, ..., Sn というベクトルがあって,それをデータフ...
> S1 <- rnorm(5)
> S2 <- rnorm(5)
> S3 <- rnorm(5)
> S4 <- rnorm(5)
> n <- 4
> mS <- eval(parse(text=paste("data.frame(", paste("S", ...
> mS
S1 S2 S3 S4
1 -0.5025337 1.4369542 0.45664139 0.4367258
2 -0.5886718 -0.7321779 -0.08103579 1.3684718
3 -0.7793953 1.3541141 -0.98813613 -1.3115064
4 1.3410327 1.3565760 -1.19112426 0.3708082
5 0.5515542 0.3012129 0.61595356 -0.1799028
- 1つずつベクトルを追加して行く方法は非効率ではないし、...
data.frame(sapply(ls(pattern = "S[0-9]+"), get))
- 皆さん、ありがとうございます。うまくいくようになりまし...
**Rstudio serverでinstall.packages() [#tc11e979]
>[[taked]] (2012-08-01 (水) 17:41:01)~
~
Rstudio serverで、インストールできるパッケージとできない...
CentOS 6.2、 rstudio-server-0.96.228-x86_64 です。~
例えばggplot2はインストールできましたが、XMLなどいくつか...
パッケージがR自体のバージョン もしくは64bitに対応してない...
> install.packages("XML")
Installing package(s) into ‘/home/●○●○/R/library’
(as ‘lib’ is unspecified)
trying URL 'http://cran.cnr.Berkeley.edu/src/contrib/XM...
Content type 'application/x-gzip' length 923501 bytes (...
opened URL
==================================================
downloaded 901 Kb
* installing *source* package ‘XML’ ...
** package ‘XML’ successfully unpacked and MD5 sums che...
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
No ability to remove finalizers on externalptr objects ...
checking for sed... /bin/sed
checking for pkg-config... /usr/bin/pkg-config
checking for xml2-config... no
Cannot find xml2-config
ERROR: configuration failed for package ‘XML’
* removing ‘/home/●○●○/R/library/XML’
Warning in install.packages :
installation of package ‘XML’ had non-zero exit status
The downloaded source packages are in
‘/tmp/Rtmp5ZwZF3/downloaded_packages’
//
- このエラーは、パッケージをソースから入れるとき、依存ラ...
- 依存ライブラリが必要ということなんですね。どうもありが...
**subset の仕様について [#o0b98bc3]
>[[tadashi]] (2012-07-25 (水) 01:10:16)~
~
こんな現象があります。~
下記のようなsubset の使い方は間違いのようです。どこかにこ...
// 日本語くらいちゃんと書こうよ
> subset(test,test[,"flag"]==flag)
~
> test<-data.frame(flag=sample(c("a","b","c"),rep=T,10))
> x<-"a"
> subset(test,test[,"flag"]==x)
flag
1 a
6 a
9 a
> flag<-"a"
> subset(test,test[,"flag"]==flag)
flag
1 a
2 c
3 b
4 b
5 c
6 a
7 c
8 c
9 a
10 b
//
- Helpに書いてあります。"For data frames, ..."のところで...
subset(test, test[, "flag"] == flag)
は
attach(test)
test[test[, "flag"] == flag, ] # ここのflagはデータフレ...
detach(test)
といった処理が行われています。 -- [[Iona]] &new{2012-07-2...
- さっそく、ありがとうございます。これは間違いやすい気が...
- 同じ変数をつかえると便利な気がします。 flag==$flag のよ...
- "["を使えばいいのでは。(間違うも何もsubset関数の利点を...
- subset の利点がまとまっているページはあるでしょうか? ...
- 使い方はヘルプを見ようよ。 ?"[" とか help("[")とか。し...
- Helpを読めばわかるはずです。分からなければsubsetではな...
- 条件式も、論理式の && や、|| でなくて、& | を使うようで...
- Helpにすべて書いてあります。?"|" -- &new{2012-07-28 (...
- なんで違うのでしょう。間違いやすい気がします。 -- [[tad...
- 作用(目的)が違うのだから演算子が違うのです。/ と %/% ...
- 自助努力をすべきかどうか云々は横に置いておいて,確かに...
- > if文の中は & や | を使う&br;おやまあ,変なことを言う...
> set.seed(11119)
> (a <- sample(c(TRUE, FALSE), 10, replace=TRUE))
[1] TRUE FALSE FALSE TRUE TRUE FALSE FALSE TRUE TR...
> (b <- sample(c(TRUE, FALSE), 10, replace=TRUE))
[1] FALSE FALSE TRUE TRUE FALSE TRUE TRUE FALSE FAL...
> a | b
[1] TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TR...
> a || b
[1] TRUE
> a & b
[1] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FAL...
> a && b
[1] FALSE
- 私にとってはありがたい質問でした。色々と叩きつつもちゃ...
----
**二元配置分散分析での residuals [#k98168fc]
>[[分散分析]] (2012-07-20 (金) 11:26:29)~
~
Rで二元配置分散分析をしたのですが、Residuals が表示され...
> a <- c(15.65, 14.40, 17.50, 15.90, 20.30, 19.45, 20.45...
> 要因1 <- factor(c("T1", "T1", "T2", "T2", "T3", "T3", ...
> 要因2 <- factor(c("Y1", "Y2", "Y1", "Y2", "Y1", "Y2", ...
> summary(aov(a ~ 要因1 * 要因2))
Df Sum Sq Mean Sq
要因1 3 34.026 11.3421
要因2 1 3.251 3.2513
要因1:要因2 3 0.151 0.0504
よろしくお願いします。~
//
- モデルに含まれる自由度が サンプルサイズ-1 以上になるか...
- コメントありがとうございました。もう一度計算して確認し...
**hoge.Rdataをダブルクリックで起動したときのファイル名取...
>[[ふしぎ]] (2012-07-19 (木) 17:53:11)~
~
例えば、hoge.RdataをダブルクリックしてRを起動した後で、こ...
list.files()
で作業フォルダ内のファイル名は取得できますが、他にも.Rdat...
動作環境は、Win XP、R version 2.14.2です。~
//
- commandArgs()の結果ではどうでしょうか -- [[Camino]] &ne...
- commandArgs()でパス付のファイル名取り出しができました。...
「明示的」という言葉は適切ではなかったかもしれません。失...
それから、この質問は、http://www.okada.jp.org/RWiki/?%A3%...
**shapeファイルのポリゴンの座標値の取り出し方 [#y28f4853]
>[[蓮井]] (2012-07-15 (日) 06:45:20)~
~
win-xp、R2.15.1、maptools0.8-16、sp0.9-99を使っています。~
shapeファイルの各ポリゴンについて、~
・面積を求める~
・各ポリゴンがある座標値を含むかどうかを確認する~
の2つの作業を実施したく、各ポリゴンの座標値を取り出し方...
readShapeP最新 cat(sprintf(br;特別なことをするわけですか...
> map <- readShapePoly("sample.shp")
> map1[1,] @ polygons
>
> An object of class "Polygons"
> Slot "Polygons":
> [[1]]
> An object of class "Polygon"
> Slot "labpt":
> [1] -32959.94 -64662.22
> <中略>
> Slot "coords":
> [,1] [,2]
> [1,] -32919.99 -64656.18
> [2,] -32920.01 -64659.99
> <中略>
> [13,] -32919.99 -64656.18
> <後略>
となりますが、このcoordsの値を取り出すためにはどうすれば...
「R の S4 クラス、メソッド入門」は読んでみたのですが、よ...
よろしくお願い申し上げます。~
//
- http://www.okada.jp.org/RWiki/?%B6%F5%B4%D6%C5%AA%A4%CA...
- http://jasp.ism.ac.jp/kinou2sg/contents/tanimura-200612...
- ↑谷村先生のpdfのp23にS4クラスとスロットからデータを取り...
- なるほど!ありがとうございます! ~
> map @polygons [[i]] @Polygons [[1]] @coords
で座標を取り出すことができました。 -- [[蓮井]] &new{2012-...
**sendmailRでメール送信したい [#w44a282f]
>[[kbys]] (2012-07-13 (金) 21:23:22)~
~
sendmailRというパッケージでgmailを使ってメール送信する方...
library(sendmailR)
sendmail(from="oooooooooo@gmail.com", to="oooooooooo@gma...
msg="本文", control=list(smtpServer="smtp.gmail...
以下にエラー socketConnection(host = server, port = port...
コネクションを開くことができません
追加情報: 警告メッセージ:
In socketConnection(host = server, port = port, blocking...
smtp.gmail.com:25 cannot be opened
//
- gmail は、ssl でかつ smtpauth が必要です。さくっと探し...
- smtp.gmail.comはSSLかTLSが必要なためsendmailRでメールは...
- tadashiさん、Ionaさんありがとうございます。pythonのsmtp...
- なんで、Rからメールを送りたいのでしょうか? 外部プログ...
- 毎日のデータの集計をメールでレポートしたいです。 -- [[k...
- だったら、レポートをテキストファイルで出力してそれをメ...
- rubyなどを使ってやってみようと思います、ありがとうござ...
- メールを送る瞬間にパソコンの前にいるのであれば、メーラ...
日本語が正しく送れない件ですが、rJythonは日本語を正しく扱...
- >メールを送る瞬間にパソコンの前にいるのであれば&br;メー...
- gmailのsmtpサーバを使うという縛りを解いて、そのRで解析...
**コマンドプロンプトによるrscript.exeの実行について [#g18...
>[[taked]] (2012-07-10 (火) 15:15:07)~
お世話になります.rscriptでRスクリプトを実行して、グラフ...
以下のプログラムを、task.Rとしています.~
library(ggplot2)
ratings <- qplot(rating, data=movies, geom="histogram")
ggsave(ratings, file="fig1.png")
~
Rコンソールにコピペして実行するとグラフが保存できるのです...
カレントディレクトリ>rscript task.R~
として実行するとグラフが保存ができていません.コマンドプ...
Loading required package : methods~
Saving 7 x 7 in image~
stat_bin: binwidth defaulted to range/30. Use 'binwid...
誤りなどあったらアドバイス頂けないでしょうか、よろしくお...
//
- R version 2.15.1 + Ubuntu 12.04 LTSでやってみると、同様...
$ Rscript task.R
要求されたパッケージ methods をロード中です
Saving 7 x 7 in image
stat_bin: binwidth defaulted to range/30. Use 'binwidth ...
$ file fig1.png
fig1.png: PNG image data, 2100 x 2100, 8-bit colormap, n...
- ありがとうございます.解決できました.-- [[taked]] &new...
**多次元の同時分布を求め、ある組み合わせを取る確率を求め...
>[[Saito]] (2012-07-03 (火) 18:50:19)~
~
いつもお世話になっております。~
連続値を取る確率変数が複数種類あった場合に、その経験的な...
例えば、~
> library(np)
> x <- rbeta(100, shape1=10, shape2=1)
> y <- rgamma(100, shape=1)
> z <- rnorm(100)
> fit<-npudens(~x+y+z)
> plot(fit)
とすると、3変量の場合の同時確率分布が得られるようですが、...
~
また、上記の計算はおそらく連続値を丸める必要があると思わ...
~
ネットを調べていると、同じような質問はあったのですが、~
https://stat.ethz.ch/pipermail/r-help/2010-November/26099...
それに対する返答が私には理解できず、手づまりとなっていま...
~
その他、色々と調べたのですが、二変量の場合や、正規分布に...
~
どなたか分かる方がいらっしゃいましたらご教授頂けると幸い...
どうぞよろしくお願い致します。~
//
**最頻出データの抽出方法 [#xd5daa33]
>[[KANA]] (2012-07-02 (月) 20:15:29)~
~
Rにて下記のイメージように、ひとつのテーブルにある最頻出の...
~
AAAは、あああが3件・えーえーえーが2件のため「あああ」を抽...
UUUは、うううが2件・ゆーゆーゆーが1件のため「ううう」を抽...
~
■データ内容イメージ~
テーブル名:table1~
~
アルファベット,読み~
AAA,あああ~
UUU,ううう~
AAA,あああ~
EEE,えええ~
AAA,えーえーえー~
UUU,ゆーゆーゆー~
EEE,いーいーいー~
AAA,えーえーえー~
EEE,いーいーいー~
UUU,ううう~
AAA,あああ~
~
■抽出結果イメージ~
AAA,あああ~
UUU,ううう~
EEE,いーいーいー~
~
以上、よろしくお願いいたします。~
//
- これでは駄目ですか.ところで同順位があったらどうするん...
> x
[1] "A" "U" "A" "E" "A" "U" "E" "A" "E" "U" "A"
> y
[1] "あ" "う" "あ" "え" "えー" "ゆー" "いー" "...
[11] "あ"
> table(paste("(",x,",",y,")",sep=""))
(A,あ) (A,えー) (E,いー) (E,え) (U,う) (U,ゆー)
3 2 2 1 2 1
- 以下のようなことかな? &new{2012-07-02 (月) 21:52:22};
> d <- structure(list(アルファベット = structure(c(1L, 3...
+ 2L, 1L, 3L, 2L, 1L, 2L, 3L, 1L), .Label = c("AAA", "EE...
+ ), class = "factor"), 読み = structure(c(1L, 3L, 1L, 4...
+ 6L, 2L, 5L, 2L, 3L, 1L), .Label = c("あああ", "いーい...
+ "ううう", "えええ", "えーえーえー", "ゆーゆーゆー"
+ ), class = "factor")), .Names = c("アルファベット", "...
+ ), class = "data.frame", row.names = c(NA, -11L)) # こ...
> ans <- xtabs(~., data=d)
> cbind(apply(ans, 1, function(x) colnames(ans)[which.ma...
[,1]
AAA "あああ"
EEE "いーいーいー"
UUU "ううう"
同順位の処理はなんとかする。 -- [[河童の屁は,河童にあら...
- 早速の回答ありがとうございます。 ・同順位の場合は、どち...
- 「それでもできる方法」---提示したやり方でできると思いま...
- 「どちらか一方表示できれば大丈夫」,そんなわけ無いので...
- プログラムの仕様は,発注者が決めればよいことで。&br;ま...
# テストデータを作成する
gen <- function(n=10000, len=2) {
m <- sample(len, n, replace=TRUE)
sapply(m, function(k) paste(LETTERS[sample(5, k, replac...
}
set.seed(111111)
n <- 2000 # 2000 組(行)のデータ
d <- data.frame(item=gen(n), def=gen(n, len=4))
テストデータ(データフレーム)
item def
1 CD DCD # CD は DCD みたいなこと
2 BE D
3 AA D
4 B ADB
中略
1998 A C
1999 E CEEE
2000 CC BDA
中間集計
ans <- xtabs(~., data=d)
分析結果~
(1) 全回提示した結果表示
cbind(apply(ans, 1, function(x) colnames(ans)[which.max(...
[,1]
A "C"
AA "A"
AB "B"
AC "C"
AD "B"
中略
ED "A"
EE "A"
(2) 今回提示する結果表示
col.name <- colnames(ans)
row.name <- rownames(ans)
for (i in 1:nrow(ans)) { # 集計表の各行について
x <- ans[i,]
max.val <- max(x) # 最大頻度
items <- x[x==max.val] # 最大頻度と同じ頻度を持つ要素
cat(row.name[i], ":", items[1], "-", names(items), "\n")
}
A : 13 - C # A に対して C が 13 回
AA : 5 - A
AB : 3 - B D # AB に対して B, D がそれぞれ 3 回
AC : 5 - C
AD : 4 - B C
中略
ED : 3 - A B C
EE : 2 - A B C CEE D E
- > アルファベット/読みともに数が多いため事前にすべてカ...
table1をread.csvで読み込めばいいだけなので事前にカバーす...
d <- read.csv("table1.csv")
> 「どちらか一方表示できれば大丈夫」,そんなわけ無いの...
何を根拠に「そんなわけ無い」と言われているか分かりません...
- >>アルファベット/読みともに数が多いため事前にすべてカバ...
- 遅くなりましたが、いただいた方法で解決できました。あり...
**軸の上付き文字による指数表記について [#rb567fce]
>[[ymbr]] (2012-06-30 (土) 16:35:57)~
~
お世話になっております。~
2e+05などの大きな値を実数表記する際にoptions(scipen=○○)...
よろしくお願い致します。~
//
- axis関数にexpressionクラスのオブジェクトを渡せば、上付...
x <- 2:5 * 10^5
y <- c(1, 2, 3, 100)
plot(x, y, axes = FALSE)
axis(1, at = 2:5 * 10^5, labels = parse(text = paste(2:5...
axis(2, at = c(0, 100), labels = expression(0, 1 %*% 10^...
- 出来ました!ありがとうございます!! -- [[ymbr]] &new{2...
**メモリのエラーについて [#e70c4e84]
>[[taked]] (2012-06-29 (金) 17:46:33)~
~
お世話になります.lm()で 線形モデルによる回帰を行いたいの...
> memory.size(max = FALSE)
[1] 14.01
> df <- read.csv("data.csv", as.is=T)
> memory.size(max = FALSE)
[1] 471.71
# (中略)
> memory.size(max = FALSE)
[1] 747.44
> LM <- lm(df$y ~ . , data = df )
エラー: サイズ 268.0 Mb のベクトルを割り当てることが...
> memory.size(max = FALSE)
[1] 1210.4
>memory.limit(size = NA)
[1] 2047
> object.size(df)
229790744 bytes
(質問1) もともとの"data.csv"は約100MB(250列×20万行です)...
(質問2) lm()の実行前のメモリ使用量は約747MBですが、lm()...
解決方法や回避策など(変数等を減らす以外で)アドバイスを...
R 2.14.1 , --max-mem-size=2047MB, Windows vista 32bit, メ...
//
- lm関数のヘルプに書いてあることですが、biglmという大きな...
- 質問1についてですが、cvsファイルではデータは文字で記録...
- 8 GBメモリを積んだマシンでWin 7 Pro x64でR-2.15.1 x64で...
- 4GBのMacBook(2.4GHz Intel Core 2 Duo)でのR2.15.1でも,...
- R-2.15.1からデータフレーム操作関数の内部実装が大きく変...
- アドバイスありがとうございます.R-2.15.1でエラーは回避...
**2変量ガウスコピュラ関数について [#f12f333f]
>[[esta]] (2012-06-29 (金) 05:07:05)~
~
いつもお世話になっております。~
2変量ガウスコピュラ関数について、確率密度関数をグラフで...
//
- 「標準正規分布の逆関数」とは,どういうもの?確率に対す...
> qnorm(c(0.025, 0.5, 0.975, 0.7))
[1] -1.9599640 0.0000000 1.9599640 0.5244005
そうでないとしたら,もっと正確な定義を述べるよう望む。 --...
- 返信遅くなって申し訳ございません。qnorm関数で問題を解決...
**総当り法(ロジスティック回帰分析)でのエラー [#c207b27c]
>[[hiro]] (2012-06-20 (水) 11:56:54)~
~
Rを始めたばかりです。~
現在、ロジスティック回帰分析にかけるために、総当り法でAIC...
変数が20個と多いので、all.logisticの結果はすべて表示され...
> print.all.logistic(obj, sort.by=c("AIC"))
以下にエラー data.frame(obj$deviance, obj$AIC, obj$form...
オブジェクト 'obj' がありません
どのようにすればよいのでしょうか。~
よろしくお願いいたします。~
//
- r-project.org と関係ない関数の使用法については,ここで...
総称関数の使い方を理解されていないようですね。~
テストデータとして lr.data を使う場合,
> lr <- read.table("lr.data", header=TRUE)
> obj <- all.logistic(lr)
> print(obj, sort.by="AIC", models=100)
のようにするようですけど,そのようにしていますか?上の3行...
- エラーなく無事にできました。お早いお返事ありがとうござ...
**Rだけでデータクリーニング [#t5c136b4]
>[[tadashi]] (2012-06-17 (日) 18:15:17)~
~
実際のデータを読み込むときには、データクリーニングをする...
そういった作業をRだけできるだけやる方法を書いてあるページ...
Rクックブックには、そういったのはRは不得意だから、やらな...
とりあえず、scan で全部読み込んで、それからいろいろ処理し...
//
- > Rクックブックには、そういったのはRは不得意だから、や...
Rクックブックがいう,「そういったのは」というのは,具体的...
たとえば,大きなデータを扱うのが不得手---どれくらいのが大...
そのほか,何が書いてある?それらは本当に「Rは不得手なの?...
また,単に,大きいデータの処理には時間が掛かる---実際に,...
一般論ではなく,あなたの問題として評価することが必要でし...
ということなら,一般的なことを書いてあるページはないかも...
やらなきゃならないことなら,Rを使って取りあえずはやってみ...
> そういった作業をRだけできるだけやる方法を書いてあ...
厳しい言い方のように思うだろうけど,「やりたいことをはっ...
> とりあえず、scan で全部読み込んで~
少なくとも,scan で読み込むような「ぷあ〜〜〜〜」なデータ...
R も,この Wiki での経験も,ある程度あると思いますので,...
- scan で読み込むような「ぷあ〜〜〜〜」なデータ形式は,扱...
- > でも結構ころがっています。~
どういうかたちで「ころがって」いますか?~
scanで読めるということは,なんらかの規則性がある。ようす...
Rでは読めない?ようなデータの実例があれば,Rユーザは,ク...
- > そういった作業をRだけできるだけやる方法を書いてある...
まとめたページというのはなかなか無いようで個別に探した方...
> Rクックブックには、そういったのはRは不得意だから、や...
「データクリーニング」という用語を知らなかったのですが、...
- データクレンジングのこと? -- &new{2012-06-18 (月) 15:...
- 最近は,データクレンジングともいうようだけど,[データ...
>データベースの中から誤りや重複を洗い出し、異質なデータを...
<しかしまあ,昔っから,データクリーニングといってきた。 -...
- [[Wikipedia:http://en.wikipedia.org/wiki/Data_cleansing...
- それぞれの言葉が,いつごろから使われるようになったかを...
- まとまったページがない?じゃあ,作ろうじゃないですか。...
- まとめページないみたいなんで、コツコツ勉強しつつ、探し...
- [[Rでデータクリーニング:http://www.okada.jp.org/RWiki/?...
- おおすばらしい。fill=TRUE で、無理やり読むこむのですね...
**関数の最大値の求め方 [#b82ac307]
>[[esta]] (2012-06-15 (金) 16:30:16)~
~
はじめまして。R歴1週間の初心者です。
f<-function(x)exp(-3.0346+0.0558*x-0.0003*x*x)/{1+exp(-3...
plot(f,0,250)
これを実行するとfのグラフが表示されます。mathematicaで最...
~
The R Tipsを一通り読んでみましたが分かりませんでした。~
どうかよろしくお願いいたします。~
//
- ?otpimize -- &new{2012-06-15 (金) 17:14:17};
- plot(f,0,250)はxとyの座標を返します。 -- &new{2012-06-...
> z <- plot(f,0,250)
> max(z$y)
[1] 0.3917469
> z$x[which.max(z$y)]
[1] 92.5
- z$x[which.max(z$y)]は近似値しか得られない。&br;optim関...
> func <- function(x) {
+ -1 / (1 + exp(3.0346 - 0.0558 * x + 0.0003 * x^2))
+ }
> ans <- optimize(func, interval=c(0, 250))
> cat(ans$minimum,を取得する関数や方法はありますでしょう...
list.files()
で作業フォルダ内のファイル名は取得できますが、他にも.Rdat...
動作環境は、Win XP、R version 2.14.2です。~
//
- commandArgs()の結果ではどうでしょうか -- [[Camino]] -f...
93 0.3917648
とすればよい。 -- [[河童の屁は,河童にあらず,屁である。]...
- みなさん丁寧にありがとうございます。おかげさまで出来る...
**doMC 並列処理 [#w76a6cad]
>[[BCD]] (2012-06-14 (木) 11:06:29)~
~
いつもお世話になっております 。~
Linux、R2.1.4環境下でlibrary(doMC)のregisterDoMC()を使っ...
//
- Rのバージョンを間違っていないでしょうか。R 2.1.4という...
質問をされるときはもう少し具体的に書かれた方がいいでしょ...
メモリが足りないというようなことはないでしょうか。~
並列処理を使わずに計算を行った場合は計算を行えるのでしょ...
library(doMC)
registerDoMC()
foreach(i = 1:3) %dopar% sqrt(i)
このような簡単な処理ならクラッシュせずに処理を行えるので...
- 情報不足で申し訳ありません。私が使っているRはR 2.14.0で...
- おそらくメモリが足りていないのではないかと思います。単...
- 返信ありがとうございます。複数コアを使用するとその分メ...
- > Rの実行中にtopコマンド~
そういうことです。 -- [[Iona]] &new{2012-06-15 (金) 13:22...
- topコマンドでメモリを確認してみたところ、crashが起きて...
**RData 形式 日本語を windows,mac,linux で共通してつかえ...
>[[tadashi]] (2012-06-12 (火) 10:08:39)~
~
前も聞いているのですが、できるんでしょうか? UTF-8で、CSV...
//
- 内部コードは統一されているはずなので、できるのではない...
- R勉強会@東京 でも話題になりましたが、あまりきちんと検...
**X軸ラベルの変更方法について [#m518a40a]
>[[TK]] (2012-06-09 (土) 21:27:13)~
~
Rコマンダーで折れ線グラフを作成した結果思うようなグラフが...
R初心者ですのでプログラムの書き込み場所手順等、詳しくお願...
今は、Rコマンダーでデーターセットしてグラフ作成する事しか...
//
- >これを0,30,60,90,....360まで30刻みにしたいのですが&...
- 目盛の変更は、そのように設定する必要があるためです。R c...
- > そのように設定する必要があるためです&br;マジギレして...
layout(matrix(1:2, 1))
plot(iris$Petal.Width, iris$Sepal.Length)
plot(iris$Petal.Width, iris$Sepal.Length, xaxt="n", yaxt...
axis(1, at=seq(0, 2.5, by=0.25))
axis(2, at=seq(4, 8, by=1))
layout(1)
要するに,plot コマンドで xaxt="n", yaxt="n" 必要があれば...
&ref(jibundesettei.png);
- 初心者すぎて理解が足りないようです。 R commanderでグラ...
- TKさんの場合、「根本的な理解不足」問題を解決しないと、3...
- ご教授有難うございます。R基本技の本を読み始めました。独...
**移動ブロック・ブートストラップについて [#b307d97d]
>[[E&T]] (2012-06-06 (水) 21:34:40)~
~
Efron and Tibshiraniの"An Introduction to the Bootstrap...
時系列データからランダムに3つの観測値からなるブロック...
これを追試しようとして、library(boot)のtsbootを適用すべ...
library(bootstrap)
library(boot)
block.beta <- function(tsb){
ar.fit <- ar(tsb, order.max=1)
as.vector(ar.fit$ar)
}
lut.block3 <- tsboot(lutenhorm$V4, statistic=block.beta,...
すると、以下のようなエラーメッセージが出て、うまくいきま...
以下にエラー tsboot(lutenhorm$V4, statistic = block.beta...
replacement(置き換え)の長さが0です
何か、根本的なところで私自身に誤解があるのかもしれません...
//
- > 根本的なところで私自身に誤解があるのかもしれませんが&...
- 御指摘を受け、l=12として実行してみたら、確かにうまくい...
- > ループを使用して地道に解いていたのでしょうか&br;その...
**ARで伝達関数のゲインやコヒーレンス・位相を出したい [#q0...
>[[Rbeginer]] (2012-06-05 (火) 11:10:03)~
~
Rで時系列解析を考えている初心者です。~
~
AR(自己回帰モデル)を用いた時系列解析に関する質問です。~
RでARを用いた伝達関数のゲインやコヒーレンス、位相を計算す...
調べていてもどうもたどり着けません。~
Rでそもそも可能でしょうか、またパッケージを導入すれば可能...
ご教授いただければ幸いです。~
//
**グラフの軸の目盛を内向きにしたい [#ufa619e3]
>[[sato]] (2012-06-05 (火) 10:39:04)~
~
R初心者です.~
Rで折れ線グラフや棒グラフなどの単純な作図を行なっています...
軸の目盛りですが,デフォルトでは外向きとなっていると思い...
これを内向きにしたいと思って,いろいろ調べたのですが,よ...
ご教授くださいますようお願いいたいします.~
//
- plot(0, tcl=0.5) みたいなことでしょうか? -- &new{2012...
- ありがとうございました! 何時間も悩んでいたことがあっ...
- plotやparでのグラフの見栄えの調整は、慣れるまではたいへ...
- 最近,なぜRで作図するのかがだんだんわかって来ました.も...
**グラフ内に線を書き込みたい [#p96ed9c7]
>[[BCD]] (2012-06-02 (土) 21:07:42)~
~
いつもお世話になっております。~
グラフ内における座標について質問があります。~
~
ベクトルがいくつかあり、それらをfor文で繰り返しを用いてそ...
~
何かご存知の方がいらっしゃれば御教授願います。~
//
- plot関数を実行するとpar("usr")にc(左端のx座標, 右端のx...
- 有り難う御座います。おかげで思い通りのことができました...
**動画像のコマ送りとショートカットキー [#s1419fe8]
>[[Rstudent]] (2012-05-31 (木) 09:29:52)~
~
Rのグラフィックデバイスについて質問があります。~
~
Mpeg等の動画像を手動で一定のフレーム数進め、その都度、動...
座標の取得はlocator()を利用すれば可能だと思いますが、以下...
~
1.動画像を手動で進める方法~
animationパッケージのani.start()を用いてHTML上で再生する...
~
2.ショートカットキーを用いてグラフィックデバイスにコマ...
動画像を進める際にショートカットキーでコマ送りを行ったり...
~
以上、どうぞよろしくお願いいたします。~
//
- その手のことをしたければ、適当なwidget (tcltkとかGtk2と...
- Rでやるべきタスクだとは思わないけど、もしやるなら動画を...
**コンマ秒以下の経過時間の計算について [#dfcaeb18]
>[[timesaver]] (2012-05-21 (月) 18:48:18)~
~
コンマ秒以下の経過時間を計算したい場合、例えば~
as.difftime(c("0:3:20", "0:3:20.5"),units="sec")~
とすると結果は~
Time differences in secs~
[1] 200 200~
attr(,"tzone")~
となり秒以下は無視されます。これを解決する簡単な方法はど...
ありませんか?過去記事やパッケージはないかと探したのです...
//
- そんなに一般的で複雑な仕様でないなら,自分で関数を書く...
my.difftime <- function(time) { # units="secs" を仮定
unname(sapply(time, function(t) {
str <- unlist(strsplit(t, ":"))
if (length(str) != 3) return(NA)
return(sum(as.numeric(str)*c(3600, 60, 1)))
}))
}
> as.difftime(c("1:3:20", "2:3:20.5"), units="secs")
Time differences in secs
[1] 3800 7400
attr(,"tzone")
[1] ""
> my.difftime(c("1:3:20.123", "2:3:20.523"))
[1] 3800.123 7400.523
- system.time とういうのがあるみたいですが、使えませんか...
- 関数のチューンナップ あたりに関連しそうなのがあるような...
- as.difftime(c("0:3:20", "0:3:20.5"),format="%H:%M:%OS",...
- ↑追記:help(strptime)のExamplesでは if supported by the...
- ありがとうございます。%OSというのがあったなんて、、strp...
- 河童さん、綺麗な関数書いていただいてありがとう御座いま...
- 検索をもう少し頑張ろうよ。[[1秒以下の扱いについて:http...
- 自分でも忘れているけど。目的とする記事を発見するための...
> difftime("2012-05-22 00:34:56.789", "2012-05-22 00:12:...
Time difference of 1342.222 secs
- 「黙って関数を書ける」ひとなら、もちろんそうしたほうが...
- 日付を付けるとコンマ以下も計算するとは、目からウロコで...
- 差が1秒以上だとコンマ秒以下の計算は正しいけど、1秒以下...
> difftime("2011-10-11 15:08:01.800 JST", "2011-10-11 15...
Time difference of -1.1 secs
> difftime("2011-10-11 15:08:01.800 JST", "2011-10-11 15...
Time difference of -0.1000001 secs
- これは,コンピュータ上での数値計算における常識です。&br...
> options(digits=20) # コンソールに表示する数値の桁数を2...
> time1 <- "2011-10-11 15:08:01.800 JST" # この日付は,
> time1 <- as.POSIXct(time1) # コンピュータ上ではこのよ...
> unclass(time1) # 数値としては以下の通り
[1] 1318313281.7999999523 # 10進数でのキレイな数になって...
attr(,"tzone")
[1] ""
> time2 <- "2011-10-11 15:08:01.900 JST" # もう一つの日...
> time2 <- as.POSIXct(time2)
> unclass(time2)
[1] 1318313281.9000000954 # 10進数でのキレイな数になって...
attr(,"tzone")
[1] ""
> unclass(time1)-unclass(time2) # 数値の差を取ると
[1] -0.10000014305114746094 # -0.1 ではない,ということ...
attr(,"tzone")
[1] ""
そもそも,"2011-10-11 15:08:01.800 JST" が 1318313281.799...
> difftime("1970-01-01 15:08:01.800 JST", "1970-01-01 15...
Time difference of -0.10000000000218278728 secs # かなり...
> options(digits=7) # 当然と言えば当然だが,表示桁数を通...
> difftime("1970-01-01 15:08:01.800 JST", "1970-01-01 15...
Time difference of -0.1 secs # 一見正しい答えが表示され...
ということですね。「コンピュータは,正確な答えを表示して...
じゃあ,どうすればよい?&br;自分で関数を書く。&br;年の情...
> my.difftime2 <- function(time1, time2) {
+ t <- function(time) {
+ sum(as.numeric(unlist(strsplit(time, ":"))) ...
+ }
+ t(time1)-t(time2)
+ }
> my.difftime2("15:08:01.800", "15:08:01.900")
[1] -0.1
プログラムが書けない?...がんばってもらうしかないなあ。&br;
あるいは,コンピュータが一生懸命どのような計算をしている...
- べつに「プログラムが書けない」ということを擁護する意図...
- ここで述べられる所見は,「絶対的に」正しいものではない...
- 河童の屁の「屁理屈」ではありませんが,質問はどんどん自...
- 嗚呼、どうやら長文でレスポンスいただいたようで。なにか...
- Rや統計解析法がブラックボックス化され、数値計算やPCの特...
**ランダム効果の推計に関して [#f1a1285f]
>[[optimal]] (2012-05-20 (日) 01:03:58)~
~
期間10年、9カ国、説明変数10から成るパネルデータを分析して...
~
プーリング推計と固定効果推計については出力できたのですが...
パネルデータには欠損値はありません。どなたか、対処法をご...
> north.pl <- plm(form, data=north, model="pooling")
series are constants and have been removed
> north.wi <- plm(form, data=north, model="within")
series are constants and have been removed
> north.ra <- plm(form, data=north, model="random")
series are constants and have been removed
以下にエラー if (sigma2$id < 0) stop(paste("the estimat...
TRUE/FALSE が必要new{2012-07-14 (土) 04:53:48};
- tadashiさん、Ionaさんありがとうございます。pythonのsmtp...
使用環境は以下の通りとなります。~
R version 2.15.0 (2012-03-30)~
Platform: x86_64-pc-mingw32/x64 (64-bit)~
~
以上につき、ご教示お願い致します。~
//
- 本来 "series *, *, *, * is constant and has been remove...
-new{2012-06-18 (月) 17:08:00};
- それぞれの言葉が,いつごろから使われるようになったかを...
- > 下2行のエラーメッセージについて&br;わかりませんね。...
- 河童の屁は、河童にあらず、屁である。さん、ご回答有難う...
> north <-read.csv("north.csv", header=T)
> north <-plm.data(north, index=c("country","year"))
> north
country year ctt edu gdppc 以下略
1 Australia 2000 14.44600 2.276241 10.225650 以下略
2 Australia 2001 14.88955 2.276817 10.276530 以下略
- データを示すには全部を示さないと意味がない(こともある...
- 河童の屁は、河童にあらず、屁である。さん、ご回答有難う...
[リンク削除]
データはこちらになります、お時間ありましたらアドバイス頂...
- データちゃんとアップロードされていませんよ。~
画面の上の方にある「ファイル添付」をクリックして,出てく...
アップロードされたファイルを参照する(リンクをはる)には...
- &ref(north.csv); ~&br; 河童の屁は,河童にあらず,屁であ...
- method="random" の場合,期間n年,kカ国データなら,使え...
plm:::swar
function (formula, data, effect)
{
within <- plm.fit(formula, data, model = "within", e...
within$args <- list(effect = effect, random.method =...
中略
if (balanced) {
sigma2$one <- arg.other * deviance(between)/...
sigma2$idios <- deviance(within)/df.residual...
sigma2$id <- (sigma2$one - sigma2$idios)/arg...
if (sigma2$id < 0) # sigma2$id が NA である...
stop(paste("the estimated variance of th...
"effect is negative"))
以下略
sigma2$id が NA なのは,モデルに対して解が求まっていない...
- 河童の屁は,河童にあらず,屁であるさん、御解説有難うご...
**テキストとグラフをPDF出力する方法について [#u17bf074]
>[[taked]] (2012-05-18 (金) 17:40:50)~
~
Rを使って、簡単なレポートを作成したいと思ってます。~
pdf()関数で、グラフはpdfに出力できます。~
例えば、任意のテキスト、データフレーム、グラフを並べてpdf...
df <- data.frame(x=c(1:5), y=sample(100,5))
pdf("c:/test.pdf")
plot(df)
dev.off()
//
- 「任意のテキスト、データフレーム、グラフを並べてpdfに出...
&ref{Rnw.png};~
⇩~
⇩~
⇩~
&ref{output.png};~
- gplotsパッケージにtextplotという関数があります。mfrowパ...
- 返信遅くなり申し訳ありません。質問は「テキスト,データ...
- 質問が変わるようで恐縮ですが、引き続きご教授お願いしま...
> grDevices::pdf.options(useDingbats = FALSE); utils::Sw...
Writing to file test1.tex
Processing code chunks with options ...
1 : keep.source term verbatim
2 : keep.source term tex
3 : keep.source term verbatim pdf
You can now run (pdf)latex on 'test1.tex'
�x�����bᦙ...
1: 'test1.Rnw' has unknown encoding: assuming Latin-1
2: package 'xtable' was built under R version 2.14.2
>
Running texi2dvi on test1.tex...failed
Error running C:/w32tex/bin/pdflatex.exe (exit code 9)
- 前のコメントに書いたのは完全な Rnw テキストではありませ...
1: 'test1.Rnw' has unknown encoding: assuming Latin-1
2: package 'xtable' was built under R version 2.14.2
ということですが,Sweave 関数にエンコーディングの指示はし...
具体的には,Sweave(file, encoding="euc-jp", ...) などのよ...
Windows だと Sweave はめんどうなんでしょうか。Windows の ...
- ご返答ありがとうございます。Sweave(file, encoding="euc-...
- > Sweave(file, encoding="euc-jp")なども試したのですが&b...
- ご返答ありがとうございます。おっしゃるとおりで、訂正し...
- フォローがないですね。Windows だから cp932 と短絡したわ...
- お陰さまで解決できました。TeXのmediabb.styがインストー...
**アクセスログの解析は、Rでは面倒なのでしょうか? [#b5344...
>[[tadashi]] (2012-05-17 (木) 14:28:27)~
~
Apacheのcombined形式のログをRで読み込んで処理しようと思っ...
//
- あなたにとってどの程度のことなら[非常に難しい」のか,...
- 誰にもわからないかどうかもわからないので少し他の人の回...
- 大抵のことはRubyでできるならRでもできますよ。~
お節介かもしれませんが言っておきますと、「誰にも分からな...
具体的な内容がよく分かりませんが、おそらく、gsub, strspli...
- 他の人の回答として書きます。代替法(Ruby)があるならそ...
**epsファイルの作成でエラー [#w04130ef]
>[[Toy]] (2012-05-16 (水) 22:03:33)~
~
Windows XPとWindows 7でR version 2.15.0を使用しています。~
プロットのタイトルやラベルに日本語を使用して、これをepsフ...
警告メッセージ:
1: 'mbcsToSbcs' 中の '繧ウ繝ウ繝励Λ繧、繧「繝ウ繧ケ' で変換に...
(以下略)
のようなワーニングが大量に出て、作成されたepsファイルを見...
これは、既知のバグなのでしょうか?~
それとも、何か対処法があるのでしょうか?~
//
- 「バグだ」というのは失礼でしょうね。既知ではあります。...
- バグだなどと申し上げて、大変失礼しました。御指摘のとお...
**地域R勉強会 [#gef0c8a5]
>[[tadashi]] (2012-05-12 (土) 14:18:50)~
~
いろいろあるみたいです。たとえば、札幌R勉強会とかあるみた...
//
**ファイル出力の方法を教えて下さい。 [#cac84e3a]
>[[のざわ]] (2012-05-03 (木) 15:18:29)~
~
soundと言うライブラリで、色々な音が作れる事が判りました。...
//
- saveSample じゃない?オンラインヘルプくらい読もうよ。li...
- 調べたつもりが見落としていたようです。お陰様で解決しま...
**mimRのエラー [#a2be8763]
>[[タカ]] (2012-05-03 (木) 06:37:33)~
~
いつもお世話になっております。~
グラフィカルモデリングを行うために、mimRをインストールし...
> data(carcass)
> gmd.carc <- as.gmData(carcass)
> m.main <- fit(mim(".", data=gmd.carc))
MIM returned NULL or NA, can not continue 以下にエラー
strsplit(mimFormula, "/") : 文字列でない引数です
原因を御存じの方がいらっしゃいましたら、ご指導いただける...
よろしくお願いいたします。~
~
使用環境は、~
R version 2.15.0 (2012-03-30)~
Platform: i386-pc-mingw32/i386 (32-bit)~
//
**dataframeの変数名を変数で指定したい [#v82b4f21]
>[[タカ]] (2012-04-29 (日) 21:24:21)~
~
いつもお世話になっております。~
~
データフレームを作成する際、変数名を他の変数で指定したい...
~
> x #xはデータフレーム
var
1 5
2 4
3 3
4 2
5 1
> y="var2" #変数名をvar2にしたい
> z=c(1,1,1,1,1)
> x=cbind(x,y=z)
> x
var y
1 5 1
2 4 1
3 3 1
4 2 1
5 1 1
~
上のように変数名をvar2として追加したいのですが、yになって...
変数で指定することはできないのでしょうか?~
よろしくお願いいたします。~
//
- これでどうでしょう -- [[tadashi]] &new{2012-04-29 (日) ...
> x
var
1 5
2 4
3 3
4 2
5 1
> z=c(1,1,1,1,1)
> x=cbind(x,var2=z)
> x
var var2
1 5 1
2 4 1
3 3 1
4 2 1
5 1 1
- 返答ありがとうございます。直接ではなく、変数を介して名...
- たとえば -- &new{2012-04-30 (月) 05:57:17};
> colnames(x) <- c("var",y)
> x
var var2
1 5 1
2 4 1
3 3 1
4 2 1
5 1 1
もっと簡単には
> colnames(x)[2] <- "var2"
- 返答ありがとうございます。colnames(x)[2]<-"var"を使って...
**テストデータ作成 [#mb08c767]
>[[tadashi]] (2012-04-27 (金) 16:33:04)~
~
POSデータの詳細行のようなテストデータをつくろうと思ってい...
orange 2
lemon 3
apple 5
lemon 2
apple 4
のようなサンプルデータです。for などつかわずにできそうな...
やりたいことは、文字列一覧からランダムに文字列を選んで、...
//
- sample 関数を使えばよいのでは。 -- [[河童の屁は,河童に...
n <- 10
Max <- 20
Kudamono <- c("orange", "lemon", "apple")
d <- data.frame(kudamono = sample(Kudamono, n, replace =...
kosuu = sample(Max, n, replace = TRUE))
こんな風なデータフレームが出来ますけど?
kudamono kosuu
1 orange 18
2 orange 5
3 apple 7
4 orange 6
5 lemon 1
6 lemon 11
:
- 例えば -- &new{2012-04-27 (金) 17:13:05};
> X <- as.data.frame(table(sample(month.abb[1:5],1000,re...
> X
Var1 Freq
1 Apr 196
2 Feb 220
3 Jan 204
4 Mar 191
5 May 189
- そういうデータなら,data.frame(Var1=month.abb[1:5], Fre...
- ありがとうございます。sample 関数がキモですね。単純な集...
- 間瀬先生のRプログラミングマニュアルをひととおり読めばわ...
- エクセルでは処理できない量のデータを扱いたいためにRを使...
- ExcelとRを比較することが無意味。Excelは表計算ソフトでR...
**複数グループの散布図の回帰直線を描くには? [#ac5a58f1]
>[[yamda]] (2012-04-22 (日) 11:51:20)~
~
例えば,1月〜12月に対し,変数A(90,86,88,82,75,67,55,46,3...
//
- 変数 A と変数 B の組が 12 ヶ月ぶんあるのですか?例に挙...
- 早速のご返信ありがとうございます。変な書き方をしてしま...
- ああ。そういうこと。ならば,
A <- c(90,86,88,82,75,67,55,46,36,21,17,10)
B <- c(72,61,52,49,39,36,30,27,23,20,16,12)
x <- 1:12
plot(x, A)
abline(lm(A~x))
points(x, B, col="red")
abline(lm(B~x), col="red")
でよいんじゃない? -- [[河童の屁は,河童にあらず,屁であ...
- ご教示いただいた方法で描画できました。大変助かりました...
**文字列とデータフレーム操作 [#b81ee8e7]
>[[hayashi]] (2012-04-19 (木) 20:51:21)~
~
変数名y1,y2,y3,y4,y5,.....y100 があり,"y1 + y4","y1 + y...
~
最終的に欲しい結果は,次のような結果です
y1 y2 y3 y4 y5....y100
1 1 0 0 1 0....0
2 1 1 0 1 1....0
df <- - data.frame(y1=0, y2=0, y3=0, y4=0, y5=0)
r1 <- "y1 + y4"
r2 <- "y1 + y2 + y4 +y5"
df
x1 <- c(1, 0, 0, 1, 0)
x2 <- c(1, 1, 0, 1, 1)
df2 <- rbind(df, x1)
df2 <- rbind(df2, x2)
df2
//
- 左辺に現れる変数名も自動で取り込むというようにも出来ま...
> set.seed(123456789)
> df <- as.data.frame(matrix(sample(0:1, 50, replace=TRU...
> colnames(df) <- paste("y", 1:5, sep="")
> df
y1 y2 y3 y4 y5
1 1 0 0 0 1
2 1 1 1 1 1
3 1 1 1 0 1
4 1 0 0 1 1
5 1 0 0 1 0
6 1 0 1 0 1
7 0 0 0 1 1
8 1 0 0 0 0
9 0 1 1 0 0
10 0 1 1 0 0
> r1 <- "y1 +y4"
> r2 <- "y1 + y2 + y4 +y5"
> func <- function(str) {
+ r1.e <- paste("rowSums(df[,",
+ paste("c(",
+ paste(
+ paste("'", unlist(strsplit(str, " *\\+ *"...
+ collapse=", "), ")", sep=""), "])", sep...
+ return(eval(parse(text=r1.e)))
+ }
> df2 <- df
> df2$r1 <- func(r1)
> df2$r2 <- func(r2)
> df2
y1 y2 y3 y4 y5 r1 r2
1 1 0 0 0 1 1 2
2 1 1 1 1 1 2 4
3 1 1 1 0 1 1 3
4 1 0 0 1 1 2 3
5 1 0 0 1 0 2 2
6 1 0 1 0 1 1 2
7 0 0 0 1 1 1 2
8 1 0 0 0 0 1 1
9 0 1 1 0 0 0 1
10 0 1 1 0 0 0 1
- ありがとうございます.自分の思っているものと少し違うの...
変数(列)は100列で一定です.文字列データが与えられるごと...
r1 <- "y1 +y4",
r2 <- "y1 + y2 + y4 +y5"
y1 y2 y3 y4 y5
1 1 0 0 0 1
(略)
11(r1) 1 0 0 1 0
12(r2) 1 1 0 1 1
(以下続く)
- > 文字列に出現した変数名をカウントしたい&br;というのに...
- はい.r1, r2 などに現れた変数の位置に 1 現れなかったら ...
- 最初から,そう説明してくれればよかったのに
> ncol <- 5 # 後で,100 にしてね
> func <- function(str) {
+ result <- integer(ncol)
+ x <- as.integer(gsub("y", "", unlist(strsplit(str, " ...
+ result[x] <- 1
+ return(result)
+ }
>
> r1 <- "y1 +y4"
> r2 <- "y1 + y2 + y4 +y5"
>
> df <- data.frame(matrix(func(r1), 1))
> colnames(df) <- paste("y", 1:ncol, sep="")
> df <- rbind(df, func(r2))
> df <- rbind(df, func("y1+y3+y5"))
> # あと,好きなだけ繰り返す
> df
y1 y2 y3 y4 y5
1 1 0 0 1 0
2 1 1 0 1 1
3 1 0 1 0 1
で,いいいですか?細かな仕様は自分で調整 -- [[河童の屁は...
- どうもありがとうございました.お手数おかけしてすみませ...
**数値の最大表示桁数 [#f2286967]
>[[BCD]] (2012-04-19 (木) 18:42:45)~
~
非常に桁数の大きな計算をしています。例えば以下のような計...
> (1e+307)*(1e+307)
[1] Inf
しかしながら、計算の桁数が大きいと計算結果が全てInfになっ...
//
- gmp パッケージなどを使えば可能でしょう。それでも,若干...
# フィボナッチ数列の 10000 項目を求める--- 2090 桁の数値
library(gmp)
a <- b <- as.bigz(1) # この場合は as.bigq でも同じ
for (i in 3:10000) {
c <- a+b
a <- b
b <- c
}
print(c)
//
- 巨大もしくは微小な数を通常の数値計算で扱う定石は途中の...
> x <- lchoose(1000, 500) / log(10) # 1000から500を選ぶ...
> x
[1] 299.4318271518637288864
> 10 ^ (x - floor(x))
[1] 2.702882409454304912799 # つまり 2.7028...e+299
- 桁数という場合,純粋に全桁が必要な場合(整数)と大きな...
> library(help=gmp)
> chooseZ(1000, 500)
Big Integer ('bigz') :
[1] 2702882409454365695156146936259752754961520084465482...
66254287055221938986124839245023701653626060850215461048...
99175498942196995184754236654842637517333561624640797378...
11194976045710449857562878805146009942194267523669158566...
4428109296905863799821216320
なんて具合にね。
**パッケージのインストールの不都合 [#t20293d4]
>[[さと]] (2012-04-18 (水) 09:58:44)~
~
4月から新しい環境で仕事を始めたのですが、インターネットに...
> utils:::menuInstallPkgs()~
--- このセッションで使うために、CRANのミラーサイトを選...
以下にエラー m[, 1L] : 次元数が正しくありません
なるエラーメッセージが出てインストールができませんでした...
新しい職場のシステム管理者はR使いではないので原因がわから...
//
**実行デモ [#f3cae9eb]
>[[教師]] (2012-04-15 (日) 23:05:22)~
~
講義で一連のR命令を実行していく様子を,プロジェクターでス...
何か適当な工夫,もしくはそれ用のパッケージをご存知なら教...
例えば,par(ask=TRUE) でひき続く画像出力を段階的に出力す...
~
よろしくおねがいします.~
//
- 画面に,コンソールとエディタを表示しておき,エディタに...
&ref(example.png);
- 行単位ではなくて式単位になってしましますが、evaluateを...
- 早速情報有り難うございます.河童さんのご提案は今一良く...
- 上のお二人目のやり方を少し整理してみました.この方法はR...
> Demo <- function(x) {require(evaluate);invisible(lappl...
+ function(y) {replay(y); invisible(readLines(n=1))}))}
> Demo("L1.R") # L1.R はR命令を羅列したテキストフ...
+ # (以下CRを押すごとに命令とその結...
Time difference of -1.1 secs
表示される)
Loading required north.ra package: evaluate
> ### R のデータタイプ
> x <- 1 # 数値(倍精度実数)
> x
[1] 1
> (x <- 1) # 付値と結果の表示を同時に行う
[1] 1
> (xx = 2) # 付値のもうひとつの形式
[1] 2
(以下省略)
- > お使いのエディターには選択した行をR端末で直に実行する...
- Mac版のRのエディタでは、実行したい行にカーソルを持って...
- 質問者さんは、ふたつ下でWin版Rについて質問されたのと同...
- emacs+ESSも検討しましたが,簡単な操作だけで順次実行する...
- ふーむ…ESSのC-c C-nとかも「簡単」ではないということにな...
- コンソール出力をファイルに保存してそれをWord なりなんな...
- いちおう先のレスで「ログをみせるのはナシで」という指定...
- 建設的なコメントをせよとのことのようなので,&br;debug ...
> func <- function() {
+ n <- 10
+ s <- 0
+ for (i in 1:n) {
+ s <- s+i^2
+ }
+ print(s)
+ }
> debug(func)
> func()
debugging in: func()
#1 の debug: {
n <- 10
s <- 0
for (i in 1:n) {
s <- s + i^2
}
print(s)
}
Browse[2]>
#2 の debug: n <- 10
Browse[2]>
#3 の debug: s <- 0
Browse[2]>
#4 の debug: for (i in 1:n) {
s <- s + i^2
}
Browse[2]>
#4 の debug: i
Browse[2]> cat(i, s)
0
Browse[2]>
#5 の debug: s <- s + i^2
Browse[2]>
#4 の debug: i
Browse[2]> cat(i, s, n)
1 1 10
Browse[2]>
#5 の debug: s <- s + i^2
Browse[2]>
#4 の debug: i
Browse[2]>
#5 の debug: s <- s + i^2
Browse[2]>
#4 の debug: i
Browse[2]>
#5 の debug: s <- s + i^2
Browse[2]> cat(s)
14
Browse[2]> cat(i)
4
Browse[2]> c
#7 の debug: print(s)
Browse[2]> Q
これはこれで,なかなか大変。 -- [[河童の屁は,河童にあら...
- どうしても上のDemoじゃダメなの? -- &new{2012-04-16 (...
- demo関数だと途中で前に戻ったりできないので、Rエディター...
- 今更ですが、WindowsではCtrl+Rです。リターンキーではなく...
**ノンパラメトリックとパラメトリック的なモデルの比較 [#if...
>[[北原]] (2012-04-13 (金) 18:09:05)~
~
Rとより一般的な統計の質問かもしれません。~
AICはパラメトリックモデルの比較に使う指数だと知っています...
~
よろしくお願いいたします。~
//
**Windows版Rのインストールガイドのおすすめ [#id5f6042]
>[[教師]] (2012-04-09 (月) 19:40:44)~
~
今年度からRを使った講義を受け持つことになった理工系大学の...
~
Windows 版 R のインストールについて現在最も参考になるサイ...
~
よろしくお願いします.~
//
- そうだと思います。 -- [[河童の屁は、河童にあらず、屁で...
- Window7 64bit 版を試しにインストールしてみました.勝手...
- R-2.14.2あたりのインストーラから、インストーラ自身の日...
- 情報ありがとうございます.Windows版の日本語Rのインスト...
**95% CI の算出について [#q5962599]
>[[Hiro? - 2]] (2012-04-09 (月) 12:22:04)~
~
cmprsk_2.2-1 を利用して、競合リスクを考慮したevent のCumu...
どうかお願いします。
install.packages("cmprsk")
library(cmprsk)
MYDATA
(症例は25例で、days:観察期間、censor:eventあり=1、eve...
(下記データをexcel上に作成)
days censor group
1 3 1 1
2 4 1 1
3 4 1 1
4 5 1 1
5 6 1 1
6 5 1 1
7 11 1 1
8 6 1 1
9 2 1 1
10 19 2 1
11 21 2 1
12 3 1 1
13 2 2 1
14 3 1 1
15 3 1 1
16 7 1 1
17 28 0 1
18 5 1 1
19 5 1 1
20 3 1 1
21 3 1 1
22 4 1 1
23 5 1 1
24 4 1 1
25 3 1 1
MYDATA <- read.delim(pipe("pbpaste"), header=TRUE) #(こ...
Event <- MYDATA
Event$censor <- ifelse(MYDATA$censor == 1, 1, 0)
Comp <- MYDATA
Comp$censor <- ifelse(MYDATA$censor == 2, 1, 0)
Mixed <- MYDATA
Mixed$censor <- ifelse(MYDATA$censor == 1, 1, ifelse(MYD...
result <- cuminc(MYDATA$days, MYDATA$censor, MYDATA$grou...
result2 <- timepoints(result, Event$days)
result2$"est"
2 3 4 5 6 7 ...
group 1 0.04 0.32 0.48 0.68 0.76 0.80 0.84 0.84 0.84 0.8...
group 2 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.08 0.12 0.1...
//
- result の中に分散が入ってます("var").これから信頼区...
- var は,適切な名前ではないけど,その平方根が標準誤差に...
- なるほど。result2$"var"で分散を求め、SONO -- [[Hiro? - ...
- result2$"var"でその時点での分散を計算し、95%CI=累積%+/...
**国勢調査をR化したけど、 [#neb4ebb5]
>[[tadashi]] (2012-04-06 (金) 00:58:14)~
~
windows 用のまずつくってみました。~
http://www.e-stat.go.jp/SG1/estat/List.do?bid=00000103499...
の1番目のです。~
ダウンロードは下記からできます。解凍してから読み込んでく...
http://it.isogaya.co.jp/koku001.zip ~
文字コードがshift-jis ぽいので、Linux ,Mac では読めないと...
> load("koku001.RData")
> names(koku001)
[1] "地域コード" "地域識別コード" "境域年次.2010." ...
[5] "地域名称" "人口22" "人口17" ...
[9] "人口増減率" "面積" "人口密度"
下記は、全国の人口を求めています。全国の集計を除いて、都...
t <- subset(koku001, 地域識別コード == "a")
t[1, 6]
t <-t[2:48,]
sum(as.numeric(t$人口22))
//
- 元の CSV ファイルを a <- read.csv("001.csv", skip=9, fi...
- いろいろ試してみたいので、よろしくお願いします。read.cs...
- Rで使うこと前提ならRDSの方がプラットフォーム気にせず読...
- ようするに元ファイルを河童さんの方法で読み込んで、それ...
- readRDS saveRDS を使うのですね。検索しても余り情報ない...
- 使う分には saveとloadで十分です。 -- &new{2012-04-06 (...
- MacOSXでも元のCSVファイルは読めるけど。他の書き込みもそ...
**read.table での文中ダブルクオーテーションの処理 [#q1a97...
>[[tadashi]] (2012-04-05 (木) 17:57:36)~
~
アクセスログをread.table で読み込んでいますが、結構トラブ...
"a" "b" "c"
"aa"a" "bbb" "ccc"
を
read.table(file = "test.tsv", sep = "\t", header = TRUE)
で読み込むと、
In read.table(file = "test.tsv", sep = "\t", header = TR...
'test.tsv' の readTableHeader で不完全な最終行が見つか...
というメッセージがでます。データ作成をRuby でやっているの...
//
- その警告メッセージはquotationとは無関係で、通常は無視し...
- え、通常は無視してオッケーなんですか。。。 -- [[tadas...
- 不完全な最終行の警告は読み込んだファイルの最後が改行で...
**衆議院小選挙区と国勢調査のdataset [#e86461e6]
>[[tadashi]] (2012-03-26 (月) 00:17:16)~
~
公開されているデータから、いろいろ面白い分析ができると思...
//
- なかなか興味深そうなデータですね -- [[okinawa]] &new{20...
- dataencoding はなんなんでしょうかね?読んでみることもで...
- ふつうにloadで読めるよ by Mac -- &new{2012-03-27 (火) ...
- encoding UTF-8 です。公開データをRで扱いやすくするのは...
- 45回の選挙結果のPDFがあるのですが、データ化が簡単にでき...
- PDFは画像でなくTEXTで作られていますか? -- [[okinawa]] ...
- Acrobat(Proで確認)を用いてhtmlで書き出したものを、Exc...
- 質問はキャンセルされたのか,見えないですね。&br;> デー...
- まずは、実験的な状況なので手軽にいきたいと思っています...
- このPDFは人手を入れずに整形は無理でしょう。本来は総務省...
- 素性のよく分からないファイルは開きたくない。開くにして...
- > ふつうにloadで読めるよ by Mac&br;そうですか。と,読ん...
> (e <- load("e"))
[1] "shu45"
「テキストエディット」で読んでみたけど,&br;
&ref(error.png);~
になった。&br;> encoding UTF-8 です。公開データをRで扱い...
- 思ったより人気ありそうですね。なんで先行してやっている...
- いや、それ読めてますよ。>河童さん。 詳しくは ?loadを...
**パワースペクトルの両対数図 [#p0322877]
>[[北原]] (2012-03-21 (水) 21:39:27)~
~
Rの初心者のものです。~
Rでパワースペクトル解析(spectrum)を行い、plotで図を描い...
教えてください。~
//
- 実際に呼ばれるのは plot.default かな?オンラインヘルプ...
&ref(loglog.png);
- 早速のご回答どうもありがとうございました。しかし、spect...
- spectrum の返すオブジェクトを str 関数で確かめれば,自...
layout(matrix(1:2, 1))
spg.out <- spectrum(UKgas, method="ar")
plot(spg.out$freq, spg.out$spec, log="xy", type="l")
layout(1)
これにより,以下の図が描かれます。 -- [[河童の屁は,河童...
&ref(loglog2.png);
- なるほどですね。ありがとうございました。ついてにもう一...
- > 95%信頼区間を表すバーが見えません。あれも描けるでし...
- plot.spec関数を用いていろいろやってみます。ありがとうご...
**三次元座標の移動について [#ue7fe831]
>[[順天太郎]] (2012-03-21 (水) 09:30:32)~
~
R 及び数学には初心者です。~
質問させていただきます。~
幾つかの点がxyz座標上にあります。~
その点を P (1,2,3), Q (3,-2,4), R (-,2.-5, 8), 1:5, sep=,...
あるxyz軸に対してか平面”(平面Aとする)を設定し、その平面...
2. 座標(?)全体を回転し、平面Aが平面xyと重なり、かつP, ...
3. この回転運動を行ったとき、上記P,Q,R,S, Tの新しい位置は...
宜しくお願いたします。~
順天太郎~
//
- その質問はRとどのように関係があるのでしょうか。答えてく...
**igraphを用いたグラフ化 [#o955df96]
>[[パン屋]] (2012-03-20 (火) 20:57:18)~
~
こんばんは。~
igraphを用いてグラフを書きました。
c1 <- c("a", "a", "a", "b", "b", "c")
c2 <- c("b"," c", "d", "c", "d", "d")
c3 <- c(5, 10, 1, 0, 100, 20)
tmp1 <- data.frame(c1 = c1, c2 = c2, c3 = c3)
library(igraph)
tmp2 <- graph.data.frame(tmp1[1:6,], directed = F)
E(tmp2)$weight <- c3
print(tmp2, e = TRUE, v = TRUE)
plot(tmp2, vertex.label = V(tmp2)$name,
layout = layout.fruchterman.reingold,
edge.label = E(tmp2)$weight)
としたのですが、重み(c3)が結果に反映されてないようです...
R version 2.14.2 (2012-02-29)
Platform: i386-pc-mingw32/i386 (32-bit)
other attached packages:
[1] igraph_0.5.5-4
//
- 重みを線の太さで表したいなら引数に edge.width = c3(ま...
- ありがとうございます。重みを線の長さで表す場合どうした...
- 二次元ユークリッド空間では,任意の点群を任意の長さの線...
- なるほど、そう言われればそうですね。だから多次元尺度構...
**mtext で空白を挿入 [#r68fc85d]
>[[サワボノリ]] (2012-03-16 (金) 23:49:52)~
~
こんにちは。~
plot(0, xlab="")
mtext(side=1, at=0.8, text="panda score=0", line=-4, adj...
mtext(side=1, at=0.8, text="cat score=1+", line=-5, adj=1)
とした時に 0 と 1 が揃うように表示したいのですが、やり方...
"+" と同じ幅の空白を挿入する方法がありましたら教えてくだ...
latex の \phantom{+} と同じようなものはないのでしょうか?~
//
- 直接の回答ではありませんが、私のやり方を紹介します。Rの...
\begin{overpic}[
bb= 0 0 504 504, trim=30 30 30 50,
width=0.48\linewidth, height=0.48\linewidth,
clip]{abc.eps}
\put(65,35){\tiny
\begin{tabular}[t]{|lcr|} \hline
○:ABC\rule[0pt]{0pt}{5pt} &$=$ & 0 \\
△:DEF\rule[-2pt]{0pt}{5pt} &$=$ & +1 \\\hline
\end{tabular}}
\end{overpic}
- ありがとうございます。さっそく試してみます。 -- [[サワ...
- 以下のようにすれば、等号の位置をあわせることは可能です...
mtext2 <- function(string, at, ...) {
eq <- regexpr("=", string)
len <- strwidth(substring(string, eq+1))
mtext(text=string, at=at+len, adj=1, ...)
}
plot(0, xlab="")
mtext2("panda score=0", 0.8, side=1, line=-4)
mtext2("cat score=1+", 0.8, side=1, line=-5)
このままでは汎用性がありませんから(等号がふたつ以上ある...
- そろえたい = の右側の幅を計算して、右揃えの位置を調整す...
**system()のスペース処理について [#vc1cb79d]
>[[Cent]] (2012-03-13 (火) 13:43:33)~
~
こんにちは。Ceut OS 5.1, R 2.13.2を使用しています。~
~
名前にスペースが含まれているディレクトリにsystem()でunix...
#"aaa bbb"というディレクトリにUNIXコマンドを実行する
dir_name <- "aaa bbb"
dir.create(dir_name)
path <- paste(getwd(),"/",dir_name, sep="")
system(paste("ls ",path," > ",path,"/ls_res.txt",sep=""))
この場合、以下のエラーメッセージが表示されます。
ls: bbb: そのようなファイルやディレクトリはありません
ls: bbb/ls_res.txt: そのようなファイルやディレクトリはあ...
gsub()でディレクトリ名の"aaa bbb"の半角スペースをエスケー...
gsub("aaa bbb","aaa\ bbb",path)
や
gsub("aaa bbb","aaa\\\\ bbb",path)
としてみましたが、 "/root/aaa\ bbb"という文字列をつくり出...
~
宜しくお願いします。~
//
- パスを ' でくくってやればよいです(ダブルクオート " で...
% ls aaa bbb
ls: aaa: No such file or directory
ls: bbb: No such file or directory
はだめだけど,以下の2つはちゃんと動く
% ls 'aaa bbb'
xxx.txt test99.dat test99.txt test99.log
% ls "aaa bbb"
xxx.txt test99.dat test99.txt test99.log
これが理解できれば,R から system 関数を使って操作するの...
dir_name <- "aaa bbb"
dir.create(dir_name)
path <- paste(getwd(),"/",dir_name, sep="")
system(paste("ls '",path,"' > '",path,"/ls_res.txt'",sep...
つまり,あなたのスクリプトで system に渡される文字列は
> paste("ls ",path," > ",path,"/ls_res.txt",sep="")
[1] "ls /foo/bar/aaa bbb > /foo/bar/aaa bbb/ls_res.txt"
なのですが, ' を挿入した文字列は以下のようになるのです。
> paste("ls '",path,"' > '",path,"/ls_res.txt'",sep="")
[1] "ls '/foo/bar/aaa bbb' > '/foo/bar/aaa bbb/ls_res.tx...
で,こうやって ' でくくられていればパス名に空白を含んでい...
- ありがとうございました。&br; シングルクォーテーションと...
- " と ' の関係は,詳しい説明もあります。本来はどちらかの...
- ありがとうございました。オンラインヘルプまであるとは驚...
**行単位の随時処理 [#q5cffcdb]
>[[SAS ユーザ]] (2012-03-10 (土) 14:10:23)~
~
Rで行単位にテキストファイル※を読み込み随時処理を行うこと...
目的は一度にメモリに乗り切らないような大量データの処理で...
AWKやSASのデータステップをイメージしています。~
readlines、及びscanは一度に全ファイルを読み込みに行くので...
~
※可能であればデータフレームに対しても同様の処理を行いたい...
//
- readLines/scanで読み込み行数を指定すればいいんじゃなか...
- 2回目以降も毎回先頭からn行読むだけなのでだめっぽい。 --...
- ファイルが read.table で読める構成ならば,read.table の...
- HDの容量が十分あるのなら,最初にファイルを連番ファイル...
- あまりニーズは無いのでしょうか。目的に沿う直接的な方法...
- >2回目以降も毎回先頭からn行読むだけなのでだめっぽい。 ...
- f <- file("hoge"); open(f); readLines(f, 1); readLines(...
- なるほど。file関数の返り値はファイルディスクリプタで、...
**データフレームの繰り返し処理 [#e7e0fa3b]
>[[tadashi]] (2012-03-09 (金) 17:36:51)~
~
アクセスログをRで分析するために、データフレームの繰り返し...
for (適当な変数名 in データフレーム) { データフレーム名$...
で使えるようなのですが、普通は使わないのでしょうか?~
//
- 抽象的な話ではなく,こういう風なデータをこういう風なプ...
for (file.name in c("a.dat", "b.dat", "c.dat")) {
x <- read.table(file.name)
x を使った処理
}
としてもよいし,処理の部分を関数にして
処理 <- function(ファイル名) {
処理の実体
}
実際の実行はそれぞれのファイルに対してということで
sapply(c("a.dat", "b.dat", "c.dat"), 処理)
とやってもよいだろう。後者の場合は,試験的にというか,少...
処理("foo.dat")
などということが出来るということだろう(前者でも出来るけ...
ということがわかると,このようなことは別にたいしたことで...
- いろいろやり方があるんですね。ありがとうございます。 --...
いろいろためしてみたら、こんなことができるのですね。~
paste の部分 if (t$a1 != t$a2 ){1}else{0} のようにして、a...
> data.frame(t$a1,t$a2,paste(t$a1,t$a2))
t.a1 t.a2 paste.t.a1..t.a2.
1 a a a a
2 b c b c
3 c b c b
- R では,論理演算の結果は TRUE/FALSE となりますが,それ...
- 残念うまくいきません。論理演算は使えないのでしょうか
> data.frame(s21$seq,s21$ip,s21$ip1,(s21$ip != s21$ip1 )...
以下にエラー Ops.factor(s21$ip, s21$ip1) : 因子の水準セ...
できた。式の間に空白をいれてはいけないのですね。
> data.frame(t$a1,t$a2,result=(t$a1!=t$a2)+0)
t.a1 t.a2 result
1 a a 0
2 b c 1
3 c b 1
> t<-data.frame(a1=c('a','b','c'),a2=c('a','c','b'))
> data.frame(t$a1,t$a2,result=(t$a1!=t$a2)+0)
t.a1 t.a2 result
1 a a 0
2 b c 1
3 c b 1
- 投稿欄の上にリンクがある[[投稿における注意事項]]を読ん...
- すみません。どこが書式に反しているのでしょうか? わか...
dashi]] &new{2012-03-10 (土) 21:07:14};
- 一番の問題は,「編集画面」で記事を書いた(もしくは,編...
- おっと、編集画面で記事を書いてはいけないのですね。失敗...
- それから、コメント欄では、wiki の書式が使えないので、コ...
- read.table で読み込むときに因子化されるのが問題でした。...
- なんとかできるようになりました。~
やりたいことは、1行ずらして並べて、ipアドレスがかわるとこ...
fr='20111010.tsv'
文字での読み込みにして、因子化を避けます。~
as.is=c(TRUE) は、一個だけだと文字列を全部そのまま文字列...
log<-read.table(
file=fr,header=FALSE,sep="\t",as.is=c(TRUE))
通常のログの形式の先頭に、unix timestamp などをつけていま...
names(log)<-c(
"utime","yyyy","mm","dd","hour","minute","second",
"ip","identd","user","datetime","request","code",
"bytes","referer","agent")
ip と時刻で並べ替え、~
t<-order(log$ip,log$utime)
log<-log[t,]
ip,utimeを切り出します。この時点で、因子化されてしまいま...
s1<-data.frame(ip=log$ip,utime=log$utime)
s2<-data.frame(ip=log$ip,utime=log$utime)
t<-data.frame(ip="999.999.999.999",utime=0)
ずらして並べます。~
s2<-rbind(s2,t)
s2<-s2[-1,]
t<-nrow(s1)
s1<-cbind(seq=1:t,s1)
s2<-cbind(seq=1:t,s2)
names(s2)<-c('seq','ip1','utime1')
s12<-merge(s1,s2)
因子をcharacter に戻します。
s12$ip<-as.character(s12$ip)
s12$ip1<-as.character(s12$ip1)
ip アドレスが変わるところに 1 をたてます。~
s12$test<-(s12$ip != s12$ip1)+0
head(s12)
seq ip utime ip1 utime...
1 1 114.80.93.71 1318209476 114.80.93.71 131820953...
2 2 114.80.93.71 1318209532 114.80.93.71 131820953...
3 3 114.80.93.71 1318209532 119.235.237.16 131818620...
4 4 119.235.237.16 1318186208 119.235.237.16 131820717...
5 5 119.235.237.16 1318207179 119.235.237.19 131818739...
6 6 119.235.237.19 1318187392 119.235.237.19 131825786...
- かなりよくなりましたね。ただ、これは、マニュアルにも記...
- pukiwiki が使えないと質問するのは大変ですね。エクセルし...
- > pukiwiki が使えないと質問するのは大変ですね&br;このWi...
**集計表の作成 [#h58aa398]
>[[のす]] (2012-03-09 (金) 06:21:30)~
~
よろしくお願いします
A B C D
1 赤 青 黄 白
2 赤 黄 白 白
3 青 白 白 黒
4 白 黄 赤 黒
5 黒 白 青 青
6 赤 赤 赤 赤
このような表から
A B C D
赤 3 1 2 1
青 1 1 1 1
黄 0 2 1 0
白 1 2 2 2
黒 1 0 0 2
このようなクロス集計表を得たいのですが、どのようにしたら...
いままでtableを使って列ごとに処理した後、エクセルで成型し...
~
環境は Win7 64, R2.14.1です。~
//
- データフレームを d として,以下のようにすればよいでしょ...
> sapply(lapply(d, factor, levels=names(table(sapply(d, ...
A B C D
黄 0 2 1 0
黒 1 0 0 2
青 1 1 1 1
赤 3 1 2 1
白 1 2 2 2
- 別解。 -- [[河童の屁は,河童にあらず,屁である。]] &new...
> a <- data.frame(color = c(sapply(d, factor)),
+ group = rep(LETTERS[1:4], each=6),
+ count = rep(1, 24))
> xtabs(count ~ color + group, a)
group
color A B C D
黄 0 2 1 0
黒 1 0 0 2
青 1 1 1 1
赤 3 1 2 1
白 1 2 2 2
- ありがとうございます。いろいろと試しているますが、理由...
最初に教えていただいた方法では、データによっては
以下にエラー table(sapply(d, levels)) :
全ての引数は同じ長さでなければなりません
というエラーが出力されるのですが、理由がわかるでしょうか...
- 理由?引数の長さが違うということなのでしょう。データは...
- そうですね。ありがとうございました。 -- [[のす]] &new{2...
- エラーの解析の結果はどうだったでしょうか?&br;ヒマだった...
A B C D
1 黄 黄 赤 黄
2 黄 黄 白 青
3 白 黄 赤 白
4 赤 黄 黄 白
5 赤 黄 黒 白
6 黄 黄 白 黒
エラーが起きる原因は,sapply(d, levels) の結果得られるリ...
> sapply(d, levels)
$A
[1] "黄" "赤" "白"
$B
[1] "黄"
$C
[1] "黄" "黒" "赤" "白"
$D
[1] "黄" "黒" "青" "白"
つまり,この例だと A の要素数は3,B の要素数は 1,C,D の...
> table(sapply(d, levels))
以下にエラー table(sapply(d, levels)) :
全ての引数は同じ長さでなければなりません
というエラーが出てくるのですね。&br;そして,なぜ,そうい...
> table(list(a=c("a", "b"), b=c("a", "c"), c=c("c", "x")))
どんな答えが出てくるか,プログラムを実行せずに予測してみ...
> sapply(lapply(d, factor,
+ levels=names(table(unlist(sapply(d, levels))))),
+ ~~~~~~~ ~
+ table)
A B C D
黄 3 6 1 1
黒 0 0 1 1
青 0 0 0 1
赤 2 0 2 0
白 1 0 2 3
当然ながら,別法による答えと同じになることは確かめました。
> a <- data.frame(color = c(sapply(d, factor)),
+ group = rep(LETTERS[1:m], each=n),
+ count = rep(1, n*m))
> xtabs(count ~ color + group, a)
group
color A B C D
黄 3 6 1 1
黒 0 0 1 1
青 0 0 0 1
赤 2 0 2 0
白 1 0 2 3
思い込みとは恐ろしいものです。 -- [[河童の屁は,河童にあ...
- 河童さん ありがとうございました。解析は、教えていただ...
**Rでグラフなどの出力をMathematicaのノートブック風にでき...
>[[kejuyan]] (2012-03-08 (木) 00:06:40)~
~
Rでグラフなどの出力をMathematicaのノートブック風にできな...
私の環境は、Windows7,R-2.12です。~
色々調べたところTeXmacs + Rという組み合わせで実現できるよ...
TeXmacs + Rに限らず、Windows7でRの出力をMathematica風に出...
//
- http://kougaku-navi.net/maxima.html によれば,「TeXmacs...
**データフレームを正規表現を条件にして抽出する [#e103708c]
>[[tadashi]] (2012-03-05 (月) 15:26:37)~
~
apache のアクセスログのデータフレームで、user-agent のと...
subset(データフレーム、条件(正規表現))のように書くと思...
//
- 「bot の文字がはいっているデータ(列)を抽出したい」の...
> (d <- data.frame(
UserAgent=c("foo", "bar", "bot", "baz", "robots"),
x=LETTERS[1:5]))
UserAgent x
1 foo A
2 bar B
3 bot C
4 baz D
5 robots E
# データフレームの UserAgent 列に "bot" という文字列を含...
> d[grepl("bot", d$UserAgent),]
UserAgent x
3 bot C
5 robots E
- ばっちりです。ありがとうございます。おっと、行ですね。...
**ファイルが読み込めない [#m0bf4cda]
>[[ユーザー]] (2012-03-05 (月) 11:11:10)~
~
read.tableコマンドでCSVファイルを読み込もうとしましたがう...
以下、コマンドと警告です。
> Ar1TestData <- read.table("C:\Users\g-fujimoto\Dropbox...
エラー: "C:\U"で始まる文字列の中で8進文字なしに'\U'が...
//
- Windows では,パスの区切り文字を \ ではなく \\ にしない...
- ありがとうございました。うまくいきました。 -- [[ユーザ...
**WindowsからのイベントID(E) 63のエラー警告について [#zc5...
>[[saito]] (2012-03-04 (日) 10:20:33)~
~
OS Windows7 x64を使用しておりますがイベントID(E)63のエラ...
上記のようなエラーメッセージですが気に病むような問題なの...
//
**パッケージのソースコードについて [#j06b50a6]
>[[みのむし]] (2012-03-02 (金) 15:24:49)~
~
Rを使って計量経済学の分析をしています。~
~
最近ある研究者が自分の開発した手法をRで使うためのパッケー...
~
私は彼の手法を少し改良したものを実際の分析で使いたいと考...
そこで、彼の作成したパッケージに手を加えたいのです。~
~
ところが、ダウンロードしたパッケージを見ると、拡張子がrdb...
~
Rのパッケージのソースコードを読むにはどうすれば良いのでし...
どなたかご教示いただければ大変幸いです。~
//
- rdb rdx r の3語で google 検索してみると,いろいろ出てき...
- お返事ありがとうございます。下記の2月20日の質問では、R...
- > 中にはソースが非表示になっているパッケージもあるとい...
**データの抽出 [#e540bfa6]
>[[tsujimo]] (2012-03-01 (木) 00:41:25)~
~
最近Rを触り始めました~
#用語がおかしかったらお知らせください,なるべく改めて行き...
~
データフレームからデータを抽出するのに以下を試みましたが,...
c(1,3)で抽出しようとしたものは何が抽出されたのでしょうか?~
どういうデータが取りこぼされたのでしょうか?~
#結果のデータを見比べて見ても特に規則性は見えませんでした
> nrow(raw[which(raw["Q1"]==c(1), useName=TRUE, arr.ind=...
[1] 8526
> nrow(raw[which(raw["Q1"]==c(3), useName=TRUE, arr.ind=...
[1] 14750
> nrow(raw[which(raw["Q1"]==c(1,3), useName=TRUE, arr.in...
[1] 11546
ある行"Q1"を選択肢に複数の不連続な選択番号で抽出したかっ...
複数の不連続な選択番号(ここではc(1,3))を関数の引数として...
ループ版は作れたのですが悲しい位遅いです~
以上よろしくお願いします~
//
- %in% -- &new{2012-03-01 (木) 02:39:56};
- 挙動がおかしいなと思う場合は,全体が見通せる簡単なデー...
s2;
> set.seed(1)
> (raw <- data.frame(Q1=1:5, x=sample(LETTERS, 5))) # 簡...
Q1 x
1 1 G
2 2 J
3 3 N
4 4 U
5 5 E
> raw[which(raw["Q1"]==c(1), useName=TRUE, arr.ind=TRUE),]
Q1 x
1 1 G
1.1 1 G
# arr.ind を指定するのがおかしい
> which(raw["Q1"]==c(1), useName=TRUE, arr.ind=TRUE)
row col
[1,] 1 1
# raw へ渡される引数(行番号)がおかしいことが分かる
> raw[which(raw["Q1"]==c(3), useName=TRUE, arr.ind=TRUE),]
Q1 x
3 3 N
1 1 G # 意図しないものも抽出されている なぜだろうかと...
> which(raw["Q1"]==c(3), useName=TRUE, arr.ind=TRUE)
row col
[1,] 3 1
> raw[which(raw["Q1"]==c(1, 3), useName=TRUE, arr.ind=TR...
Q1 x
1 1 G
1.1 1 G
> which(raw["Q1"]==c(1, 3), useName=TRUE, arr.ind=TRUE)
row col
[1,] 1 1
> raw[raw[,"Q1"] %in% c(1, 3),] # これが解
Q1 x
1 1 G
3 3 N
**セル平均と切片 [#e369ffb4]
>[[そとの]] (2012-02-28 (火) 10:15:35)~
~
ネットでみつけたデータを使って回帰分析の勉強をしています。
d <- read.table("http://personality-project.org/r/datase...
lm1 <- lm(Alertness ~ Gender * Dosage, data=d)
上の回帰分析で求められる切片と下の計算で得られる平均が同...
mean(d$Alertness[d$Gender=='f' & d$Dosage=='a'] )
summary(lm1)$coef[1,2]
sd(d$Alertness[d$Gender=='f' & d$Dosage=='a'] )
このふたつは同じになるものではないのですか?直接的なRの質...
//
- Std. ErrorはStandard errorのことでStandard deviationと...
- すみません。間違えました。 sd(d$Alertness[d$Gender=='f'...
- なぜ同じになると思ったのですか?単に,標準偏差と標準誤...
**pisa2009データ 150メガバイトに必要はメモリは? [#e7ff5b...
>[[tadashi]] (2012-02-25 (土) 10:38:36)~
~
http://pisa2009.acer.edu.au/downloads.php の生徒の回答(...
//
**lmtest, zooのロード [#z0173e80]
>[[akira uegaki]] (2012-02-22 (水) 23:10:18)~
~
Mac OS X (10.7.2)ですが、パッケージlmtestをインストール後...
//
- lmtest は zoo を必要とするわけです。zoo はインストール...
- ありがとうございます。lmsetをインストールすると、zooも...
- ありがとうございます。lmsetをインストールするとzooも勝...
- 自動的に依存パッケージもインストールされるようにするた...
- 将来的にdepが一意でなくなる可能性も否定できないので、人...
- Windows でもそうなんだけど,パッケージのインストールは...
**dataset パッケージ [#a91caa3f]
>[[tadashi]] (2012-02-21 (火) 18:16:56)~
~
dataset パッケージ library/datasets/html/00Index.html に...
//
- CRANにある R Function Help Page という日本語文献の12...
- 新しいページを作った--[[パッケージ 'datasets' の情報:ht...
- [[ここ:http://d.hatena.ne.jp/hoxo_m/20120214/p1]]にもあ...
- 日本の統計情報もあるといいですね。 -- [[tadashi]] &new{...
- 日本の人口統計だけならfmsbパッケージにある程度入ってい...
**Rで開発したソフトの配布 [#yb317d07]
>[[ひろ]] (2012-02-20 (月) 23:09:37)~
~
Rで開発したソフトを配布したいのですが,ソースコードが丸見...
1.Rの難読化か機械語にコンパイル方法ありますでしょうか?私...
2.compilerパッケージでコンパイルしてみましたが,ソースコ...
//
- そのような有用なソフトは,ライブラリとして登録するのが...
- "河童の屁は,河童にあらず,屁である"さんのおっしゃられ...
- どうしてもソースを簡単に見せたくないなら、C言語か何かで...
- Rのライセンス体系がソースコードを非開示にできるものか私...
**windowsでUTF8の対応について質問 [#w0bf5056]
>[[ひろ]] (2012-02-20 (月) 15:10:24)~
~
UTF8に依存した文字コードを含む文字列データをR言語を使って...
~
1. WindowsでもUTF8はShift-JISの同様に簡単に処理できますか...
2. Mac/Linuxへの移行を検討した方がいいでしょうか?~
3. Windows版Rは近い未来にUTF8に対応するか否か?~
//
- 1に対して。例えば read.table には fileEncoding という引...
- 「readTableHeader で不完全な最終行が見つかりました」「...
- 不完全な最終行というのは、ファイルの最後が改行文字で終...
- 改行EOFは正しくありました.おかしいと思って調べてみたと...
- 問題解決しました.ありがとうございまいた. -- [[ひろ]] ...
**モデルに基づくクラスター分析(mclust)"hc for EEE model i...
>[[おちあい]] (2012-02-20 (月) 04:47:08)~
~
モデルに基づくクラスター分析の勉強のために、以下のスクリ...
> install.packages("mclust")
> iris2<-iris[51:150, 1:4]
> library(mclust)
> plot(EMclust(iris2))
> mhc <- hc(modelName="EEE", data=iris2) # もとはEEE
ここまで来ると
以下にエラー hcEEE(data = iris2) :
hc for EEE model is not currently supported
が表示されます。~
他のモデル、EII、VII、VVVではこのエラーは表示されません。~
EEEのモデルを採用し処理を続けるにはどうしたらよいのでしょ...
使用環境~
R version 2.14.0 (2011-10-31)~
Platform: x86_64-pc-mingw32/x64 (64-bit)~
Windows 7
//
- not currently supported といわれているのだからどうしよ...
hcEEE の 29 行目に stop があるが,それを除いたとしても,...
stop("hc for EEE model is not currently supported")
temp[[4]] <- temp[[4]][1:2]
temp[[5]] <- temp[[5]][1:2]
: 以下略
- アドバイスありがとうございます。どうやっていくかもう少...
**パッケージが読み込めない [#ud877306]
>[[ひらやま]] (2012-02-18 (土) 10:40:35)~
~
~分布モデル作成に有用なdismoパッケージを使っているのです...
以下のことは試してみましたが解消されません。~
・パッケージの更新~
・パッケージの削除、再インストール~
・旧バージョンのパッケージの使用~
・Rをアンインストールし、再インストール ~
また、昨日まで問題なくdismoパッケージが読み込めていた別PC...
どのように対処していいものか悩んでおります。ご助言いただ...
使用環境~
OS: Windows 7~
R version: 2.14.1~
対象package: dismo~
//
**barplot [#h3b863a5]
>[[ただばやし]] (2012-02-04 (土) 14:51:06)~
~
積み上げグラフを書いていて、バーを塗りつぶした上に模様を...
barplotで図を書いているのですが、angleとcolで模様を変えた...
ご助言頂けますと助かります。~
よろしくお願いします。~
//
- parコマンドで重ね書きすることができ、解決しました!あり...
- 最初の方でよいのですか?「群集組成を示す図で生物の属ごと...
x <- matrix(sample(10:50, 20), 4)
dimnames(x) <- list(LETTERS[1:4], letters[1:5])
barplot(x, col = c("#aa000070", "#00aa0070",
"#0000aa70", "#aa660070"))
par(new = TRUE)
barplot(x, col = 1:4, angle = 1:4 * 45, density = 10)
&ref(barplot1.png);~
で,次のがあなたの要望に添うものではないかな?と&br;棒の塗...
mp <- barplot(x, col = seq_len(nrow(x)) + 1)
rect(mp - 0.5, 0, mp + 0.5, colSums(x), col = "black", d...
angle = 45 * seq_len(ncol(x)))
&ref(barplot2.png);~
しかし,できあがったものを見れば分かりますが,棒のハッチ...
- つくりたい積み上げグラフは始めにしていただいた回答で問...
**ARFIMAのdについて [#ed028887]
>[[のざわ]] (2012-02-04 (土) 08:36:34)~
~
宜しくお願いします。~
~
以下のようなプログラムで和分を実数と整数(1)にしてsummary...
何かバグでもあるのでしょうか?
library(fracdiff)
AP.d <- fdGPH(AirPassengers)$d
AP.fra <- fracdiff(AirPassengers, nar = 3, dtol = AP.d, ...
summary(AP.fra)
AP.fra <- fracdiff(AirPassengers, nar = 3, dtol = 1.0, n...
summary(AP.fra)
//
- dtol が何であるかは分かっておられる?&br;interval of unc...
- なるほど、そういう事ですか。あれこれのサイトに、こうい...
**arima関数エラーをtry()でキャッチする方法について [#me7c...
>[[Yuki]] (2012-02-01 (水) 16:10:38)~
~
多数の時系列データをARIMAモデルで予測したいと考えています...
try関数によりエラーとなった場合は次のデータに行くようなプ...
私が引っかかっている箇所は以下になります。~
利用データ:(エラーとなった1データのみ記載しています。実...
myts <-ts(c(92,85,77,178,174,161,93,81,120,136,84,117,92...
142,205,142,75,60,92,113,93,128,64,72,71,89,...
86,81,85,57,79,86,83,99,89,132,136,89,85,107...
79,79,80,40,99,178,77,97,89,81,73,126,129,16...
120,106,105),freq=7, start=c(7,13))
arimaで処理が正常に終わる場合、以下のように、
> (class(try(fit <- arima(myts,order=c(1,1,1),method="CS...
[1] "Arima"
が返ってきますので、下記のようにifelse関数を用いてmyresに...
> (myres <-ifelse(class(try(fit <- arima(myts, order = c...
method = "CSS-ML"), silent = true)) == "Arima", TRUE,...
[1] TRUE
正常にARIMAで予測できる場合は、期待通り「TRUE」が返ってき...
しかし、エラーとなるmethod="ML"で実行すると、期待した「FA...
> (myres <-ifelse(class(try(fit <- arima(myts, order = c...
method = "ML"), silent = true)) == "Arima", TRUE, FAL...
以下にエラー value[[3L]](cond) : オブジェクト 'true' ...
追加情報: 警告メッセージ:
In arima(myts, order = c(1, 1, 1), method = "ML") :
possible convergence problem: optim gave code=1
のようにエラーとなりますが、myresの値は更新されず、以下の...
> myres
[1] TRUE
念のため、myresをrmしてから確認すると、以下のようにmyres...
> rm(myres)
> (myres <-ifelse(class(try(fit <- arima(myts, order = c...
method = "ML"), silent = true)) == "Arima", TRUE, FAL...
以下にエラー value[[3L]](cond) : オブジェクト 'true' ...
追加情報: 警告メッセージ:
In arima(myts, order = c(1, 1, 1), method = "ML") :
possible convergence problem: optim gave code=1
> myres
エラー: オブジェクト 'myres' がありません
利用環境は以下のとおりです。
Rのバージョン:2.14.1
OS:WindowsXP SP3
利用パッケージ:
stats graphics grDevices utils datasets method...
どうぞよろしくお願い致します。
//
- 凡ミスでしょう。try の引数 silent に,あなたは true を...
> (myres <-ifelse(class(try(fit <- arima(myts, order = c...
+ method = "ML"), silent = TRUE)) == "Arima", TRUE, F...
[1] FALSE ←←← FALSE になりますよ
警告メッセージ:
In arima(myts, order = c(1, 1, 1), method = "ML") :
possible convergence problem: optim gave code=1
それと,ifelse は不要。以下と同じ。
> (myres <-class(try(fit <- -data.frame(ip=arima(myts, o...
+ method = "ML"), silent = TRUE)) == "Arima" )
- ご回答どうもありがとうございました。凡ミスで大変失礼い...
**expressionについて [#z22eb028]
>[[まあくん]] (2012-01-26 (木) 10:32:57)~
~
expression()の使い方ですが、
expression(paste(bgroup("(", atop(n, x), ")"), p^x, q^{n...
を
temp <- "q^{n-x}"
expression(paste(bgroup("(", atop(n, x), ")"), p^x, temp))
のように書き換えたいのですが、うまくいきません。どのよう...
//
- ちょっとまだるっこしいのだけど,以下のようにすればいか...
temp <- "q^{n-x}"
eval(parse(text=paste('expression(paste(bgroup("(", atop...
temp, '))', sep='')))
- ありがとうございました。 -- [[まあくん]] &new{2012-01-2...
**コレスポンデンス分析の散布図表示 [#q8996143]
>[[のす]] (2012-01-23 (月) 18:02:07)~
~
投稿ルールも読まず、汚い投稿をしてしまい重ね重ね申し訳あ...
お詫びします。~
先ほどの、質問ですが、以下の様な処理を行った場合、「小学...
ところが、「Excelで学ぶコレスポンデンス分析」(高橋信 著...
これをRで行い、2つのグラフが得られるようにしたいのですが...
よろしくお願いします。~
環境はwin7(64)~
R ver 2.14.1です。
library(MASS)
y <- data.frame(小学生 = c(4, 3, 4, 7, 3), 中学生 = c(5,...
高校生 = c(6, 2, 3, 7, 6), 大学生 = c(7,...
rownames(y) <- c("イチゴ", "みかん", "ぶどう", "りんご",...
y.coa <- corresp(y, nf=2)
biplot(y.coa, main="好きな果物調べ")
//
- こんな図を描きたいのですか?でも,2つの図を一緒にした bi...
layout(matrix(1:2, 2))
old <- par(mar=c(3, 3, 1, 3), mgp=c(1.6, 0.6, 0))
plot(y.coa$rscore)
text(y.coa$rscore, label=dimnames(y.coa$rscore)[[1]], po...
plot(y.coa$cscore)
text(y.coa$cscore, label=dimnames(y.coa$cscore)[[1]], po...
par(old)
layout(1)
&ref(biplot.png);
- ありがとうございます。重ね重ね失礼いたしました。ご教授...
- 先ほどの書き込みは削除しました。ご了承ください。 -- [[...
**陰関数のplotについて [#q71b56b6]
>[[るち]] (2012-01-23 (月) 15:11:05)~
~
はじめまして。~
今T^2管理図の管理限界楕円を図に出したいのですが、その前に...
~
円であれば半径の指定さえすれば表示できることはわかるので...
//
- T^2管理図を知らないので、直接的な答えにならないと思いま...
> i <- seq(from = 0, to = 2 * pi, length = 50)
> plot(6 * cos(i), 2 * sin(i), type = "l", asp = 1)
- ありがとうございます。これを陰関数でも適応することは可...
- 高校数学程度の知識があれば、上に示した例を使って、ご要...
**npパッケージのnpcmstestでbwsで具体的にbandwidthを指定す...
>[[ななみ]] (2012-01-21 (土) 21:55:03)~
~
はじめまして。npパッケージでモデルの検定をしています。
model <- lm(Y ~ X, y = TRUE, x = TRUE)
X <- data.frame(X)
npcmstest(model = model, xdat = X, ydat = Y, bws = 1)
のようにバンド幅を指定すると
「仮引数 ”bws” が複数の実引数にマッチしました」
というエラーがでてしまいます。~
どなたか、これに対する解決方法をご存じでしたらお教え頂き...
//
- 再現できる最小のサンプルデータがないと答えるのが難しい...
**関数内で、引数を文字列として使用したい [#w1823fb7]
>[[masa]] (2012-01-19 (木) 14:13:00)~
~
お世話になります。~
ヘルプやこのサイトを検索して見つけられず、非常に基本的な...
下記のような関数で階層化クラスタリングを行おうとしていま...
myhc <- function(varset, dataset) {
hc <- hclust(dist(model.matrix(varset, dataset)), metho...
plot(hc, main= paste("Cluster Dendrogram for Solution",...
xlab= paste("Observation Number in", datasetname),
sub="Method = Ward; Distance = Euclidian",
hang=-1)
rect.hclust(hc, k = 5, border = "red")
dev.print(jpeg, filename = paste(dataset, ".jpg"), widt...
}
sessionInfo()~ [#w973c77e]
R version 2.14.1 (2011-12-22)
Platform: i386-pc-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=Japanese_Japan.932 LC_CTYPE=Japanese_Jap...
[3] LC_MONETARY=Japanese_Japan.932 LC_NUMERIC=C ...
[5] LC_TIME=Japanese_Japan.932
attached base packages:
[1] splines graphics stats utils grDevices tc...
other attached packages:
[1] RODBC_1.3-4 Rcmdr_1.8-1 relimp_1.0-3 c...
[5] survival_2.36-10 nnet_7.3-1 MASS_7.3-16
loaded via a namespace (and not attached):
[1] tools_2.14.1
//
- すみません1つ上の「関数内で、引数を文字列として使用した...
- 肝心の質問は「関数 myhc に dataset としてたとえば kome ...
- function(x) deparse(substitute(x)) -- &new{2012-01-19 ...
- おっしゃるとおり,基本的ですが,filename = paste(depars...
- 迅速にありがとうございます、うまくいきました。 (sessio...
**merge()でbyに複数列指定する方法 [#e4f7a09d]
>[[zou]] (2012-01-16 (月) 16:33:26)~
~
merge()で、by= に複数列指定する方法があれば教えて下さい。
(x <- data.frame(
name1 = c("tanaka", "tanaka", "tanaka", "suzuki", "su...
year1 = c("2000", "2001", "2005", "2000", "2005", "20...
test1 = 1:6))
(y <- data.frame(
name2 = c("tanaka", "tanaka", "suzuki", "tanaka", "su...
year2 = c("2000", "2001", "2000", "2005", "2005", "20...
test2 = c(11, 12, 14, 13, 15, 16)))
# m1 <- merge(x, y, by.x = "name1", by.y = "name2", all...
ほしい結果は次のものです。よろしくお願いします。~
なお、ソートして結合するやり方ではなく、merge()を使いたい...
tanaka 2000 1 11
tanaka 2001 2 12
tanaka 2005 3 13
suzuki 2000 4 14
suzuki 2005 5 15
suzuki 2008 6 16
//
- オンラインヘルプを良く読みましょう。"Columns can be spe...
> merge(x, y, by.x = c("name1", "year1"), by.y = c("name...
+ all = TRUE, sort = FALSE)
name1 year1 test1 test2
1 tanaka 2000 1 11
2 tanaka 2001 2 12
3 tanaka 2005 3 13
4 suzuki 2000 4 14
5 suzuki 20, 05 5 15
6 suzuki 2008 6 16
- ありがとうございました。よくヘルプを読んでおらず、お手...
**Rcmdrへの日本語を含むファイルパスのデータのインポート [...
>[[mamiy]] (2012-01-16 (月) 11:52:48)~
~
いつもお世話になっております。~
~
R2.13.2を使用していましたが、最近、R2.14.1に変更しました。~
R2.13をアンインストールしてから、R2.14.1をインストールし...
[3] エラー:
<86><e3><82>ケ繝育畑繝<87>繝シ繧ソ/test.csv", header=TRUE...
na.strings="NA", dec=".", strip.white=TRUE)に不正なマ...
R2.13.1でもR2.13.2でもエラーはなく、日本語を含むファイル...
データのインポートを実行した際にRコマンダーのスクリプトウ...
ご存じの方、おられましたら、お教えください。よろしくお願...
sessionInfo()の結果は
R version 2.14.1 (2011-12-22)
Platform: i386-pc-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=Japanese_Japan.932 LC_CTYPE=Japanese_Jap...
LC_MONETARY=Japanese_Japan.932
[4] LC_NUMERIC=C LC_TIME=Japanese_Japa...
attached base packages:
[1] stats graphics grDevices utils datasets me...
よろしくお願いいたします。~
//
**forループとplotの組み合わせを高速化したい [#q0ee7591]
>[[宗二]] (2012-01-15 (日) 16:02:34)~
~
よろしくお願い致します。下のプログラムは、2列×10行の配列b...
a1 <- seq(1, 10, by = 1)
a2 <- seq(1, 5.5, by = 0.5)
b <- cbind(a1, a2)
b[1, ] <- b[4, ] <- b[10, ] <- 999
separator <- which(b[, 1] == 999)
for (i in 1 : (length(separator) - 1)) {
data <- b[(separator[i] + 1) : (separator[i + 1] - 1...
if (i == 1) {
plot(data, xlim = c(1, 10), ylim = c(1, 10),
type = "l")
} else {
par(new = TRUE)
plot(data, xlim = c(1, 10), ylim = c(1, 10),
type = "l", axes = F, ann = F)
}
}
このサンプルのように区切りの数が少なく、forループの数が少...
//
- b[, separator] <- NA; plot(b, type = "l") -- &new{2012...
- なるほど。999などの実数ではなく、NAだと自動で除外してく...
- 代入(付値)に = を使うとか,カンマの後に空白を置かない...
- 悪文失礼しました。訂正ありがとうございます。 -- [[宗二]...
**ロジスティック回帰? [#uf87fead]
>[[竹下]] (2012-01-15 (日) 08:03:21)~
~
こんにちは。~
response variable が割合 (p) なのですが、 lm( log(p / (1-...
//
- 悪いやり方です。1/10 と 10/100 や 100/1000 などは統計学...
また,プロビットモデルやロジスティックモデルを意図してい...
- どうもありがとうございます。たしかにおっしゃるとおりで...
**場合分けに応じた新しい列を追加 [#o7e2799d]
>[[asap]] (2012-01-12 (木) 18:36:36)~
~
今ある行列irisに、n列の場合分けに応じた新しい列を追加した...
新しい列の変数には次のような値を入れたいのですが
if (iris$Species[i] == "setosa") {
iris$Sp[i] <- 1
} else {
iris$Sp[i] <- 0
}
//
- iris$Sp <- ifelse(iris$Species == "setosa", 1, 0) また...
iris$Sp <- (iris$Species == "setosa") + 0 でよいでしょう ...
- どうもありがとうございました -- [[asap]] &new{2012-01-1...
**geoRパッケージの標本バリオグラムについて [#v4649f8b]
>[[まち]] (2012-01-11 (水) 21:49:52)~
~
geoRパッケージのvariogで標本バリオグラムの計算を行うと最...
同じデータでgstatパッケージvariogramを使うと省かれません。~
パラメータの指定が悪いのでしょうか?~
自己相関が無くなる距離なので推定には問題ないと思いますが...
よろしくお願いします。
library(geoR)
library(gstat)
# データの読み込み
data(ca20)
# geoR
vcloud <- variog(ca20)
(vcloud)
plot(vcloud)
# gstat
ca20gstat <- cbind(ca20$coords[, "east"], ca20$coords[, ...
ca20$data)
colnames(ca20gstat) <- c("east", "north", "data")
ca20gstat <- as.data.frame(ca20gstat)
vfgstat <- variogram(data ~ 1, loc = ~east+north, data ...
cutoff = vcloud$max.dist,
width = vcloud$max.dist / 13)
(vfgstat)
plot(vfgstat)
下記の 13 行目で geoR の場合 $n が 12 点でなく 11 点にな...
geoRの場合
$n $u $v
1 543 43.77376 55.50552
2 1648 131.3213 78.09254
3 2364 218.8688 97.05838
4 2246 306.4163 117.1554
5 2531 393.9638 129.0646
6 2152 481.5114 146.4889
7 1708 569.0589 151.9713
8 1309 656.6064 153.6482
9 694 744.1539 144.7442
10 343 831.7014 146.8878
11 144 919.249 131.8958
12 59 1006.796 139.2288
13 11 1094.344 139.2727
gstatの場合
np dist gamma
1 543 60.35719 55.50552
2 1648 132.58886 78.09254
3 2364 220.90992 97.05838
4 2246 305.65494 117.15539
5 2531 391.80321 129.06460
6 2152 482.02453 146.48885
7 1708 568.46999 151.97131
8 1309 652.62969 153.64820
9 694 739.59074 144.74424
10 343 826.14460 146.88776
11 144 913.61963 131.89583
12 59 995.10190 139.22881
13 12 1082.94416 165.16667
使用環境
R version 2.12.1 (2010-12-16)
Platform: i386-pc-mingw32/i386 (32-bit)
gstat_1.0-8
geoR_1.6-35
//
**R-2.14以降、Tcl/Tkのスライダーを使うとグラフが一部消え...
>[[hiro]] (2012-01-10 (火) 16:39:38)~
~
R-2.14.1 for Windows(32bit)を使っています.~
R-2.13.2までは、以下のサンプルでスライダーを動かすと、グ...
しかし、2.14以降、スライダーを動かしている間は一部のグラ...
グラフが複雑化すると、目立って見苦しくなります.~
複数のWindowsPC(XP/Win7)で試しましたが、100%再現します...
もし解決策を御存知の方がいらっしゃれば、ご教示頂けないで...
宜しくお願いします.
library(tcltk)
draw.graph <- function(...) {
upper <- as.double(tclvalue(Slider))
hist(x, freq = FALSE, ylim = c(0, upper),
col = "cyan", border = "white")
lines(den, lwd = 3)
}
x <- rnorm(200)
den <- density(x)
tt <- tktoplevel()
Slider <- tclVar("0.5")
slider <- tkscale(tt, from = 0.1, to = 1,
resolution = 0.01, showvalue = TRUE,
variable = Slider, orient = "horizontal",
command = draw.graph)
tkgrid(tklabel(tt, text = "upper"), sticky = "w")
tkgrid(slider)
tkfocus(tt)
//
- CRANには現在tcltkというパッケージはなく、代わりにtcltk2...
- tcltkパッケージはR本体にバンドルされるものです(Rコマン...
ページ名: