我注意到各种功能对dplyr使用的类tbl_df
反应不佳。我不知道如何预测何时会出现问题以及什么时候出现问题。转换为本机R数据帧总能解决问题,但这很烦人。有没有比根据需要转换为原生R数据帧更好的方法?
我的最新示例是使用xtable
包:
> library(dplyr)
> library(nycflights13)
> library(xtable)
dplyr使用的 tbl_df
:
> flights
Source: local data frame [336,776 x 16]
year month day dep_time dep_delay arr_time arr_delay carrier tailnum flight origin dest air_time distance hour minute
1 2013 1 1 517 2 830 11 UA N14228 1545 EWR IAH 227 1400 5 17
2 2013 1 1 533 4 850 20 UA N24211 1714 LGA IAH 227 1416 5 33
3 2013 1 1 542 2 923 33 AA N619AA 1141 JFK MIA 160 1089 5 42
4 2013 1 1 544 -1 1004 -18 B6 N804JB 725 JFK BQN 183 1576 5 44
5 2013 1 1 554 -6 812 -25 DL N668DN 461 LGA ATL 116 762 5 54
6 2013 1 1 554 -4 740 12 UA N39463 1696 EWR ORD 150 719 5 54
7 2013 1 1 555 -5 913 19 B6 N516JB 507 EWR FLL 158 1065 5 55
8 2013 1 1 557 -3 709 -14 EV N829AS 5708 LGA IAD 53 229 5 57
9 2013 1 1 557 -3 838 -8 B6 N593JB 79 JFK MCO 140 944 5 57
10 2013 1 1 558 -2 753 8 AA N3ALAA 301 LGA ORD 138 733 5 58
.. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
xtable
失败:
> xtable(flights %>% head)
Error in .subset2(x, i, exact = exact) : subscript out of bounds
转换xtable
之后很好:
> xtable(flights %>% head %>% data.frame)
% latex table generated in R 3.1.1 by xtable 1.7-3 package
% Fri Jan 16 08:53:55 2015
\begin{table}[ht]
\centering
\begin{tabular}{rrrrrrrrllrllrrrr}
\hline
& year & month & day & dep\_time & dep\_delay & arr\_time & arr\_delay & carrier & tailnum & flight & origin & dest & air\_time & distance & hour & minute \\
\hline
1 & 2013 & 1 & 1 & 517 & 2.00 & 830 & 11.00 & UA & N14228 & 1545 & EWR & IAH & 227.00 & 1400.00 & 5.00 & 17.00 \\
2 & 2013 & 1 & 1 & 533 & 4.00 & 850 & 20.00 & UA & N24211 & 1714 & LGA & IAH & 227.00 & 1416.00 & 5.00 & 33.00 \\
3 & 2013 & 1 & 1 & 542 & 2.00 & 923 & 33.00 & AA & N619AA & 1141 & JFK & MIA & 160.00 & 1089.00 & 5.00 & 42.00 \\
4 & 2013 & 1 & 1 & 544 & -1.00 & 1004 & -18.00 & B6 & N804JB & 725 & JFK & BQN & 183.00 & 1576.00 & 5.00 & 44.00 \\
5 & 2013 & 1 & 1 & 554 & -6.00 & 812 & -25.00 & DL & N668DN & 461 & LGA & ATL & 116.00 & 762.00 & 5.00 & 54.00 \\
6 & 2013 & 1 & 1 & 554 & -4.00 & 740 & 12.00 & UA & N39463 & 1696 & EWR & ORD & 150.00 & 719.00 & 5.00 & 54.00 \\
\hline
\end{tabular}
\end{table}
我使用的是dplyr 0.3.0.2。
答案 0 :(得分:1)
这似乎不再是dplyr版本0.4.1(已经发布)的问题。