裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

微妙に危うい統計学ページ

2024年01月16日 | R

この作者のページは,微妙に危ういところが多い。
コメントを付ける手立てがない(ような)ので,ここで指摘する。

【回帰分析】単回帰モデル⑥ Rを利用した分析
https://df-learning.com/regression_model_6

Windows プラットフォームのようで,ファイルを読み込むのに

> #データを読みこむ
> data <- read.csv("D:\\data1.csv")

としているが,"D:/data1.csv" で読み込めるのではないかな?

R スクリプトであるが,注釈行や区切り記号の前後に適切に空白を置くことをおすすめする

> #単回帰モデルの実行
> res=lm(y~x)

以下のように

# 単回帰モデルの実行
res = lm(y ~ x)

> 単回帰直線は𝑦=β1𝑥+β0

β1, β0 は母数で,推定されたのは推定値なので b1, b0 などと書くほうが妥当。

> Prが検定統計量tより大きくなる確率を表している。
> 𝐻0:β0=0と仮定したとき
> 𝐵̂ 0=8.23以下になる確率は0.082
> 𝐻1:β1=0と仮定したとき
> 𝐵̂ 0=0.01以上になる確率は0.00253

これらはすべて誤り。特に H0, H1 の使い方は常軌を逸している。
H0 は帰無仮説,H1 は対立仮説を表す。添字は帰無仮説の順番を表すの
ではない。

> 𝐻0:β0=0と仮定したとき
> b0=8.23「よりも極端な値を取る」確率は0.082

> 𝐻0:β1=0と仮定したとき
> b0=0.01「よりも極端な値を取る」確率は0.00253

> β0は . なので有意水準0.1つまり10%で有意である

「10%有意」などというのは使わないほうがよい。

> 特性値yと焼成温度xの関係性はないとは否定できない

二重否定をするのは,「帰無仮説を棄却できるとは言えない」というとき。

特性値yと焼成温度xの関係性はない(帰無仮説が棄却される場合)

特性値yと焼成温度xの関係性はないとはいえない(二重否定。帰無仮説を棄却できない場合)

どなたか,件のページ(作者)に直接コメントする手立てをご存じの方は教えてください。

 

コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Windowsで「RとRStudioをGUIで簡単にインストールする」方法

2023年11月23日 | R

ChatGPT

WindowsでRとRStudioをGUIで簡単にインストールする方法は以下の通りです。

1. Rのインストール

まず、Rをインストールします。

  • R 公式ウェブサイト: https://cran.r-project.org/mirrors.html
    • ウェブサイトにアクセスし、ページ中央部の「Download and Install R」セクションから最新のRをダウンロードします。
    • ダウンロードが完了したら、ダウンロードした .exe ファイルを実行してRをインストールします。

2. RStudioのインストール

次に、RStudioをインストールします。

  • RStudio 公式ウェブサイト: https://www.rstudio.com/products/rstudio/download/
    • ウェブサイトにアクセスし、ページ中央部の「RStudio Desktop」セクションから最新のRStudioをダウンロードします。
    • ダウンロードが完了したら、.exeファイルを実行してRStudioをインストールします。

### 注意事項

  • インストールの際には、インストーラーが表示する指示に従って進めてください。
  • インストールが完了したら、RとRStudioを起動して正しく動作するか確認してください。

以上で、GUIを使用して簡単にRとRStudioをWindowsにインストールすることができます。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

R : Nightly builds

2022年10月25日 | R

運用は自己責任で

R : Nightly builds

Mac は https://mac.r-project.org/

Windows は https://cran.r-project.org/bin/windows/base/R-devel-win.exe

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Windows 11 で RStudio を使うとき...

2022年10月25日 | R

新しい Windows マシンを使えるようにしているのだがいろいろトラブルが発生する。

その一つに、R の立ち上げにはなんの問題もないのに、RStudio の立ち上げ時に以下の警告メッセージが出るというのに気づいた。オープニングの最初に出るので、狭い R コンソールからはみ出して、気づくのが遅れた。なんてこった。

Warning message:
In normalizePath(path.expand(path), winslash, mustWork) :
  path[1]="C:/Users/user/OneDrive/??????": ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。

同じのが 4 連続でしかも赤字で出てくるので、目障りっで仕方ない。しかも、後々ひょっこりまた出たりする。

"C:/Users/user/OneDrive/??????" の "??????" は "ドキュメント" が化けているようだ。

RStudio が使用する環境変数、HOME, R_USER がここを指しているため警告が出るようだ。
R で警告が出ないのは、R はそのような環境変数を使用しないため。

