问题描述
我设法根据以下代码创建了一个 flextable。 opleiding1 到 4 中使用的数据看起来有点像这样:0,1,7,3,0
t7 <- data.frame(df$opleiding.1.[df$startvraag=="Ja"],df$opleiding.2.[df$startvraag=="Ja"],df$opleiding.3.[df$startvraag=="Ja"],df$opleiding.4.[df$startvraag=="Ja"]
)
t7 <- data.frame(aantal=(apply(t7,2,sum))) %>% round(digits = 0)
rownames(t7) <- c("hbo,universitair","mbo,vwo,havo","vmbo/mavo","onbekend")
t7
t7 <- xtable(t7)
ft7 <- t7 %>% xtable_to_flextable() %>%
fontsize(part = "header",size = 20) %>%
fontsize(part = "body",size = 18) %>%
align_text_col(align = "left") %>%
align_nottext_col(align = "center") %>%
width(width = 2.3) %>%
width(j = 1,width = 2.0) %>%
height_all(height = .5) %>%
border_inner(border = std_border) %>%
font(fontname = "Open Sans") %>%
color(part = "header",color = d) %>%
ft7
这给了我一个 flextable,除了显示的小数点 here 外,它和我想要的一样。我一直在寻找可能的解决方案,但似乎没有任何效果。将表转换为 flextable 时,似乎添加了小数点。当我运行前面的代码(在上面提到)时,它不会返回任何小数,如图here。希望有人能帮我解决这个问题。
解决方法
我认为这是因为您的 aantal
列的类型是 double,这意味着它包含 real 值。您可以在创建 data.frame 时将其类型更改为 integer。
试试这个
t7 <- data.frame(aantal=(apply(t7,2,sum))) %>%
round(digits = 0) %>%
mutate(aantal = as.integer(aantal))