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

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

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

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

Q&A

0回答

2413閲覧

R分類木で”non-numeric argument to binary operator” エラー

kotoraemon

総合スコア21

R

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

0グッド

0クリップ

投稿2019/04/11 05:10

Rでrpartパッケージのtree()を使い、分類木を描こうとしています。
下記のコードで、class、class2には全く同じ値、"NO", "SL", "DH"が入っているはずなのですが、
classの分類では発生しないエラーが、class2の分類では発生します。
どこがおかしいのでしょうか?よろしくお願いいたします。

(背景:当初はclass2で、"NO"を"normal" 、"SL""DH"を"unnormal"と書き換え、二項分類を試みました。ここで"non-numeric argument to binary operator”エラーが発生したため、まったく同じ値ならどうなるのか?と思い、上記のようなclass2で試したところやはり同じエラーが出ました)

R

1library(dplyr) 2library(tree) 3rm(list = ls()) 4vercl =read.table("vertebralcolumn.dat",header = TRUE) 5 6vercol =mutate(vercl, class2 = if_else(condition = class=="NO", 7 true = "NO", false = 8 (if_else(condition = class=="SL", true = "SL", false ="DH")))) 9 10t1 <- tree(class ~ pelvInc+pelvTilt+lumbLord+SacrSl+pelvRad+degrS, 11 data = vercol ) 12t2 <- tree(class2 ~ pelvInc+pelvTilt+lumbLord+SacrSl+pelvRad+degrS, 13 data = vercol)

t1 は動きます。

R

1> summary(t1) 2 3Classification tree: 4tree(formula = class ~ pelvInc + pelvTilt + lumbLord + SacrSl + 5 pelvRad + degrS, data = vercol) 6Variables actually used in tree construction: 7[1] "degrS" "SacrSl" "pelvRad" "pelvTilt" "pelvInc" 8Number of terminal nodes: 13 9Residual mean deviance: 0.4035 = 119.8 / 297 10Misclassification error rate: 0.08387 = 26 / 310

t2ではエラーが発生します。

R

1> summary(t2) 2Error in y - frame$yval[object$where] : 3 non-numeric argument to binary operator

vercolデータは、下記の通り。310 obs。class, class2にはDH,SL,NOの三項があります。

head(vercol)

pelvInc pelvTilt lumbLord SacrSl pelvRad degrS class class2
1 63.03 22.55 39.61 40.48 98.67 -0.25 DH DH
2 39.06 10.06 25.02 29.00 114.41 4.56 DH DH
3 68.83 22.22 50.09 46.61 105.99 -3.53 DH DH
4 69.30 24.65 44.31 44.64 101.87 11.21 DH DH
5 49.71 9.65 28.32 40.06 108.17 7.92 DH DH
6 40.25 13.92 25.12 26.33 130.33 2.23 DH DH

*関連質問:下記も同じ原因によるエラーと思われます。
分類木分析で”NAs introduced by coercion” エラー発生

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問