この警告についてインターネットを検索すると、「ユーザ名を日本語でつけているからだよ!」とか「 RStudio(R も)を途中に日本語を含むパスにインストールしたからだよ!」とかある。それはもっともではあるが、それが直接警告メッセージが出る真の原因ではない。
ひどいのになると「C:/Program Files にインストールするのはやめよう!!」とか、とんでもない言いがかりもある。これも、他のディレクトリにインストールしても、警告メッセージが出るという状況は変わらない。

特徴的なのは、多くの海外のユーザも(英語で書かれているので)上のメッセージの解消法を求めて質問や投稿をしているということであり、日本語が真の原因ではないということを示唆しているように思う。

以下に解決法をまとめた。

1. R および RStudio はデフォルトで Program Files にインストールする。

C:/Program Files/R/R-4.2.1
C:/Program Files/RStudio

2. C:/ 直下に(Program Files ディレクトリと同じ階層に)RSTUDIO というディレクトリを作り、更にその中に HOME、R_USER の2つのディレクトリを作成する

3. 環境変数の追加・編集をするが、GUI でやろうとすると、まあ面倒くさい。

「スタート」-->「設定」-->「システムの詳細設定」-->「環境変数」で出てくるウインドウの「システム環境変数」の「新規」で変数名にHOME、「ディレクトリの参照」で C:\RSTUDIO\HOME ディレクトリを選択し「変数値」枠に指定ディレクトリが入ったのを確認して「OK」

R_USER についても同じようにして設定

この記事を書く前に、GUI ではなく、Winows PowerShell で環境変数を設定する方法についてやってみていたが、Windows PowerShell での環境変数の設定は一時的なもののようであり、上述のやり方でなければ恒久的な設定にはならないようだ。注意が必要!!

Windows って、やはり、やだなあ...

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

R で SymPy --- その実態は caracas

2022年10月15日 | R

caracas: Computer algebra in R

R で SymPy を使うには,rSympPy パッケージというのがあるようなのだが,現在はメンテナンスされていないのか,install.packages() でインストールすることすらできない。

代わりに,caracas というパッケージがある。名前には SymPy を伺わせるものはないが,確かに R から Python の SymPy を使うことになっているようだ。ただ,若干クセがあったり,エクスポートされていない機能があるのが残念だ。

他の SymPy が使えるならそれを使えばよいが,R しか知らないという場合には caracas を使うのも一法であろう。

1. インストール

install.packages("caracas")

前提条件として SymPy がインストールされていること。もしインストールされていない場合は以下でインストールできる。

if (!caracas::has_sympy()) {
 caracas::install_sympy() 
}

Python の環境設定

library(reticulate) Python の環境設定

使ってみよう!!

library(caracas)
sympy_version()

   [1] ‘1.11.1’

x = symbol('x')
eq = 2*x^2 - x
eq

   [caracas]:    2    
              2⋅x  - x

as.character(eq) # 式を文字列に変換する(R へエクスポート)

   '2*x^2 - x'

as_expr(eq) # 式を expression に変換する

   expression(2 * x^2 - x)

tex(eq) # LaTeX にエクスポートする

'2 x^{2} - x'

solve_sys(eq, x) # eq = 0 を x について解く

   Solution 1:
     x =  0 
   Solution 2:
     x =  1/2 

der(eq, x) # eq を x で微分する

   [caracas]: 4⋅x - 1

subs(eq, x, "y") # eq の x に y を代入

   [caracas]:    2    
              2⋅y  - y

A = matrix(c("x", 2, 0, "2*x"), 2, 2)
B = as_sym(A) # SymPy の行列に変換する
B

   [caracas]: ⎡x   0 ⎤
              ⎢      ⎥
              ⎣2  2⋅x⎦

Binv = inv(B) # 逆行列を求める
Binv

   [caracas]: ⎡ 1      ⎤
              ⎢ ─    0 ⎥
              ⎢ x      ⎥
              ⎢        ⎥
              ⎢-1    1 ⎥
              ⎢───  ───⎥
              ⎢  2  2⋅x⎥
              ⎣ x      ⎦

tex(Binv) # LaTeX 形式で出力する

'\\left[\\begin{matrix}\\frac{1}{x} &amp; 0\\\\- \\frac{1}{x^{2}} &amp; \\frac{1}{2 x}\\end{matrix}\\right]'

上の文字列を LaTeX で出力する。環境により若干の修正が必要になることもある。

$$
\left[\begin{matrix}\frac{1}{x} & 0\\ - \frac{1}{x^{2}} & \frac{1}{2 x}\end{matrix}\right]
$$

eigenval(Binv) # 固有値

   [[1]]
   [[1]]$eigval
   [caracas]: 1
              ─
              x

   [[1]]$eigmult
   [1] 1

   [[2]]
   [[2]]$eigval
   [caracas]:  1 
              ───
              2⋅x

   [[2]]$eigmult
   [1] 1

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

大学入試問題を R/caracas で解く

