如何修复:xy.coords(x, y, xlabel, ylabel, log) 中的错误:“x”和“y”长度不同
在 R 中您可能遇到的一个常见错误是:
Error in xy.coords(x, y, xlabel, ylabel, log): 'x' and 'y' lengths differ
当您尝试创建两个变量的图但变量长度不同时,会出现此错误。
本教程准确解释了如何修复此错误。
如何重现错误
假设我们尝试在 R 中创建以下两个变量的散点图:
#define x and y variables x <- c(2, 5, 5, 8) y <- c(22, 28, 32, 35, 40, 41) #attempt to create scatterplot of x vs. y plot(x, y) Error in xy.coords(x, y, xlabel, ylabel, log): 'x' and 'y' lengths differ
我们收到错误,因为 x 和 y 的长度不相等。
我们可以通过打印每个变量的长度来确认这一点:
#print length of x length(x) [1] 4 #print length of y length(y) [1] 6 #check if length of x and y are equal length(x) == length(y) [1] FALSE
如何修复错误
修复此错误的最简单方法是简单地确保两个向量的长度相同:
#define x and y variables to have same length x <- c(2, 5, 5, 8, 9, 12) y <- c(22, 28, 32, 35, 40, 41) #confirm that x and y are the same length length(x) == length(y) [1] TRUE create scatterplot of x vs. y plot(x, y)
如果一个向量比另一个向量短,您可以选择仅绘制不超过较短向量长度的值。
例如,如果向量 xa 有 4 个值,向量 y 有 6 个值,我们可以仅使用每个向量的前 4 个值创建散点图:
#define x and y variables x <- c(2, 5, 5, 8) y <- c(22, 28, 32, 35, 40, 41) #create scatterplot of first 4 pairwise values of x vs. y plot(x, y[1: length (x)])
请注意,仅使用每个向量的前四个值来创建点云。