R语言如何修复:Arguments imply differing number of rows

R语言如何修复:Arguments imply differing number of rows

在这篇文章中,我们将看到如何在R编程语言中修复意味着不同行数的参数。

我们在R语言中可能遇到的一个错误是。

arguments imply differing number of rows: 6, 5

当我们试图创建一个数据框,并且数据框中每一列的行数不一致时,编译器会产生这样的错误。

当这个错误可能发生时

让我们试着用四向量在R中创建一个数据框。

# Define vectors
data1 <- c(4, 8, 13, 14, 15, 18)
data2 <- c(2, 4, 5, 17, 15)
data3 <- c(10, 21, 22, 7, 4, 6)
data4 <- c(43, 23, 27, 87, 34, 16)
  
# Try to create data frame with vectors 
# as columns
df <- data.frame(data1=data1, data2=data2,
                 data3=data3, data4=data4)
Bash

输出

R语言如何修复:Arguments imply differing number of rows

编译器产生这样的错误是因为使用的向量的长度不一样。因此,列中的行数也不相同。我们也可以通过打印向量的长度来交叉检查。

# Define vectors
data1 <- c(4, 8, 13, 14, 15, 18)
data2 <- c(2, 4, 5, 17, 15)
data3 <- c(10, 21, 22, 7, 4, 6)
data4 <- c(43, 23, 27, 87, 34, 16)
  
# Print the length
length(data1)
length(data2)
length(data3)
length(data4)
Bash

输出

R语言如何修复:Arguments imply differing number of rows

在输出中我们可以看到data1, data3, data4的长度等于6,但data2的长度等于5。

如何修复这个错误

这个错误很容易解决,只要记住每个向量必须有样本长度,这样最终数据框架中的每一列就会有相应的行数。例如,我们可以用NA值填充最短的向量,这样每个向量就有相同的长度。

# Define vectors
data1 <- c(4, 8, 13, 14, 15, 18)
data2 <- c(2, 4, 5, 17, 15)
data3 <- c(10, 21, 22, 7, 4, 6)
data4 <- c(43, 23, 27, 87, 34, 16)
  
# Configure the shortest vector with NA's
# to have same length as longest vector
length(data2) <- length(data1)
  
# Try to create data frame with vectors
# as columns
df <- data.frame(data1=data1, data2=data2, 
                 data3=data3, data4=data4)
Bash

输出

R语言如何修复:Arguments imply differing number of rows

这次程序编译成功了,因为数据框架中每一列的行数都是一样的。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册