我正在使用RStudio版本1.1.456,该版本正在运行R版本3.5.1。我在Windows 7 Enterprise(64位)上运行。我正在使用huxtable软件包版本4.3.0。
当试图将huxtable编织成word文档时,我试图改变它的各个方面。我发现很多选项(例如right_padding,left_padding,width或col_width)似乎对word文档中的表格格式没有任何影响,或者当我直接在RStudio控制台。
此外,align函数似乎没有在“监听”。我试图将第一列左对齐:
ht1 <- as_hux(table(other_cei_data$location))
caption(ht1) <- "Where is your institution located?"
ht1[1,1] <- "Location" ## add proper col names
ht1[1,2] <- "Frequency"
align(ht1)[,1] <- 'left'
ht1
当我在RStudio控制台中使用此代码时,这很好。
但是当我编织到Word文档时,第一列居中对齐。
当我输入参数'center'和'right'时,列将按预期对齐。我还注意到,Word中表的默认设置是使第一列保持对齐,直到添加列名为止。如果我不添加任何列名,则默认设置为左对齐,但是无论我指定什么内容,该列始终为左对齐。
我也尝试过手动构建一个具有相同结果的hux表(下面的代码); 'right'和'center'可以正常工作,但是'left'是居中对齐的:
ht1b <-hux(Location = c("Elsewhere in Canada","Ontario","USA or International"),
Frequency = c(10,13,4),
add_colnames = TRUE)
align(ht1b)[,1] <- 'left'
ht1b
我不确定自己在做什么错,但是我希望有人可以提供帮助。我真的很希望能够使用huxtable,因为这似乎是RMarkdown报告中表的最佳选择,但是我发现自定义行为不符合预期。
在此先感谢您的帮助!
答案 0 :(得分:0)
要使用huxtable直接打印到Word,您需要最新的github版本(将为4.4.0):
public class WhitespaceRemoverListener implements TextWatcher {
private int start = 0;
private EditText editText;
public WhitespaceRemoverListener(EditText editText) {
this.editText = editText;
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
this.start = start;
}
@Override
public void afterTextChanged(Editable s) {
if (s.toString().contains(" ")) {
int current_start = start;
editText.setText(s.toString().replaceAll("\\s+", ""));
editText.setSelection(current_start);
}
}
}
然后您的计划应会生效。此刻,如果huxtable检测到它在word文档中,则会打印出一个markdown表。
另一种方法是手动转换为flextable:
devtools::install_github("hughjonesd/huxtable")
使用最新版本的flextable / legs软件包,它知道如何在Word中自动打印。