R语言如何修复:longer object length is not a multiple of shorter object length

R语言如何修复:longer object length is not a multiple of shorter object length

在这篇文章中,我们将研究如何修复R编程语言中的 “较长对象长度不是较短对象长度的倍数 “错误。

这是一个由R编译器产生的警告信息。这个警告信息的完整形式在下面给出。

Warning message:
In vect1 + vect2 : 
longer object length is not a multiple of shorter object length

原因: 在R语言中,当我们试图对长度不等的向量做一些操作时,可能会出现这样的错误。

什么时候会出现这种错误

考虑到我们有两个向量vect1和vect2。两者分别包含5和4个元素。

# Define two vectors
vect1 <- c(6, 8, 12, 4, 15)
vect2 <- c(16, 27, 18, 9)

例子

现在让我们试着做减法并打印相应的数值。

# Define two vectors
vect1 <- c(6, 8, 12, 4, 15)
vect2 <- c(16, 27, 18, 9)
  
# Subtract and display result
vect1 - vect2

输出

R语言如何修复:longer object length is not a multiple of shorter object length

错误

对输出的解释

输出显示了每个向量中相应数值的差异。我们收到警告信息是因为这两个向量的长度不相等。请注意,R编译器使用vect1的最后一个元素和vect2的第一个元素之间的差值。因此,我们会说这些值是以一种非常循环的形式重复的。

当我们不知道向量的特定长度时。那么,最好是事先测试一下向量的长度。在R语言中,我们有length()函数,用来确定向量中存在的元素数量。

如何解决这个错误

我们必须确保我们要处理的向量的长度必须相同。例如,在上面的源代码中,vector2比vect1短一个长度。因此我们可以在vect2的末尾插入0。

例子

# Define two vectors
vect1 <- c(6, 8, 12, 4, 15)
vect2 <- c(16, 27, 18, 9)
  
# Insert a zero
vect2 <- c(vect2, 0)
  
# Subtract and display result
vect1 - vect2

输出

R语言如何修复:longer object length is not a multiple of shorter object length

输出

正如你在输出中看到的,这次程序编译成功,没有出现任何警告信息。

例子

这里,我们只是用R语言中的length()函数来打印所提供的两个向量的长度。

# Define two vectors
vect1 <- c(6, 8, 12, 4, 15)
vect2 <- c(16, 27, 18, 9)
  
# Print the length of vect1
print("length of vect1 is: ")
length(vect1)
  
# Print the length of vect2
print("length of vect2 is: ")
length(vect2)

输出

R语言如何修复:longer object length is not a multiple of shorter object length

输出

例子

如果两个向量的长度相差很大,那么我们可以使用一个for-loop,在较短的向量的末尾加上那些许多0。

# Define two vectors
vect1 <- c(6, 8, 12, 4, 15)
vect2 <- c(16)
  
# Insert zeros to the end of vector vect2
for(i in ((length(vect2)+1):length(vect1)))
  +{vect2 = c(vect2, 0)}
  
# Subtract and display result
vect1 - vect2

输出

R语言如何修复:longer object length is not a multiple of shorter object length

输出

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程