你在使用R时可能遇到的一个错误是:
Error in plot.window(...) : need finite 'xlim' values
当你试图在R中创建一个绘图,并在X轴上使用字符向量或只有NA值的向量时,这个错误就会发生。
下面的例子显示了在实践中可能发生这种错误的两种不同情况。
例1:字符向量的错误
假设我们试图用下面的代码来创建一个散点图:
#define data
x <- c('A', 'B', 'C', 'D', 'E', 'F')
y <- c(3, 6, 7, 8, 14, 19)
#attempt to create scatterplot
plot(x, y)
Error in plot.window(...) : need finite 'xlim' values
我们收到一个错误,因为我们用于X轴数值的向量是一个字符向量。
为了解决这个错误,我们只需要为X轴提供一个数字向量:
#define two numeric vectors
x <- c(1, 2, 3, 4, 5, 6)
y <- c(3, 6, 7, 8, 14, 19)
#create scatterplot
plot(x, y)

因为我们为x轴提供了一个数字向量,所以我们能够创建散点图而没有任何错误。
例子 2: 含有NA值的矢量的错误
假设我们试图用下面的代码来创建一个散点图:
#define data
x <- c(NA, NA, NA, NA, NA, NA)
y <- c(3, 6, 7, 8, 14, 19)
#attempt to create scatterplot
plot(x, y)
Error in plot.window(...) : need finite 'xlim' values
我们收到了一个错误,因为我们用于X轴数值的向量是一个只有NA值的向量。
为了解决这个错误,我们只需要为x轴提供一个数字向量:
#define two numeric vectors
x <- c(1, 5, 9, 13, 19, 22)
y <- c(3, 6, 7, 8, 14, 19)
#create scatterplot
plot(x, y)

再一次,我们能够成功地创建一个散点图,而且没有任何错误,因为我们为x轴使用了一个数字矢量。
其他资源
下面的教程解释了如何修复R中的其他常见错误: