Как исправить: ошибка в 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
xy
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 scatterplot
plot(df[, 1], df[, 2])
Или мы могли бы использовать следующий синтаксис для создания диаграммы рассеяния:
#create scatterplot
plot(df$x, df$y)
Обратите внимание, что мы можем создать диаграмму рассеяния, используя любой метод без каких-либо ошибок, поскольку мы каждый раз использовали векторы в качестве входных данных для функцииplot() .
Дополнительные ресурсы
В следующих руководствах объясняется, как устранить другие распространенные ошибки в R:
Как исправить в R: Имена не совпадают с предыдущими именами
Как исправить в R: длина более длинного объекта не кратна длине более короткого объекта
Как исправить в R: контрасты можно применять только к факторам с 2 и более уровнями