No.22358 ベクトルが作れない  【課長】 2017/05/26(Fri) 05:02

Rでベクトルを作ろうと思ったら,次のようなメッセージが出てしまいます。

> x<-c(1,1,1,1,1,1)
c(1, 1, 1, 1, 1, 1) でエラー:
6 個の引数が 'exp' に渡されましたが,1 が必要とされています

どうして急にベクトルが作れなくなったのか,ご教示いただければ幸いです。

No.22359 Re: ベクトルが作れない  【青木繁伸】 2017/05/26(Fri) 11:35

どこかで,c という関数を再定義してしまったのではないでしょうか。

コンソールに c と入力して
> c
function (...) .Primitive("c")
以外のものが表示されるようならば,確認の上で,
> rm(c)
と入力して,その再定義されたものを消去すればよいでしょう。

No.22363 Re: ベクトルが作れない  【課長】 2017/05/26(Fri) 20:53

青木先生のおっしゃる通りでした。なぜかCに関数が定義されていました。そしてご指導通りにしたらなおりました。ありがとうございます

No.22364 Re: ベクトルが作れない  【課長】 2017/05/26(Fri) 22:49

青木先生の言われるとおりにしたらなおったのですが,Rを再起動するとまたcに謎の関数が定義されてしまいます。これはどうしたら直るかご教示いただけませんか。

> c
function (x) .Primitive("exp")

が毎回出ます。

No.22365 Re: ベクトルが作れない  【青木繁伸】 2017/05/27(Sat) 07:00

R を起動してすぐに rm(c) をしたあと,quit(save="yes") でワークスペースを保存して R を終了してください。
そのあと R を再起動すると c の定義は永久になくなると思います。
もしそれでもなくならないなら,実行されるファイルのどこかに c <- exp というような c を再定義する箇所がないか捜してください。
なお,蛇足ですが,c を exp のような関数ではなく定数を代入しても,c 関数は置き換えられません。
> c <- 1
> c(9, 3, 1)
[1] 9 3 1

No.22369 Re: ベクトルが作れない  【課長】 2017/05/27(Sat) 21:14

ありがとうございます,青木先生!
おっしゃるとおりにいたしましたところ,直りました。
また,勉強にもなりました。
心より感謝いたします。
今後ともよろしくお願いいたします・

● 「統計学関連なんでもあり」の過去ログ--- 048 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る