2022年10月15日 | R

大学入試問題を SymPy で解く を,R の caracas で解いてみる
https://blog.goo.ne.jp/r-de-r/e/e9ae65b5a4f4f53f0f51a9fc1a5ceb5a

library(caracas);

1. 22092501剰余の定理22京都産業大

x = symbol("x")
a = symbol("a")
b = symbol("b")
c = symbol("c")
f = symbol("f")
g = symbol("g")

f = x^11 + 1
g = a*x + b

solve_sys(rbind(subs(g, x, -1L) - subs(f, x, -1L), subs(g, x, 1L) - subs(f, x, 1L)), list(a, b))

   Solution 1:
     a =  1 
     b =  1 

2. 22082401定積分01芝浦工業大

a = symbol("a")
b = symbol("b")
c = symbol("c")
x = symbol("x")
k = symbol("k")
f = symbol("f")

expr = x^3 + a*x^2 +b*x + c

i = int(expr, x, k, k+1)

ans = solve_sys(i - k^3, list(a, b, c))
ans

   Solution 1:
     a =  -3/2 
     b =  1/2 
     c =  0 

f = subs_lst(expr, list(a = ans[[1]]$a, b = ans[[1]]$b, c = ans[[1]]$c))
f

   [caracas]:         2    
               3   3⋅x    x
              x  - ──── + ─
                    2     2

または

f = subs_vec(expr, as_sym(c("a", "b", "c")), unlist(ans))
f

   [caracas]:         2    
               3   3⋅x    x
              x  - ──── + ─
                    2     2

n = symbol("n")
int(f, x, 1, n+1) %>% simplify

   [caracas]:  2 ⎛ 2          ⎞
              n ⋅⎝n  + 2⋅n + 1⎠
              ─────────────────
                      4

sum_(x^3, x, 1, n) %>% simplify

   [caracas]:  2 ⎛ 2          ⎞
              n ⋅⎝n  + 2⋅n + 1⎠
              ─────────────────
                      4

cracas には factor がないので,きれいな形にできない。直接 sympy の factor を呼ぶ。

sympy = get_sympy()

sympy$factor(int(f, x, 1, n+1))

   {pyobj: n**2*(n + 1)**2/4}

sympy$factor(sum_(x^3, x, 1, n))

   '{pyobj: n**2*(n + 1)**2/4}'

n**2*(n + 1)**2/4

   [caracas]:  2        2
              n ⋅(n + 1) 
              ───────────
                   4

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ダメ出し:日付の等差数列 (*^^*)

2022年06月05日 | R

「2020年1月から2022年5月まで、連続の月次データを生成する」ということで,持って回ったプログラムが紹介されている。

library(tidyverse)
library(lubridate) 

year_month <- seq(as.Date("2020-01-01"), as.Date("2022-05-01"),by="1 day") %>% floor_date(unit="months") %>% unique()

seq(as.Date("2020-01-01"), as.Date("2022-05-01"), by="1 month")

で十分だし,

seq(as.Date("2020-01-01"), as.Date("2022-05-01"), by="1 week")
seq(as.Date("2020-01-01"), as.Date("2022-05-01"), by="1 quarter")
seq(as.Date("2020-01-01"), as.Date("2022-05-01"), by="2 week)
seq(as.Date("2020-01-01"), as.Date("2022-05-01"), by="5 day")

などなど,なんでもありなんだけどなあ

today <- Sys.Date()
seq(today, length.out=10, by="1 week")

なんてこともできる。

「オンラインヘルプを見よ!」と言われても,? seq じゃあ出て来ない。? Date でヒントが得られる。まあ,そういうもんだろうけど。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Mac OS の R のオープニングメッセージ

2022年04月26日 | R

あれは,いつ頃からだったんだろうか...

R のオープニングメッセージが英語になって

Natural language support but running in an English locale

というのが表示されている。エラーメッセージも英語になっている。

いいのだけど。

でも,長い間慣れ親しんだ日本語のオープニングメッセージが懐かしい。

ならば,ターミナルのコマンドラインで

defaults write org.R-project.R force.LANG ja_JP.UTF-8

とする。オープニングメッセージだけでなくエラーメッセージも日本語になる。

英語に戻すには,ターミナルのコマンドラインで

defaults write org.R-project.R force.LANG en_US.UTF-8

とする。

ちなみに,おフランス語なら

defaults write org.R-project.R force.LANG fr_FR.UTF-8

使用可能なロケールhttps://docs.oracle.com/cd/E26924_01/html/E27144/glset.html

 

### 

R のセッション中で一時的に英語にしたり日本語にしたりが必要ならば,

Sys.setenv(LANG = "en_US.UTF-8")
Sys.setenv(LANG = "ja_JP.UTF-8")

する。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村