27

R でエラーが発生しました。

    Error in names(x) <- value : 
      'names' attribute must be the same length as the vector

このエラーはどういう意味ですか?

4

8 に答える 8

23

@Chris W の精神で、発生している正確なエラーを再現してみてください。例は役に立ちましたが、おそらくあなたはやっています:

  x <- c(1,2)
  y <- c("a","b","c")
  names(x) <- y

Error in names(x) <- y : 
  'names' attribute [3] must be the same length as the vector [2]

x名前のベクトル ( ) よりも短いベクトル ( ) に名前を付けようとしていると思われますy

于 2012-05-13T00:08:53.310 に答える
3

ループで何をしているのかによっては、%in%演算子がベクトルを返すという事実が問題になる可能性があります。簡単な例を考えてみましょう。

c1 <- c("one","two","three","more","more")
c2 <- c("seven","five","three")

if(c1%in%c2) {
    print("hello")
}

次に、次の警告が発行されます。

Warning message:
In if (c1 %in% c2) { :
  the condition has length > 1 and only the first element will be used

ifステートメント内の何かが特定の数の要素に依存していて、それらが一致しない場合は、表示されるエラーを取得することができます。

于 2012-05-12T19:19:05.870 に答える
1

私はそのようなエラーを見て、それを解決しました。データセットに欠損値がある可能性があります。すべての列の観測数も同じでなければなりません。

于 2016-03-25T01:12:22.267 に答える