首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有字符值的Xtabs

具有字符值的Xtabs
EN

Stack Overflow用户
提问于 2018-04-11 14:56:18
回答 1查看 524关注 0票数 1

我正在用xtabs对一些表进行拟合,以便能够更好地用kable函数将它们转换为减价表。到目前为止,它对我来说非常有用,但是一旦我想创建一个包含字符值的表,就会收到以下消息:

代码语言:javascript
复制
Error in FUN(X[[i]], ...) : invalid 'type' (character) of argument

我想要转换的数据格式如下所示:

代码语言:javascript
复制
# A tibble: 6 x 4
# Groups:   CandidateType [2]
  CandidateType       Step   Amount  Pct
        <fctr>       <chr>   <dbl>  <chr>
1      External Applications 12567 100.0%
2      Internal Applications  1174 100.0%
3      External Interview     1204   9.6%
4      Internal Interview      541  46.1%
5      External Hiring         157   1.2%
6      Internal Hiring         198  16.9%

当我执行以下操作时,所有的计算结果都很好,因为总量变量是一个数值类变量:

代码语言:javascript
复制
inExQ1DFtbl <- xtabs(Amount ~ CandidateType + Step, inExQ1DF)

kable(inExQ1DFtbl, caption = "Q1 2018")

然而,每当我试图运行几乎完全相同的代码时,我都会得到错误代码,但使用的是Pct而不是Amount:

代码语言:javascript
复制
inExQ1DFtbl <- xtabs(Pct ~ CandidateType + Step, inExQ1DF)
Error in FUN(X[[i]], ...) : invalid 'type' (character) of argument

有没有人对此有快速的解决办法,或者有其他的解决方案?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-11 15:03:32

你可以用data.tabletableHTML

代码语言:javascript
复制
library(data.table)
library(tableHTML)

首先,使用dcast()将数据从长转换到宽,然后使用tableHTML创建一个HTML表。

代码语言:javascript
复制
dcast(inExQ1DF,
      CandidateType ~ Step,
      value.var = "Pct") %>% 
  tableHTML(rownames = FALSE,
            caption = "Q1 2018",
            theme = 'scientific')

其结果是:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49778390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档