The type of anchor needed for your boat will vary depending on the size of your boat and more importantly, what type of bottom the river is made of.
To know what type of anchor you need for your boat, you need to have an idea of the river bottom. The most common way to know, without going down there and taking a look, is to look at the shoreline and if possible, by looking into the shallow water next to the shoreline at the bottom.
A good overall anchor for mixed bottom of smaller rocks, sand dirt would be a River Rocker Anchor, also known as a Columbia River Anchor. This type of anchor for your boat, combines weight and dig that uses the weight of the anchor when bottom conditions are a little on the softer or heavier side. An average weight for a boat between 18 and 20 foot, would be about 25 pounds. You can add 5 to 10 foot of chain to that to help the anchor lay down and add some weight to it.
If you are going to anchor in an area that has a softer bottom, like sand or silty dirt, the type of anchor for your boat would probably be a Fluke or Bruce type of anchor. They depend less on weight and more on the digging power to get under the bottom and the dig of the anchor will hold your boat.
You may find that the area you want to anchor in, has a very rocky bottom with lots of very large boulders or rock shelves. In this case, the type of anchor for your boat will NOT be the anchors mentioned above, as they will likely get stuck and you may end of leaving the anchor on the bottom of the river.
In this case, you may want an anchor without tines or flukes. They type of anchor for your boat in this case may be a pyramid anchor, which, as the name suggests, a pyramid shaped chunk of lead that depends on its weight and angular flat surfaces to lean up against the rocks enough to hold you in position.
The last and probably the most effective way to know what type of anchor you need for your boat, is to go out and look at what the other boats in the area are using for anchors in the place you want to anchor.