🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

R

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

Q&A

1回答

3422閲覧

Rの実行結果が全て「NA」になってしまうことについて

Keita222

総合スコア8

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

R

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

0グッド

0クリップ

投稿2019/12/20 02:02

編集2019/12/22 05:07

前提・実現したいこと

下記のコードにあるように、Rの実行結果が全て「NA」になってしまいます。

r < as.vector(cor(rowSums(u2, na.rm = T), u2))や
t0[,1] <- 1.7*r/sqrt(1-r^2)や
t0[,2] <- qnorm(p,0,1,lower.tail=FALSE)/r
の部分などが問題だと思われますが、どうすれば結果がNAと表示されず、数値で表示されるようになりますか?

読み込むファイルの中身を分かりやすく表すと、

(header) 投手の名前 投手の名前 投手の名前 …
打者のID    0.0         0.3333333
打者のID          0.5    0.0
打者のID    0.0

というような構造になっています。

追記
rowSums(u2,na.rm=T)からas.vector(cor(rowSums(u2, na.rm = T), u2))の式に持っていくにはどうすればいいですか?
cor(rowSums(u2, na.rm = T), u2)とやるとエラーが出てしまう。

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

r < as.vector(cor(rowSums(u2, na.rm = T), u2)) で:  長いオブジェクトの長さが短いオブジェクトの長さの倍数になっていません t0[, 1] <- 1.7 * r/sqrt(1 - r^2) でエラー: 置き換えるべき項目数が、置き換える数の倍数ではありませんでした qnorm(p, 0, 1, lower.tail = FALSE)/r で: 長いオブジェクトの長さが短いオブジェクトの長さの倍数になっていません

該当のソースコード

> u <- read.csv("2018ALLdatasetAVG.csv",header=FALSE,stringsAsFactors=F) > head(u) V1 V2 V3 V4 V5 1 J.C. Ramirez Mike Clevinger Jose Alvarez Tyler Olson 2 lindf001 0.0 3 kipnj001 0.0 0.0 4 ramij003 0.0 5 cozaz001 0.3333333333333333 6 troum001 0.0 V6 V7 V8 V9 V10 1 Luke Bard Nick Goody Noe Ramirez Zach McAllister Matt Belisle 2 0.5 0.0 0.5 3 0.0 0.0 0.6666666666666666 4 0.0 1.0 0.5 5 0.0 1.0 0.0 6 0.0 0.0 V11 V12 V13 V14 V15 V16 1 Garrett Richards Josh Tomlin Dan Otero Jim Johnson Blake Parker Blake Wood 2 0.0 0.0 0.5 0.0 3 0.0 0.0 0.0 4 0.5 0.0 0.0 0.0 5 0.0 0.0 6 0.5 0.0 V17 V18 V19 V20 1 Tyler Skaggs Corey Kluber Cam Bedrosian Keynan Middleton 2 0.6666666666666666 0.0 3 0.5 1.0 0.0 4 0.0 0.0 5 0.0 6 0.0 V21 V22 V23 V24 1 Andrew Miller Cody Allen Parker Bridwell Daniel Gossett 2 3 4 5 0.0 0.6666666666666666 6 0.0 0.0 …続く > dim(u) [1] 972 779 > u2 <- data.frame(lapply(u[-1,-1], as.numeric)) > (r < as.vector(cor(rowSums(u2,na.rm=T),u2))) [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [25] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [49] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [73] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [97] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [121] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [145] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [169] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [193] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [217] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [241] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [265] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [289] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [313] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [337] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [361] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [385] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [409] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [433] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [457] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [481] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [505] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [529] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [553] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [577] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [601] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [625] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [649] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [673] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [697] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [721] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [745] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [769] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [793] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [817] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [841] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [865] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [889] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [913] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [937] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [961] NA NA NA NA NA NA NA NA NA NA NA 警告メッセージ: r < as.vector(cor(rowSums(u2, na.rm = T), u2)) で: 長いオブジェクトの長さが短いオブジェクトの長さの倍数になっていません > (p <- colMeans(u2,na.rm=T)) V2 V3 V4 V5 V6 V7 V8 0.26666667 0.22267406 0.23244949 0.27131783 0.22727273 0.32608696 0.25532688 V9 V10 V11 V12 V13 V14 V15 0.30707071 0.38522013 0.22707231 0.30145985 0.30644172 0.26620047 0.26079422 V16 V17 V18 V19 V20 V21 V22 0.18452381 0.28020430 0.22599056 0.24846830 0.27551020 0.25457875 0.22519841 V23 V24 V25 V26 V27 V28 V29 0.43750000 0.29054054 0.17689003 0.25712834 0.22674419 0.17335869 0.20932540 V30 V31 V32 V33 V34 V35 V36 0.23210784 0.28616352 0.24726027 0.31966667 0.27525253 0.28333333 0.30343137 …続く 0.19444444 > ni <- nrow(u2) > nj <- ncol(u2) > t0 <- matrix(nrow=nj,ncol=2) > t0[,1] <- 1.7*r/sqrt(1-r^2) t0[, 1] <- 1.7 * r/sqrt(1 - r^2) でエラー: 置き換えるべき項目数が、置き換える数の倍数ではありませんでした 追加情報: 警告メッセージ: sqrt(1 - r^2) で: 計算結果が NaN になりました > t0[,2] <- qnorm(p,0,1,lower.tail=FALSE)/r t0[, 2] <- qnorm(p, 0, 1, lower.tail = FALSE)/r でエラー: 置き換えるべき項目数が、置き換える数の倍数ではありませんでした 追加情報: 警告メッセージ: qnorm(p, 0, 1, lower.tail = FALSE)/r で: 長いオブジェクトの長さが短いオブジェクトの長さの倍数になっていません > t0 [,1] [,2] [1,] NA NA [2,] NA NA [3,] NA NA [4,] NA NA [5,] NA NA [6,] NA NA [7,] NA NA [8,] NA NA [9,] NA NA [10,] NA NA …続く [778,] NA NA

試したこと

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

Rのバージョンは3.5.1

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

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

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

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

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

guest

回答1

0

as.vector(cor(rowSums(u2,na.rm=T),u2))

こう云う複雑な式を複雑なまま眺めていても解決は難しいですよ。

x <- rowSums(u2, na.rm=T) str(x)

この結果は期待通りに出来ていますか?

投稿2019/12/20 06:15

KojiDoi

総合スコア13692

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

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

Keita222

2019/12/20 08:39

rowSums(u2, na,rm=T)の方はできるんですよね…。 問題はここからどうするかというところですね。
KojiDoi

2019/12/21 12:26

ではcorは? 問題を切り分けてひとつづつ解決していくしかないのに、そのステップが正しく踏まれているように見えないのですが。
Keita222

2019/12/22 03:40

colですね。 こちらも出ます。 そこで、 > (r <- col(rowSums(u2,na.rm=T),u2)) if (as.factor) { でエラー: 引数が論理変数として解釈することができません 追加情報: 警告メッセージ: if (as.factor) { で: 条件が長さが 2 以上なので、最初の 1 つだけが使われます とやりましたところ、このようなエラーが出ました。
KojiDoi

2019/12/22 06:36

colじゃなくてcorでしょ?
Keita222

2019/12/22 06:56

すいません、corでした。 > (r <- cor(rowSums(u2,na.rm=T),u2)) とやりましたところ、全てNAになりました…。 やはり無理なんでしょうかね…。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問