Обратите внимание, что ваш график, созданный из Задачи 4, показывает квадратичное или искривленное отношение между log_wages против exp .Следующая задача - построить три квадратичных функции для каждого уровня расы: «черный», «белый» и «другой».Чтобы оценить квадратичное соответствие, вы можете использовать следующую функцию quad_fit :
```{r}
quad_fit <- function(data_sub) {
return(lm(log_wage~exp+I(exp^2),data=data_sub)$coefficients)
}
quad_fit(salary_data)
```
Вышеприведенная функция вычисляет квадратичное соответствие наименьших квадратов и возвращает коэффициенты a1, a2, a3, где
Y (шляпа) = a1 + a2x + a3x ^ 2
, где Y (шляпа) = журнал (заработная плата) и x = exp
Использование ggplot , чтобы выполнить эту задачу или использовать базовую графику R для частичного кредита.Не забудьте включить легенду и соответствующие метки.
Моя попытка
blackfit <- quad_fit(salary_data[salary_data$race == "black",])
whitefit <- quad_fit(salary_data[salary_data$race == "white",])
otherfit <- quad_fit(salary_data[salary_data$race == "other",])
yblack <- blackfit[1] + blackfit[2]*salary_data$exp + blackfit[3]*(salary_data$exp)^2
ywhite <- whitefit[1] + whitefit[2]*salary_data$exp + whitefit[3]*(salary_data$exp)^2
yother <- otherfit[1] + otherfit[2]*salary_data$exp + otherfit[3]*(salary_data$exp)^2
soloblack <- salary_data[salary_data$race == "black",]
solowhite <- salary_data[salary_data$race == "white",]
soloother <- salary_data[salary_data$race == "other",]
ggplot(data = soloblack) +
geom_point(aes(x = exp, y = log_wage)) +
stat_smooth(aes(y = log_wage, x = exp), formula = y ~ yblack)
Это только первая попытка для данных, отфильтрованных с помощью для гонки == "черный".Мне непонятно, как должна выглядеть формула, потому что через функцию quad_fit кажется, что она уже делает вычисления за вас.