Как исправить: ошибка в stripchart.default(x1, …): неверный метод построения графика


Одна ошибка, с которой вы можете столкнуться в R:

Error in stripchart.default(x1, ...) : invalid plotting method

Эта ошибка обычно возникает при попытке создать точечную диаграмму с использованием фрейма данных вместо вектора.

В этом руководстве рассказывается, как именно исправить эту ошибку.

Как воспроизвести ошибку

Предположим, у нас есть следующий фрейм данных в R:

#create data frame
df <- data.frame(x=c(1, 2, 2, 4, 7, 8, 9),
 y=c(5, 5, 8, 10, 13, 13, 18))

#view data frame
df

 x y
1 1 5
2 2 5
3 2 8
4 4 10
5 7 13
6 8 13
7 9 18

Теперь предположим, что мы пытаемся использовать следующий синтаксис для создания точечной диаграммы:

#attempt to create scatter plot
plot(df[1], df[2])

Error in stripchart.default(x1, ...) : invalid plotting method

Мы получаем ошибку, потому что и df[1] , и df[2] на самом деле являются фреймами данных, а функция plot() принимает только векторы в качестве входных данных.

Мы можем использовать функцию class() , чтобы убедиться, что df[1] и df[2] являются фреймами данных:

#display class of df[1] and df[2]
class(df[1]);class(df[2])

[1] "data.frame"
[1] "data.frame"

Как исправить ошибку

Способ исправить эту ошибку — убедиться, что мы используем векторы в качестве входных данных для функции plot() .

Например, мы можем использовать следующий синтаксис для создания точечной диаграммы:

#create scatter plot
plot(df[, 1], df[, 2])

Или мы могли бы использовать следующий синтаксис для создания точечной диаграммы:

#create scatter plot
plot(df$x, df$y)

Обратите внимание, что мы можем создать точечную диаграмму, используя любой из этих методов, без каких-либо ошибок, потому что мы каждый раз использовали векторы в качестве входных данных для функции plot() .

Дополнительные ресурсы

В следующих руководствах объясняется, как устранять другие распространенные ошибки в R:

Как исправить в R: имена не совпадают с предыдущими именами
Как исправить в R: более длинная длина объекта не кратна более короткой длине объекта
Как исправить в R: контрасты могут применяться только к факторам с 2 или более уровнями