President Obama has dismissed suggestions that he is responsible for the rise of Republican presidential front-runner Donald Trump.
"I have been blamed by Republicans for a lot of things but being blamed for who they are selecting for their party is novel," he said at a welcome for Canada's Prime Minister Justin Trudeau.
Mr Obama said he aimed to unify the US.
Meanwhile a man is reportedly facing assault charges for attacking a protester at a Trump rally.
The 78-year-old attacked a demonstrator being removed from the event in Fayetteville in North Carolina on Wednesday, US media reported.
Senior Republicans have urged supporters not to vote for Mr Trump.
Mr Obama's remarks came after he was asked by a reporter whether his administration was to blame for the increasing polarisation in US politics.
He blamed Republican elites and right wing media for feeding the Republican base "a notion that everything I do is to be opposed, that co-operation or compromise somehow is a betrayal".
"What you're seeing in the Republican Party is all those efforts over the course of time creating an environment where someone like a Donald Trump can survive. He's just doing more of what's been done over the past seven-and-a-half years," Mr Obama said.
On Tuesday Mr Trump won primaries in three more states and called for the Republican Party to unite behind him after a week of stinging criticism from party leaders.
"Instead of fighting it, they should embrace it," he said.
But Mr Obama said that although Mr Trump was known for his "provocative" comments, his policies on issues such as immigration were not that different from those of his presidential rivals Ted Cruz and Marco Rubio.