首页 文章

'names'属性必须与向量的长度相同

提问于
浏览
12

坚持R中的错误

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

这个错误是什么意思?

5 回答

  • 11

    本着@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]
    

    我怀疑你试图给一个比你的名字矢量( y )短的矢量( x )命名 .

  • 0

    根据你在循环中所做的事情, %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语句中的某些内容依赖于特定数量的元素,并且它们不匹配,则可能会获得您看到的错误

  • 0

    我看到了这样的错误,我解决了它 . 您的数据集中可能缺少值 . 每列中的观察数量也必须相同 .

  • 0

    我犯了这个错误的错误是试图重命名我不再在SQL中选择的循环中的列 . 这也可能是由于您尝试在计划选择的列中执行相同操作而导致的 . 确保您尝试更改的列实际存在 .

  • 1

    我想通过以下示例解释错误:

    名称(镜头)[1]“X1..1..1..1..1..3”名称(镜头)= c(“ID”,“年龄”,“视线”,“散光”,“撕裂“,”类“)名称(镜头)中的错误= c(”ID“,”年龄“,”视线“,”散光“,”撕裂“,:”名称“属性[6]的长度必须与向量[1]

    由于许多属性不匹配而发生错误 . 我只有一个,但试图添加6个名字 . 在这种情况下,会发生错误 . 请参阅下面正确的::::: >>>>

    名称(镜头)= c(“ID”)名称(镜头)[1]“ID”

    现在没有错误 .

    我希望这个能帮上忙!

相关问题