質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
RStudio

RStudioは、Rのプログラミングを効率化する統合開発環境です。統計計算とグラフィックスができるプログラミング言語であるRのIDEでOSSで公開されています。ソースコードやコンソールなどが一つの画面に見やすく配置されている点が特徴。コマンド名以外に、関数名やパッケージ名も補完できます。

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

解決済

2回答

187閲覧

Rの相関分析の結果をリストのようにまとめたい

Nakano_Akito

総合スコア10

RStudio

RStudioは、Rのプログラミングを効率化する統合開発環境です。統計計算とグラフィックスができるプログラミング言語であるRのIDEでOSSで公開されています。ソースコードやコンソールなどが一つの画面に見やすく配置されている点が特徴。コマンド名以外に、関数名やパッケージ名も補完できます。

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

0クリップ

投稿2023/11/15 08:11

実現したいこと

ここに実現したいことを箇条書きで書いてください。

  • Rで相関分析の結果(cor.testの結果)をリストのようにまとめたい

前提

複数組のカラムについてcor.testによる相関分析をするために、whileループを回して相関分析の結果を一つの変数に格納しようとしています。
相関分析の手法については以下の通りです。
cor.result1[loopcounter]<-cor.test(rank(corData1),rank(corData2),method = "pearson")
上のコードを実行した後、cor.result1とコンソールに入力するとすべての分析結果が表示されるようにしたいです。
分析結果はt値、p値、信頼区間を取得したいと考えています。

発生している問題・エラーメッセージ

t値しか取得できない。

エラーメッセージ

該当のソースコード

R

1#data(softの番号(前工程でsoft_1のみにしてある),・・・,Q2,・・・,Q5_1,Q5_2,Q5_3) 2column_number2<-2 3#Q5_1の列の番号 4loopcounter<-1 5cor.result1<-list() 6corData1<-data.soft1$Q2 7seiki_soft_1_Q2<-shapiro.test(corData1) 8seiki_soft_1_Q5<-list() 9while(loopcounter < 4){ 10 corData2<-data.soft1[,column_number2] 11 seiki_soft_1_Q5[loopcounter]<-shapiro.test(corData2) 12 cor.result1[loopcounter]<-cor.test(rank(corData1),rank(corData2),method = "pearson") 13 loopcounter<-loopcounter +1 14 column_number2<-column_number2 + 1 15}

試したこと

cor.result1をc()で定義した(おそらくvector型)

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

lapply を使うのもよいかと思います。

R

1data.soft1 <- data.frame(Q2 = rnorm(50), Q5_1 = rnorm(50), Q5_2 = rpois(50, 2), Q5_3 = runif(50)) 2 3corData1 <- data.soft1$Q2 4cor.result1 <- lapply(2:4, function(i) { cor.test(rank(corData1), rank(data.soft1[,i]), method = "pearson")}) 5 6cor.result1

投稿2023/11/15 10:17

melian

総合スコア19825

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Nakano_Akito

2023/11/16 01:27

データセットも用意しない状態でお聞きしてしまい、本当に申し訳ございません。 上記のコードを実装したところ、思い通りの結果が出てきました。 ありがとうございました!
guest

0

R

1cor.result1[loopcounter]<-cor.test(rank(corData1),rank(corData2),method = "pearson")

警告メッセージが出ていませんでしたか?
この行を次のように書き換える必要があると思います。

R

1cor.result1[[loopcounter]]<-cor.test(rank(corData1),rank(corData2),method = "pearson")

投稿2023/11/15 09:40

KojiDoi

総合スコア13671

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問