аргумент ошибки «df1» отсутствует, по умолчанию нет

#r

Вопрос:

моя подруга работает с языком r и спросила меня, что она сделала не так, я, кажется, не могу найти проблему. кто — нибудь знает, что это такое?

код, который она мне прислала:

 # 10*. Pipe that to a ggplot command and create a histogram with 4 bins. 
# Hint: you will NOT write ggplot(df, aes(...)) because the df is already piped in. 
# Instead, just write: ggplot(aes(...)) etc.
# Title the histogram, "Distribution of Sunday tips for bills over $20"
# Feel free to style the plot (not required; this would be a typical exploratory
# analysis where only you will see it, so it doesn't have to be perfect).
df %>%
  filter(total_bill > 20 amp; day == "Sun") %>%
  ggplot(aes(x=total_bill, fill=size))  
    geom_histogram(bins=4)  
    ggtitle("Distribution of Sunday tips for bills over $20")
 

ошибка:

 Error in df(.) : argument "df1" is missing, with no default
 

Комментарии:

1. Привет, не могли бы вы предоставить минимальный образец данных, чтобы мы могли выполнить код? Тогда легче помочь. Кроме того, загружали ли вы ggplot2 и dplyr до этого фрагмента кода?

Ответ №1:

Введите ?df в консоли, и вы увидите, что df это функция со следующим аргументом.

 df(x, df1, df2, ncp, log = FALSE)
 

где df1 есть аргумент. Таким образом, в сообщении об ошибке говорится, что R не может найти первый аргумент для df функции.

Похоже, что в этом примере кода ваш друг пытается поместить фрейм данных, вызываемый df в filter функцию из dplyr пакета, и ggplot функцию из ggplot2 пакета для создания графика.

Поэтому я предполагаю, что вашему другу нужно определить df как фрейм данных. В противном случае R подумает df , что это функция, и продолжит выдавать ошибку.

Кстати, поскольку df это определенная функция в R, это неподходящее название для фрейма данных. Однако люди df все время используют в качестве имени фрейм данных. В следующий раз попробуйте использовать другое имя, например dat , для имени фрейма данных.