我使用R markdown来创建一个html文档。我编写了一个函数,生成以下数据框作为输出:
using System.Web.Mvc;
namespace MyAreaTest
{
public class MyAreaRegistration : AreaRegistration
{
public override string AreaName
{
get { return "MyArea"; }
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Area_default",
"MyArea/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
}
然后我将此数据框提供给htmlTable,如下所示:
April ($) April Growth (%) Current ($) Current Growth (%) Change (%)
1 2013:3 253,963.49 0.2 251,771.20 0.7 -0.9
2 2013:4 253,466.09 -0.8 251,515.26 -0.4 -0.8
3 2014:1 255,448.95 3.2 255,300.10 6.2 -0.1
4 2014:2 259,376.84 6.3 259,919.99 7.4 0.2
5 2014:3 261,398.85 3.2 262,486.91 4.0 0.4
6 2014:4 264,309.06 4.5 266,662.59 6.5 0.9
然而,当我编织文件时,我生成了下表:
任何人都可以解释发生了什么吗?我想也许这是数据框中的数据类,但我没有看到htmlTable插图中的任何内容说它无法处理某些类的数据。 这是我第一次使用R Markdown和htmlTables,所以我希望我犯了一些基本的错误,但我还没能找到其他有同样问题的人。
答案 0 :(得分:1)
感谢本杰明提出的建议。事实证明问题是数据类。 sample.df包含类因子的数据,显然htmlTable无法处理。通过将数据转换为字符,可以生成正确的表。
sample.df[] <- lapply(sample.df, as.character)
也许更熟悉这个包的人可以解释为什么因素是个问题?
我知道这会像这样基本的东西!