我不确定这是否是发布此帖子的正确论坛,但是我注意到R中的flextable
包有一些奇怪的行为,并且想知道是否有人可以阐明这一点。
在flextable
的{{3}}中,它显示了将对象重新分配给自己时正在修改的对象,例如:
ft <- regulartable(head(iris))
ft <- color(ft, color = "orange", part = "body" )
但是,我的代码仅使用管道%>%
修改了实际表,甚至没有重新分配它:
myft <- regulartable(head(iris))
myft %>% align(j = 1, align = "left")
myft # changed
我认为管道不是问题,因为它与其他软件包的效果不同,例如:
library(plyr)
df <- head(iris)
df %>% mutate(Sum=Sepal.Width*2)
df # unchanged
这是flextable
中的错误吗?还是这是设计使然?
答案 0 :(得分:1)
的确,您可以在不分配对象的情况下更改格式。但这不是您可以依靠的行为。这是不想要的设计;),应在下一版本中进行更正,这样,如果您希望代码与将来的版本一起使用,则分配结果将更加安全。