Как исправить ошибку в R: неправильное количество измерений


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

Error in x[, 3] : incorrect number of dimensions

Эта ошибка возникает, когда вы пытаетесь разделить какой-либо объект в R на большее количество измерений, чем имеет сам объект.

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

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

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

#define vector
x <- c(3, 4, 7, 7, 14, 19, 22, 28, 29, 30)

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

#attempt to access value in first row and third column
x[ , 3]

Error in x[, 3] : incorrect number of dimensions

#attempt to access value in third row and first column
x[3, ]

Error in x[3, ] : incorrect number of dimensions

Мы получаем ошибку, потому что мы попытались выполнить подмножество по двум измерениям, когда вектор имеет только одно измерение.

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

Самый простой способ исправить эту ошибку — просто создать подмножество по одному измерению. Например, вот как получить доступ к третьему значению в векторе:

#access third value in vector
x[3]

[1] 7

Мы также можем получить доступ к нескольким значениям в векторе одновременно. Например, вот как получить доступ к значениям в позициях со 2 по 5 в векторе:

#access values in positions 2 through 5
x[2:5]

[1] 4 7 7 14

Поскольку мы подмножаем только одно измерение, мы избегаем ошибки неправильного количества измерений .

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

Как исправить в R: NA, представленные Coercion
Как исправить в R: нижний индекс выходит за пределы
Как исправить в R: более длинная длина объекта не кратна более короткой длине объекта
Как исправить в R: количество элементов для замены не кратно длине замены

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.