So let's pick a staple column, Dairy products:

You'll see that the mean goes from 245-568 as income goes from <$5k to >$70k. The amount spent rises, but the share of income goes down from 1.0 to .6.

Fresh fruits and vegetables on the other hand price out differently, with a share of almost a constant .6.

As I'm sure you know, fresh vegetables from a cheap neighborhood grocer (that may have questionable origin and freshness) are cheaper than hand cared for organic vegetables at Whole Foods, kept in environmentally controlled and frequently moisturized bins. They aren't the same product, and have large price disparity, but a product is available at every income bracket where the price takes up the same share of income.

For milk, this isn't necessarily true. As an example from my local area, a gallon of 2% milk at Walmart is $2.69 while at my local high-end grocery it's $3.39. About a 25% price difference. However, the demographic likely to buy at Walmart vs. likely to buy at my high-end grocer is going to have an income disparity much larger than that percentage. So for poor people, milk costs more because the floor price of milk can't get low enough to make up such a small share of poor people's income.

There's other phenomenon too. Have you ever gone into a Walmart and notice the aisle of nothing but sample/travel sized hygiene products? It's not because Walmart shoppers are more likely to travel, that aisle exists for people who can't afford the percentage of their income to buy the full product -- even if it's far cheaper per use. You'll find these kinds of packaged items more and more as you go down the local income scale.

The equation a poor person is trying to solve is this: do I pay $3 for milk and get calories for a week, or do I pay $3 for a full bottle of shampoo? Food is more important than hair, so milk it is. I've been at income levels where $3 really does matter.

Or have you ever looked at a pack of gum or cigarettes or a six-pack of beer and seen "not for individual resale"? This label exists because of the phenomenon in poor areas of stores breaking up packaged items and selling them individually at a markup. You may have been to a store in a bad part of town where the beer section has six-packs and maybe a couple single bottles/cans. Now imagine a store where everything is single bottles/cans, and the brands are ones you've never even heard of, and because they only sell to the bottom of them market (we're not talking about a craft beer store here). Oh and they also can't call themselves beer because they aren't, their a "malt beverage". And when you go to check out you interact with the clerk behind bullet proof glass.

Here's another one, if you are poor, you are less likely to have good credit, meaning you either won't have a credit card, or will have one with a high interest rate. If you are poor, your credit card will have a low rate, and even better you'll get value back for using it. This means the cost of borrowing, even for a short period, is far lower at higher income levels both because the interest is lower but also because of the value you get back (e.g. I get a check back for a few hundred dollars every year from my American Express card just because I use it, when I was poor I had a credit card that not only had 20% interest, it penalized you for paying it back early, and I had to pay $100/year for the privilege of having the card)

I still have weird habits from that time in my life. When I go to hotels I take all the shampoo and soap home even though I have no problems buying decent shampoo. It drives my wife nuts, but I feel weird leaving behind "free" items knowing that each one would be $1-$1.29 each at the store.