What is the difference between as.tibble(), as_data_frame(), and tbl_df()? : <p>I remember reading somewhere that <code>as.tibble()</code> is an <em>alias</em> for <code>as_data_frame()</code>, but I don't know what exactly an <em>alias</em> is in programming terminology. Is it similar to a wrapper?</p>

<p>So I guess my question probably comes down to the difference in possible usages between <code>tbl_df()</code> and <code>as_data_frame()</code>: what are the differences between them, if any?</p>

<p>More specifically, given a (non-tibble) data frame <code>df</code>, I often turn it into a tibble by using:</p>

<pre><code>df &lt;- tbl_df(df)
</code></pre>

<p>Wouldn't </p>

<pre><code>df &lt;- as_data_frame(df)
</code></pre>

<p>do the same thing? If so, are there other cases where the two functions <code>tbl_df()</code> and <code>as_data_frame()</code> can not be used interchangeably to get the same result?</p>

<p>The <a href="https://www.rdocumentation.org/packages/dplyr/versions/0.5.0/topics/tbl_df" rel="noreferrer">R documentation</a> says that</p>

<blockquote>
  <p><code>tbl_df()</code> forwards the argument to <code>as_data_frame()</code></p>
</blockquote>

<p>does that mean that <code>tbl_df()</code> is a wrapper or alias for <code>as_data_frame()</code>? R documentation doesn't seem to say anything about <code>as.tibble()</code> and I forgot where I read that it was an alias for <code>as_data_frame()</code>. Also, <a href="https://www.rdocumentation.org/packages/tibble/versions/1.2/topics/as_tibble" rel="noreferrer">apparently</a> <code>as_tibble()</code> is another alias for <code>as_data_frame()</code>.</p>

<p>If these four functions really are all the same function, what is the sense in giving one function four different names? Isn't that more confusing than helpful?</p>
