Як виправити в r: dim(x) має мати позитивну довжину
Помилка, з якою ви можете зіткнутися в R:
Error in apply(df$var1, 2, mean): dim(X) must have a positive length
Ця помилка виникає, коли ви намагаєтеся використати функцію apply() для обчислення метрики для стовпця кадру даних або матриці, надаючи вектор як аргумент замість кадру даних або матриці.
Цей посібник пояснює, як саме виправити цю помилку.
Як відтворити помилку
Припустимо, що ми маємо наступний кадр даних у R:
#create data frame
df <- data. frame (points=c(99, 97, 104, 79, 84, 88, 91, 99),
rebounds=c(34, 40, 41, 38, 29, 30, 22, 25),
blocks=c(12, 8, 8, 7, 8, 11, 6, 7))
#view data frame
df
points rebound blocks
1 99 34 12
2 97 40 8
3 104 41 8
4 79 38 7
5 84 29 8
6 88 30 11
7 91 22 6
8 99 25 7
Тепер припустімо, що ми спробуємо використати функцію apply() для обчислення середнього значення в стовпці «балів»:
#attempt to calculate mean of 'points' column
apply(df$points, 2, mean)
Error in apply(df$points, 2, mean): dim(X) must have a positive length
Помилка виникає через те, що функцію apply() потрібно застосувати до кадру даних або матриці, але в цьому прикладі ми намагаємося застосувати її до певного стовпця у кадрі даних.
Як виправити помилку
Щоб виправити цю помилку, просто надайте назву кадру даних функції apply() наступним чином:
#calculate mean of every column in data frame
apply(df, 2, mean)
points rebound blocks
92,625 32,375 8,375
З результату ми можемо побачити середнє значення кожного стовпця у кадрі даних. Наприклад, середнє значення стовпця «бали» становить 92 625 .
Ми також можемо використовувати цю функцію, щоб знайти лише середнє значення певних значень у кадрі даних:
#calculate mean of 'points' and 'blocks' column in data frame
apply(df[c(' points ', ' blocks ')], 2, mean)
point blocks
92,625 8,375
Нарешті, якщо ми хочемо знайти середнє значення одного стовпця, ми можемо використати функцію Mean() взагалі без використання функції apply() :
#calculate mean of 'points' column
mean(df$points)
[1] 92,625
Додаткові ресурси
У наступних посібниках пояснюється, як вирішити інші поширені помилки в R:
Як виправити в R: імена не збігаються з попередніми іменами
Як виправити в R: довжина довшого об’єкта не є кратною довжині коротшого об’єкта
Як виправити в R: контрасти можна застосовувати лише до факторів із 2 або більше рівнями