Как исправить в r: ошибка в aggregate.data.frame(): аргументы должны иметь одинаковую длину


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

 Error in aggregate.data.frame(as.data.frame(x), ...): 
  arguments must have same length 

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

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

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

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

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C'),
                 points=c(5, 9, 12, 14, 14, 13, 10, 6, 15, 18))

#view data frame
df

   team points
1 to 5
2 to 9
3 to 12
4 to 14
5 to 14
6 B 13
7 B 10
8 B 6
9 C 15
10 C 18

Теперь предположим, что мы пытаемся использовать функцию Aggregate() для расчета среднего значения баллов , сгруппированного по командам :

 #attempt to calculate mean points value by team
aggregate(df$points, list(' team '), FUN=mean)

Error in aggregate.data.frame(as.data.frame(x), ...): 
  arguments must have same length

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

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

Чтобы исправить эту ошибку, просто используйте df$team вместо просто «team» в аргументе list() :

 #calculate mean points value by team
aggregate(df$points, list(df$team), FUN=mean)

  Group.1 x
1 A 10.800000
2 B 9.666667
3 C 16.500000

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

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *