Q&A (上級者コース)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
COLOR(green){SIZE(20){上級者のための R および RjpWiki に...
COLOR(blue){注意}:新規記事用の入力欄は以下の目次の直後に...
ここでは、甘えは一切許されません。必ずサマリーページ(もし...
初心者の方でも投稿は構いませんが
- 調べた物
- 参考にした物
- 問題のソース
- 結果のソース
- [[google などの検索エンジン:http://www.google.co.jp]] ...
- 最後に重要なのは該当のソースコードも確認済みであること...
恐がる必要はありません。答える以上、それがまとまった情報...
----
#contents
~
----
#article
**R 2.8.0 の cor 関数での特定条件下のバグ [#hfee5fe1]
>[[青木繁伸]] (2008-12-07 (日) 12:43:40)~
~
cor 関数については,遙か昔に「欠損値を含むデータにおいて...
"everything", "all.obs", "complete.obs", "na.or.complete"...
この追加にさいして,またバグが持ち込まれた。~
問題が生じるのは,確認した範囲では use="complete.obs" で ...
現状は以下の通り。
wrong result ----- BUG in R 2.8.0
> cor(airquality[1:4], use="complete.obs", method="spear...
Ozone Solar.R Wind Temp
Ozone 1.0000000 0.35846998 -0.60797155 0.7807127
Solar.R 0.3584700 1.00000000 -0.07022037 0.2157419
Wind -0.6079715 -0.07022037 1.00000000 -0.5034014
Temp 0.7807127 0.21574193 -0.50340142 1.0000000
この結果は,間違いである。use="complete.obs" は要するに,...
> cor(na.omit(airquality[1:4]), use="complete.obs", meth...
Ozone Solar.R Wind Temp
Ozone 1.0000000 0.34818647 -0.60513642 0.7729319
Solar.R 0.3481865 1.00000000 -0.06169636 0.2095369
Wind -0.6051364 -0.06169636 1.00000000 -0.4993228
Temp 0.7729319 0.20953692 -0.49932278 1.0000000
食い違いのある結果のいずれが正しいかを検証するには,たと...
> a <- subset(airquality[1:4], complete.cases(airquality...
> cor.test(a[,1], a[,4], method="spearman")
Spearman's rank correlation rho
data: a[, 1] and a[, 4]
S = 51753.35, p-value < 2.2e-16
alternative hypothesis: true rho is not equal to 0
sample estimates:
rho
0.772932
さて,では現在の cor 関数のどこがまずく,どのように直せば...
else if (na.method != 3L) {
Rank <- function(u) {
if (length(u) == 0L)
u
else if (is.matrix(u))
apply(u, 2L, rank, na.last = "keep")
else rank(u, na.last = "keep")
}
### begin ###
# for 'use = "complete.obs"', add two lines below
if (na.method == 2L)
x <- na.omit(x)
### end ###
x <- Rank(x)
if (!is.null(y))
y <- Rank(y)
.Internal(cor(x, y, na.method, method == "kendal...
}
この修正後は,以下のように正しい結果が得られる。
> cor(airquality[1:4], use="complete.obs", method="spear...
Ozone Solar.R Wind Temp
Ozone 1.0000000 0.34818647 -0.60513642 0.7729319
Solar.R 0.3481865 1.00000000 -0.06169636 0.2095369
Wind -0.6051364 -0.06169636 1.00000000 -0.4993228
Temp 0.7729319 0.20953692 -0.49932278 1.0000000
なお,method="kendall" のときには問題が生じないようである...
また,use="complete.obs" 以外についても,未検討である。~
//
- ずっとフォローしてなかったけど,R 2.13.0 では直っていた...
#comment
**SSPIR カルマンフィルタについて [#g6ccb04e]
>[[なるほど]] (2006-12-11 (月) 10:14:44)~
~
初めて投稿させていただきます。よろしくお願いします。~
RのパッケージであるSSPIRを用いて, カルマンフィルタと拡張...
ご教示下さい。~
//
-改めて,上の方に書いてあることを読んでみましたが,ここっ...
#comment
**KalmanLikeの引数のmodについて [#w3496cf7]
>[[hina]] (2005-06-03 (金) 21:55:59)~
~
1変量の時系列データにカルマンフィルタをかけるために、Kal...
helpや論文を調べてみたのですが、具体的な例が見つかりませ...
ご教示下さい。~
//
-ヘルプにはこの関数で扱う状態空間モデルが次のように書かれ...
'a <- T a + R e', e ~ N(0, kappa Q) システムモデル
'y = Z'a + eta', eta ~ N(0, kappa h) 観測モデル
従ってmodではこれらのモデルの係数類(h以外はベクトルか行...
ヘルプの以下の方でこれらの個々のパラメータの説明が書かれ...
これらの記号は上のモデルの記号と対応しています。(T,Z,h,R,...
状態'a'の次元をpとすると、~
'T' 状態遷移行列(p×p)
'Z' 観測係数ベクトル(p×1)
'h' 観測ノイズの分散
'V' RQR'(p×p)
'a' 状態の初期値(p×1) a[0|0]
'P' 状態の初期分散共分散行列(p×p) P[0|0]
'Pn' P[t|t-1] フィルタリングで使用されることになるPです...
nit=0の場合は最初の1回だけ使われて、以降は普通に更新さ...
余談ですがこのモデルではZが固定(時変でない)なのがかなり...
-help にはこの関数は StructTS 等の他の関数から呼ばれるこ...
#comment
**round関数 合ってますか? [#v8aea385]
>[[Uwamy@mpc]] (2005-06-02 (木) 11:33:35)~
~
先日JIS,ISO式四捨五入を読み参考にしました。~
しかしながら 12.95を小数第一位で丸めたいと思っていますが...
round(12.95,1)の結果は12.9となります。(正解は13.0のはず)~
これってRのBUG?~
なおR2.1.0を使いました~
//
-バグなどではありません。~
「コンピュータ上に保持される実数は(整数や小数部が2^(-n)...
round(12.95+1e-15, 1)
を試してみましょう。 -- [[青木繁伸]] &new{2005-06-02 (木)...
-近似値であると言うことは,
sum(rep(12.95,100))
options(digits=22)
sum(rep(12.95,100))
などを実行してみましょう.近似値自体の丸め処理もIEEEに基づ...
roundされたものにroundして値がおかしいと言われても困る訳...
近似値にならないように,
round(12.95*10^2,1-2)
みたいな方法でもいいのかも.
あと、ここはパッチを作成するなりして本家に報告せねばなら...
恐ろしい場所なのですが...:-P -- [[なかま]] &new{2005-06-0...
#comment
**Excelのデータ読み込みでエラー(例です) [#ue8a9ed0]
>[[R初心者]] (2004-09-27 (月) 22:40:36)~
~
ExcelのデータをCSVに変換して読み込みを行った所,~
"hoge","foo","bar\nboo" # \nは実際の改行コード
1,2,3
4,5,6
> read.csv("a.csv")
hoge foo bar.boo
1 boo\n1,2,3\n4,5,6\n NA NA
などとなってしまいます。セル内改行を除けば正常に読み込め...
read.csv->read.table->scanと呼ばれていますが,Quoteに対す...
Excelにおけるセル内改行してあるようなデータを正確に読む方...
//
-scan.cにおけるデリミタの処理を適切に処理するようハックし...
-週末ハックします。 -- [[R初心者]] &new{2004-09-27 (月) 2...
#comment
----
終了行:
COLOR(green){SIZE(20){上級者のための R および RjpWiki に...
COLOR(blue){注意}:新規記事用の入力欄は以下の目次の直後に...
ここでは、甘えは一切許されません。必ずサマリーページ(もし...
初心者の方でも投稿は構いませんが
- 調べた物
- 参考にした物
- 問題のソース
- 結果のソース
- [[google などの検索エンジン:http://www.google.co.jp]] ...
- 最後に重要なのは該当のソースコードも確認済みであること...
恐がる必要はありません。答える以上、それがまとまった情報...
----
#contents
~
----
#article
**R 2.8.0 の cor 関数での特定条件下のバグ [#hfee5fe1]
>[[青木繁伸]] (2008-12-07 (日) 12:43:40)~
~
cor 関数については,遙か昔に「欠損値を含むデータにおいて...
"everything", "all.obs", "complete.obs", "na.or.complete"...
この追加にさいして,またバグが持ち込まれた。~
問題が生じるのは,確認した範囲では use="complete.obs" で ...
現状は以下の通り。
wrong result ----- BUG in R 2.8.0
> cor(airquality[1:4], use="complete.obs", method="spear...
Ozone Solar.R Wind Temp
Ozone 1.0000000 0.35846998 -0.60797155 0.7807127
Solar.R 0.3584700 1.00000000 -0.07022037 0.2157419
Wind -0.6079715 -0.07022037 1.00000000 -0.5034014
Temp 0.7807127 0.21574193 -0.50340142 1.0000000
この結果は,間違いである。use="complete.obs" は要するに,...
> cor(na.omit(airquality[1:4]), use="complete.obs", meth...
Ozone Solar.R Wind Temp
Ozone 1.0000000 0.34818647 -0.60513642 0.7729319
Solar.R 0.3481865 1.00000000 -0.06169636 0.2095369
Wind -0.6051364 -0.06169636 1.00000000 -0.4993228
Temp 0.7729319 0.20953692 -0.49932278 1.0000000
食い違いのある結果のいずれが正しいかを検証するには,たと...
> a <- subset(airquality[1:4], complete.cases(airquality...
> cor.test(a[,1], a[,4], method="spearman")
Spearman's rank correlation rho
data: a[, 1] and a[, 4]
S = 51753.35, p-value < 2.2e-16
alternative hypothesis: true rho is not equal to 0
sample estimates:
rho
0.772932
さて,では現在の cor 関数のどこがまずく,どのように直せば...
else if (na.method != 3L) {
Rank <- function(u) {
if (length(u) == 0L)
u
else if (is.matrix(u))
apply(u, 2L, rank, na.last = "keep")
else rank(u, na.last = "keep")
}
### begin ###
# for 'use = "complete.obs"', add two lines below
if (na.method == 2L)
x <- na.omit(x)
### end ###
x <- Rank(x)
if (!is.null(y))
y <- Rank(y)
.Internal(cor(x, y, na.method, method == "kendal...
}
この修正後は,以下のように正しい結果が得られる。
> cor(airquality[1:4], use="complete.obs", method="spear...
Ozone Solar.R Wind Temp
Ozone 1.0000000 0.34818647 -0.60513642 0.7729319
Solar.R 0.3481865 1.00000000 -0.06169636 0.2095369
Wind -0.6051364 -0.06169636 1.00000000 -0.4993228
Temp 0.7729319 0.20953692 -0.49932278 1.0000000
なお,method="kendall" のときには問題が生じないようである...
また,use="complete.obs" 以外についても,未検討である。~
//
- ずっとフォローしてなかったけど,R 2.13.0 では直っていた...
#comment
**SSPIR カルマンフィルタについて [#g6ccb04e]
>[[なるほど]] (2006-12-11 (月) 10:14:44)~
~
初めて投稿させていただきます。よろしくお願いします。~
RのパッケージであるSSPIRを用いて, カルマンフィルタと拡張...
ご教示下さい。~
//
-改めて,上の方に書いてあることを読んでみましたが,ここっ...
#comment
**KalmanLikeの引数のmodについて [#w3496cf7]
>[[hina]] (2005-06-03 (金) 21:55:59)~
~
1変量の時系列データにカルマンフィルタをかけるために、Kal...
helpや論文を調べてみたのですが、具体的な例が見つかりませ...
ご教示下さい。~
//
-ヘルプにはこの関数で扱う状態空間モデルが次のように書かれ...
'a <- T a + R e', e ~ N(0, kappa Q) システムモデル
'y = Z'a + eta', eta ~ N(0, kappa h) 観測モデル
従ってmodではこれらのモデルの係数類(h以外はベクトルか行...
ヘルプの以下の方でこれらの個々のパラメータの説明が書かれ...
これらの記号は上のモデルの記号と対応しています。(T,Z,h,R,...
状態'a'の次元をpとすると、~
'T' 状態遷移行列(p×p)
'Z' 観測係数ベクトル(p×1)
'h' 観測ノイズの分散
'V' RQR'(p×p)
'a' 状態の初期値(p×1) a[0|0]
'P' 状態の初期分散共分散行列(p×p) P[0|0]
'Pn' P[t|t-1] フィルタリングで使用されることになるPです...
nit=0の場合は最初の1回だけ使われて、以降は普通に更新さ...
余談ですがこのモデルではZが固定(時変でない)なのがかなり...
-help にはこの関数は StructTS 等の他の関数から呼ばれるこ...
#comment
**round関数 合ってますか? [#v8aea385]
>[[Uwamy@mpc]] (2005-06-02 (木) 11:33:35)~
~
先日JIS,ISO式四捨五入を読み参考にしました。~
しかしながら 12.95を小数第一位で丸めたいと思っていますが...
round(12.95,1)の結果は12.9となります。(正解は13.0のはず)~
これってRのBUG?~
なおR2.1.0を使いました~
//
-バグなどではありません。~
「コンピュータ上に保持される実数は(整数や小数部が2^(-n)...
round(12.95+1e-15, 1)
を試してみましょう。 -- [[青木繁伸]] &new{2005-06-02 (木)...
-近似値であると言うことは,
sum(rep(12.95,100))
options(digits=22)
sum(rep(12.95,100))
などを実行してみましょう.近似値自体の丸め処理もIEEEに基づ...
roundされたものにroundして値がおかしいと言われても困る訳...
近似値にならないように,
round(12.95*10^2,1-2)
みたいな方法でもいいのかも.
あと、ここはパッチを作成するなりして本家に報告せねばなら...
恐ろしい場所なのですが...:-P -- [[なかま]] &new{2005-06-0...
#comment
**Excelのデータ読み込みでエラー(例です) [#ue8a9ed0]
>[[R初心者]] (2004-09-27 (月) 22:40:36)~
~
ExcelのデータをCSVに変換して読み込みを行った所,~
"hoge","foo","bar\nboo" # \nは実際の改行コード
1,2,3
4,5,6
> read.csv("a.csv")
hoge foo bar.boo
1 boo\n1,2,3\n4,5,6\n NA NA
などとなってしまいます。セル内改行を除けば正常に読み込め...
read.csv->read.table->scanと呼ばれていますが,Quoteに対す...
Excelにおけるセル内改行してあるようなデータを正確に読む方...
//
-scan.cにおけるデリミタの処理を適切に処理するようハックし...
-週末ハックします。 -- [[R初心者]] &new{2004-09-27 (月) 2...
#comment
----
ページ名: