You're nearly there: first I'd use the correct table format in the second column, i.e. 5.7 instead of 5.4; second hiding the \$ from siunitx by putting it into braces should do the trick:
Code: Select all
\documentclass{article}
\usepackage{array,siunitx}
\begin{document}
\begin{tabular*}{\linewidth-15pt}{@{ }l@{\extracolsep{\fill}}S[table-format=5.7,table-space-text-pre={\$}]S[table-format=3.7,table-space-text-pre={\$}]@{ }}
\hline
\multicolumn{1}{c}{Variable} & \multicolumn{1}{c}{Weighted mean} & \multicolumn{1}{c}{Standard error} \\ \hline
Poverty in county & 11.01646 & .3431699 \\
Median family income & {\$} 45041.39 & {\$}728.0975 \\
Income ratio & .8478574 & .0106983 \\\hline
\end{tabular*}
\end{document}
BTW: I noticed that the table produces a overfull \hbox (15pt with the article class or 11pt with the scrartcl class). This seems to be an error with the tabular* environment, since this
Code: Select all
\begin{tabular*}{\linewidth}{c}
A
\end{tabular*}
gives the same overfull \hbox.
That is why I used "\linewidth-15pt" in the example above.
Best